【发布时间】:2019-08-30 15:09:13
【问题描述】:
我正在尝试为罗技鼠标制作一个脚本: 当我瞄准游戏鼠标 3 并按下火键时,鼠标会快速下降约 0.5 秒,其余时间直到我释放火键 1 时它才会慢下来。 代码:
第 8 行错误(sleep(1))
function OnEvent(event, arg)
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
i=1
repeat
i= i + 1
MoveMouseRelative(0,1)
Sleep(1)
until i=1000000000 or (not IsMouseButtonPressed(1))
if IsMouseButtonPressed(3)then
repeat
MoveMouseRelative(0,1)
Sleep(33)
until not IsMouseButtonPressed(1)
end
end
until not IsMouseButtonPressed(3)
end
end
这可行,但在开始时响应速度提高了 0.5 秒
function OnEvent(event, arg)
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
MoveMouseRelative(0,1)
Sleep(33)
until not IsMouseButtonPressed(1)
end
until not IsMouseButtonPressed(3)
end
end
【问题讨论】:
-
好吧,这不是普通的 Lua。因此,您需要提供更多信息。而且还不清楚您到底想做什么以及遇到什么样的错误。
-
熟悉一下while语句。
-
只需一步一步地检查您的代码并检查发生了什么。我不知道罗技鼠标到底是如何工作的,但我怀疑它们是否可以延迟 1 纳秒,或者如果一个脚本已经处于活动状态,它们如何处理事件。据我所知,只要您按住 MB3,您的脚本就可以正常工作并慢慢向下移动鼠标。一旦你按下 MB1,它就会开始以 34 倍的速度移动它,似乎是 1 000 000 000(毫秒?~ 300 小时),或者直到它被释放。
-
@IcedLance 你在哪里看到纳秒延迟?
-
我假设直到 i=1000000000 代表 0.5 秒延迟,这意味着 Sleep(1) 应该持续半纳秒。
标签: lua logitech-gaming-software