我开始学习如何通过罗技软件使用 Lua 脚本编写不同的游戏配置文件。
首先我尝试使用 onevent (我知道它不是很高级)并创建了这个攻击组合脚本
function OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then --set flag for mb1
mb1_pressed = true
elseif event == "MOUSE_BUTTON_RELEASED" and arg == 1 then --set flag for mb1=false
mb1_pressed = false
end
end
if mb1_pressed then --using flags to determine whether to start attack or not
repeat
presskey("A")
Sleep(50)
releasekey("A")
Sleep(100)
--if MB1 is release, it will also break script. if i only tap mb1, this will only execute the first line of attack without the rest below
if not (**argument**, can be MB1/ismouse1) then break end
presskey("S")
Sleep(50)
releasekey("")
Sleep(120)
presskey("A")
Sleep(50)
releasekey("A")
Sleep(200)
if not (**argument**, can be MB1/ismouse1) then break end --if MB1 is release, it will also break script. this point will prevent script from looping from start if mb1 release
until not (**argument**, i use ismouse1) --end the loop of script
end
所以我试图将它绑定到我的 logiech 鼠标的 G6 按钮(使用 mouse_button_press == 6)使用 MB6 设置标志有效,但结束循环/中断循环不能由 MB6 触发
经过罗技支持的SDK/Lua论坛的一些研究,似乎我的脚本有问题
- 脚本执行循环序列时,标志不能用作/检测为参数
- IsMouseButtonPressed(读取windows keypress)可以在地方或参数中使用
- Windows 仅检测 MB1-5,因此无法绑定到 G6(注册为第 6 个按钮)
我读到使用 couroutine.yield() 或轮询可用于停止循环中的重复脚本。但是我在网上找不到适合初学者的教程。
对不起这个noobish问题!