罗技GHub Lua脚本求助:G1键控制鼠标重复动作脚本报错
罗技GHub脚本修复方案
原脚本问题分析
- 未初始化
script_running变量,首次触发G1键会报错 - 嵌套
repeat语句缺少对应until,语法不完整 - 拖拽与长按的逻辑流程混乱,不符合需求
修复后的脚本
-- 初始化开关变量 local script_running = false function OnEvent(event, arg) -- 监听G1键按下事件 if event == "G_PRESSED" and arg == 1 then script_running = not script_running if not script_running then -- 停止时确保释放鼠标左键 ReleaseMouseButton(1) return end -- 主循环:开关开启时重复执行 while script_running do -- 第一步:拖拽物品到目标位置后返回 MoveMouseTo(130, 250) Sleep(100) -- 等待鼠标移动到位 PressMouseButton(1) Sleep(100) -- 确保按住左键 MoveMouseTo(800, 850) Sleep(100) ReleaseMouseButton(1) Sleep(100) -- 返回原位置再次拖拽 MoveMouseTo(200, 250) Sleep(100) PressMouseButton(1) Sleep(100) MoveMouseTo(800, 850) Sleep(100) ReleaseMouseButton(1) Sleep(100) -- 按住鼠标左键5秒,休息1.5秒 PressMouseButton(1) Sleep(5000) ReleaseMouseButton(1) Sleep(1500) end end end
关键修复说明
- 初始化
script_running为false,避免未定义变量报错 - 用
while循环替代嵌套repeat-until,逻辑更清晰且避免语法错误 - 添加
Sleep(100)确保鼠标移动和按键操作执行完成,避免因系统响应慢导致操作失效 - 停止脚本时主动释放鼠标左键,防止左键一直处于按住状态
内容的提问来源于stack exchange,提问作者RTL
相关产品推荐
相关产品推荐

