为什么我的罗技LUA代码不起作用?

最近有人帮我修复了我的罗技自动点击脚本中的代码错误,而罗技ghub似乎认为代码已经是可用的了,但是每次我尝试使用它时,我最多只能得到一个点击,而不是每20-80毫秒点击一次左键时的效果。 提前感谢任何能帮助我的人。

代码如下:

EnablePrimaryMouseButtonEvents(true);
function OnEvent(event,arg)
    if IsKeyLockOn("capslock") then
        if IsMouseButtonPressed(3) then
            repeat
                if IsMouseButtonPressed(1) then
                    repeat
                        PressAndReleaseMouseButton(1)
                        Sleep(math.random(20,60))
                    until not IsMouseButtonPressed(1)
                end
            until not IsMouseButtonPressed(3)
        end
    end
end

原文链接 https://stackoverflow.com/questions/69600596

点赞
stackoverflow用户17215928
stackoverflow用户17215928

你的代码正常运行; 只要大写锁定被启用,右键和左键一直按住不放,它就会继续按你所设定的随机等待时间进行点击。然而,它只点击一次的原因是因为会调用“Press And RELEASE”函数,意味着左键在该调用后不再按住,这会中断循环。试着改为只有右键按住时再执行该代码就可以了。

EnablePrimaryMouseButtonEvents(true);
function OnEvent(event,arg)
    if IsKeyLockOn("capslock") then
        if IsMouseButtonPressed(3) then
            repeat
              PressAndReleaseMouseButton(1)
              Sleep(math.random(20,60))
            until not IsMouseButtonPressed(3)
        end
    end
end
2021-10-22 02:57:14
stackoverflow用户1847592
stackoverflow用户1847592

你不能同时模拟 LMB 按下并监听其状态。

最简单的解决方案是在游戏中将射击绑定到另一个按键,而不是 LMB。

假设你已经将 P 键绑定为射击。

function OnEvent(event, arg)
   if event == "PROFILE_ACTIVATED" then
      EnablePrimaryMouseButtonEvents(true)
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
      if IsKeyLockOn("capslock") and IsMouseButtonPressed(3) then
         repeat
            PressKey("P")
            Sleep(math.random(20,60))
            ReleaseKey("P")
            Sleep(math.random(20,60))
         until not IsMouseButtonPressed(1)
      end
   end
end
2021-10-26 15:03:18