【发布时间】:2013-01-01 12:49:50
【问题描述】:
所以我有了我的第一个支持宏的键盘 (Logitech 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
问题在于它似乎没有在所需的时间内休眠,并且似乎在随机触发。如果我启动多个计时器,脚本会完全崩溃并随机触发,直到我重新启动计算机。
【问题讨论】:
-
我想知道它是否可以支持多个计时器,或者设计用于如此大的延迟,文档是否提供了最大等待的详细信息? sleep 是键盘的自定义功能,而不是标准的 lua 功能,因此您可能还想在专家论坛上提问,因为那里有几个帖子表明 sleep 功能的准确性存在问题。
-
不幸的是,Lalarm 一次只允许一个计时器,我需要能够有几个。我很遗憾无法理解其他人的指示,但我想我会尝试教育自己。很抱歉这次碰上。
-
我可以建议研究有一个 C 应用程序来监视 G 键被按下,然后启动一个计时器功能。我唯一不确定的是他们提到“应用程序必须具有焦点才能使轮询工作”。这可能意味着如果您的单独应用程序在全屏游戏之外运行,则它不会运行。我还没有编写任何代码,但我稍后会使用 C# 进行研究。