【发布时间】:2021-11-25 20:58:07
【问题描述】:
function OnEvent(event, arg)
OutputLogMessage("event = %s, arg = %d\n", event, arg)
if event == "PROFILE_ACTIVATED" then
EnablePrimaryMouseButtonEvents(true)
elseif event == "PROFILE_DEACTIVATED" then
ReleaseMouseButton(2) -- to prevent it from being stuck on
elseif event == "MOUSE_BUTTON_PRESSED"
and (arg == 5 or arg == 4) then
recoil = recoil ~= arg and arg
elseif event == "MOUSE_BUTTON_PRESSED"
and arg == 1 and recoil == 5 then
MoveMouseRelative(0, -3)
for i = 1, 17 do
MoveMouseRelative(0, 2)
Sleep(15)
if not IsMouseButtonPressed(1) then return end
end
elseif event == "MOUSE_BUTTON_PRESSED"
and arg == 1 and recoil == 4 then
MoveMouseRelative(0, -3)
for i = 1, 35 do
Sleep(15)
MoveMouseRelative(0, 2)
if not IsMouseButtonPressed(1) then return end
end
if not IsMouseButtonPressed(1) then return end
end
end
这是 Lua 脚本,我想知道如何获得鼠标初始位置,然后返回初始位置。
我尝试在脚本底部添加 MoveMousePosition(x,y)- (32767, 32767 ) 但在游戏中不起作用。仅在桌面上..
我只想在 MoveMouseRelative 之后释放鼠标单击以返回中心或第一个位置。
【问题讨论】:
-
@Egor Skriptunoff - 请帮助我,我知道你是这些 lua 问题的专家。
-
我仍然对你的格式化感到头晕,但我认为这里的主要问题是你不能在相对模式下设置绝对位置(例如游戏)。是这样吗?如果是,只需使用
MoveMouseRelative并撤消您的移动。所以对于你的第一个脚本MoveMouseRelative(0, 3 - 17 * 2) -
我之前试过这个,但如果我只是使用水龙头开火——比如按下 2 秒,它会比我想要从撤销位置的那一刻上升得更快。如果我想按住比我不能因为 MoveMouseRelative(0, 3 - 17 * 2) 将在“for statement”结束后开始。我需要在这个脚本中介绍当点击在记录位置时以及当点击被释放以返回该位置时,我想在两个脚本中添加它。无论如何感谢撤消信息,我会考虑将来使用撤消语句制作一个
-
我想我明白了。跟踪总移动位置。例如。在调用
MoveMouseRelative之后增加MouseMovedY或其他东西(也许引入一个同时做这两个功能的函数)。然后,每当您想重置时,使用存储的值并将其重置为 0(基本上是您的undo())。 -
我明白你说的,但你能举个例子吗?我是初学者,当鼠标在 Y 轴上移动时,我需要一些变量来获得 +1,而不是 IsMouseButtonPressed(1) 返回第一个位置?
标签: lua logitech-gaming-software