Скрипт Logitech Lua

Я пытаюсь запустить этот скрипт на моей мыши logitech. Я хочу, чтобы курсор мыши переместился вниз, это происходит, но через некоторое время, когда курсор перемещается вниз, он меняет направление.

Кто-нибудь знает почему?

function X4()
local mult= 11
  if IsMouseButtonPressed(1)then 
    repeat 
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 12*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
    until not IsMouseButtonPressed(1) 
end
end

person Malemna    schedule 26.05.2021    source источник


Ответы (1)


Имитация движения мыши должна быть в разумных пределах.
Очень нереально, что человек может перемещать курсор мыши быстрее 100 пикселей за 10 мс.

MoveMouseRelative принимает только целые числа из диапазона -127..127
В вашем случае 16*mult = 16*11 = 176 > 127
Значения выше 127 могут интерпретироваться как отрицательные значения.

person Egor Skriptunoff    schedule 26.05.2021