Video: Bài 6: Macro chuột & bàn phím
Mở trên YouTube ↗🎬 Macro Chuột & Phím (macro_play)
Nhóm palette: Hành động · type: macro_play · cổng: Xong (0) · Lỗi (1)
Mục đích
Ghi lại chuỗi chuột/phím thật, phát lại. Phù hợp thao tác khó tách thành từng node (kéo phức tạp, combo).
SendInput — không PostMessageEngine restore cửa sổ rồi focus (trừ khi fullscreen). Input hiện SendInput / chuột hệ thống (
mode = "game" trong input_win32.py), không PostMessage. Đa luồng: click/gõ xếp hàng công bằng, không song song cùng lúc trên một chuột máy. Tọa độ: client cửa sổ đã chọn; fullscreen theo phạm vi màn (virtual/primary).Cách dùng
- Chọn target fullscreen hoặc exe (đã Chọn App + đúng size).
- Bấm Ghi → thao tác trên đúng màn/cửa sổ đó →
F12. - Test node. Speed 1.0 trước khi tăng.
Từng setting
| Ô trên Properties | Key | Mặc định | Ý nghĩa / cách dùng |
|---|---|---|---|
| Delay sau (ms) | delay_after_ms | 100 | Chờ thêm sau khi node chạy xong rồi mới sang node kế. Dùng để UI kịp hiện, ảnh kịp load. Không có ở node note, end, delay_random, start. |
| Đối tượng ghi/phát | target | fullscreen | fullscreen = tọa độ desktop tuyệt đối; exe = tọa độ client cửa sổ đã Chọn App (ghi/phát cùng hệ, không lệch random). Giá trị cũ screen → fullscreen. |
| Tốc độ phát (x) | speed | 1.0 | 2 = nhanh gấp đôi; 0.5 = chậm hơn. |
| Dữ liệu Macro (JSON) | macro_data | [] | Mảng event. Thường không sửa tay. |
Ví dụ thực tế
- A. Kéo thả inventory — target=
exe, ghi drag item. - B. Vẽ / hold skill — Giữ chuột 2s — node Click không hold lâu tùy ý; Macro giữ đúng thời lượng đã ghi (nhân
speed).
Lưu ý
Ghi (F12 dừng)Nút 🔴 Bắt đầu Ghi ghi vào
macro_data. Đang ghi: bấm nút hoặc F12. Phát: play_macro(..., hwnd=ctx.hwnd). Lỗi JSON / phát → cổng Lỗi.- Ghi fullscreen rồi phát khi taskbar/DPI khác → lệch.
- Đa luồng +
exe: mỗi hwnd phát relative — cửa sổ phải cùng size. - Chuột máy bị chiếm trong lúc phát (SendInput).
- Không ghi được “click ngầm” (hidden click).
- Không dùng macro dài thay cả bot — khó bảo trì, dễ gãy khi UI lệch.
Xem thêm: Click ảnh (tách prototype)