Logitech鼠标的简单代码中的Lua错误

时间:2019-04-09 10:37:37

标签: lua logitech-gaming-software

我正在尝试为Logitech鼠标制作一个脚本: 当我对准游戏鼠标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.5s

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

2 个答案:

答案 0 :(得分:2)

  

第8行出现错误(sleep(1))

否,错误在第9行。 这是LGS中的错误:例如,第一行中的错误将显示为“#0”行,等等。

  

i = 1000000000

这是您的实际错误。
将其替换为i==1000000000

在Lua中,单个=用于分配,双==用于相等性测试。

答案 1 :(得分:0)

只需添加一些其他信息:

代替

if IsMouseButtonPressed(1) then
  repeat
    MoveMouseRelative(0,1)
    Sleep(33)
  until not IsMouseButtonPressed(1)
end

您可以简单地写

while IsMouseButtonPressed(1) do
  MoveMouseRelative(0,1)
  Sleep(33)
end