立即中止Lua脚本Logitech GHUB“;“打开释放按钮”;

立即中止Lua脚本Logitech GHUB“;“打开释放按钮”;,lua,logitech,logitech-gaming-software,Lua,Logitech,Logitech Gaming Software,嘿,伙计们,我最近开始尝试为罗技GHUB编写一些简单的Lua脚本。 我终于让它们按我喜欢的方式工作了,但我对这一个有点麻烦。当我释放鼠标5时,它不会立即停止,而是继续执行脚本直到结束。但是,如果我释放鼠标5,我希望它立即停止。我该怎么做 function OnEvent(event, arg) if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then repeat Sleep(40) PressMouseButt

嘿,伙计们,我最近开始尝试为罗技GHUB编写一些简单的Lua脚本。 我终于让它们按我喜欢的方式工作了,但我对这一个有点麻烦。当我释放鼠标5时,它不会立即停止,而是继续执行脚本直到结束。但是,如果我释放鼠标5,我希望它立即停止。我该怎么做

function OnEvent(event, arg)
  if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
    repeat
      Sleep(40)
      PressMouseButton(1)
      Sleep(1150)
      ReleaseMouseButton(1)
    until not IsMouseButtonPressed(5)
  end
end

感谢您的帮助:-)

嘿,它工作正常,但我希望在释放按钮时脚本立即停止。现在它将继续执行到最后。例如,如果我释放按钮5,它将继续拍摄…这就像一个charme!非常感谢你帮我解决这个问题!!!!哦,顺便说一句。你知道我怎么能把它放到鼠标7键上吗?因为它不会识别“IsMouseButtonPressed(7)”,因为我认为只有1-5个这样工作…@PeterLustig-你可以制作一个循环宏(用于按下和释放LMB),在按钮7上运行这个宏,在按钮7释放时中止这个宏。我如何制作一个在释放时中止的宏?@PeterLustig-
如果事件==”鼠标按下和arg==7,然后PlayMacro(“你的宏名”)结束;如果event==“鼠标按钮释放”且arg==7,则AbortMacro();释放鼠标按钮(1)结束
function OnEvent(event, arg)
  if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
    repeat
      Sleep(40)
      PressMouseButton(1)
      local tm = GetRunningTime()
      local exiting
      repeat
        Sleep(50)
        exiting = not IsMouseButtonPressed(5)
      until exiting or GetRunningTime() - tm > 1150
      ReleaseMouseButton(1)
    until exiting
  end
end