所以我有了我的第一个支持宏的键盘(罗技G110),并希望将它用于我的游戏。然而,我的编程教育在C编程中途结束了。 我正在寻找一个非常简单的脚本的帮助,它为延迟的宏设置一个计时器,即我按下一个按钮,在N秒之后它会播放一个宏。这就是我所拥有的:
function OnEvent(event, arg)
if(event == "G_PRESSED" and arg == 6) then
Sleep(360000);
PlayMacro("Dragon");
end
if(event == "G_PRESSED" and arg == 5) then
Sleep(300000);
PlayMacro("Buff");
end
if(event == "G_PRESSED" and arg == 12) then
Sleep(420000);
PlayMacro(Nashor);
end
if(event == "G_PRESSED" and arg == 10) then
Sleep(300000);
PlayMacro(FlashHeal);
end
if(event == "G_PRESSED" and arg == 4) then
Sleep(210000);
PlayMacro(IgniteExhaust);
end
end
问题是它似乎没有睡觉所需的时间,似乎是随机射击。如果我启动多个计时器,脚本会完全崩溃并随机触发,直到我重新启动计算机。
答案 0 :(得分:0)
所以这根本不起作用,因为LUA不能同时进行多项行动。它将逐行运行代码。如果按下按钮,脚本将等待N秒,然后运行宏。然而,在这N秒内,它对任何其他输入完全没有响应。如果按下更多按钮,它们将简单地排在另一个按钮之后。因此,如果你一个接一个地按下两个按钮,脚本将等待N秒,然后执行宏,然后等待N秒,然后执行宏。没有(简单)方法在LUA本身拥有你想要的东西,但是因为你使用Logitech游戏软件(我推测)你可能只想在lua之外的宏中添加一个暂停。这确实有效。