【发布时间】:2020-08-31 06:21:39
【问题描述】:
我想在 LUA 中为罗技鼠标制作一个简单的宏。 我完全是新手,我只是从几个来源粘贴了几行。
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsKeyLockOn("numlock" )then
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
PressKey("P")
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
ReleaseKey("P")
Sleep(200)
until not IsMouseButtonPressed(1)
end
until not IsMouseButtonPressed(3)
elseif not IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
PressKey("P")
MoveMouseRelative(0,15)
Sleep(30)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(130)
ReleaseKey("P")
Sleep(200)
until not IsMouseButtonPressed(1)
end
until IsMouseButtonPressed(3)
end
end
end
首先,它看起来像一团糟,但有点工作,对不起,我完全是新手。 现在我遇到的问题是;
我使用 numlock 来启用或禁用整个功能,因为我不知道如何使用单个 MouseButtonKey 打开和关闭它,它要么永远播放,要么我破坏了整个东西。 没关系,如果不是因为一个奇怪的错误,在我关闭数字锁定后我必须按 MouseButton 2 将其关闭。
我以为我想要实现的会很简单, 我想要 4 个功能:
Function 1 MoveMouseRelative repeated every ()ms
Function 2 MoveMouseRelative repeated every ()ms
Function 3 PressKey("P") repeated every ()ms
Function 4 PressKey("P") repeated every ()ms
然后把它结合起来 如果我按下 MouseButtonPressed(1),它会执行 Function 1+3,因此它会同时单击 P 并向下拖动鼠标,但具有不同的 sleep() 间隔,这些间隔将在单独的函数中说明 否则,如果我按下并 MouseButtonPressed(3)(Right click) + MouseButtonPressed(1) 它将执行 2+4 个功能,并且会在按住时重复,如果我释放按钮则停止重复。
这可能吗?我陷入了这段代码中,无法停止思考如何修复上周,但没有受过教育,只是猜测事情会如何发展,我碰上了我无法突破的墙。
非常感谢您的帮助。
【问题讨论】:
标签: lua mouse logitech logitech-gaming-software