Lua 在为罗技鼠标编写简单代码时出现错误

我正试图编写一个用于罗技鼠标的脚本,这个脚本可以实现以下功能: 当我在游戏中瞄准并按下射击键时,鼠标会迅速向下移动约0.5秒,然后在松开射击键之前,鼠标会以较慢的速度向下移动。 代码:

第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.5秒快速响应

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
点赞
用户6834680
用户6834680

错误在第8行(sleep(1))。

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

i = 1000000000

这是您的实际错误。

i == 1000000000替换它。

在Lua中,单个等号“=`”用于赋值,双等号“==”用于相等测试。

2019-04-09 10:54:47
用户2858170
用户2858170

只是添加一些额外的信息:

而不是

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
2019-04-09 11:08:55