Я хочу сделать простой макрос в LUA для мыши Logitech. Я полный новичок и просто склеил несколько строк из нескольких источников.
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsKeyLockOn("numlock" )then
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
PressKey("P")
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
MoveMouseRelative(0,13)
Sleep(10)
ReleaseKey("P")
Sleep(200)
until not IsMouseButtonPressed(1)
end
until not IsMouseButtonPressed(3)
elseif not IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
PressKey("P")
MoveMouseRelative(0,15)
Sleep(30)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(10)
MoveMouseRelative(0,12)
Sleep(130)
ReleaseKey("P")
Sleep(200)
until not IsMouseButtonPressed(1)
end
until IsMouseButtonPressed(3)
end
end
end
Во-первых, это похоже на беспорядок, но вроде работает, извините, я в этом полный новичок. Теперь проблемы, которые у меня возникают, в том, что;
Я использовал numlock, чтобы включить или отключить все это, потому что я не мог понять, как включить и выключить его с помощью одного MouseButtonKey, он либо играл вечно, либо я сломал все это. Это нормально, если бы не странная ошибка, когда после выключения numlock мне приходилось нажимать MouseButton 2, чтобы выключить его по какой-то причине.
Я думал, что то, чего я хочу достичь, будет очень простым, я хочу иметь 4 функции, которые;
Function 1 MoveMouseRelative repeated every ()ms
Function 2 MoveMouseRelative repeated every ()ms
Function 3 PressKey("P") repeated every ()ms
Function 4 PressKey("P") repeated every ()ms
И объедините это так: если я нажму MouseButtonPressed (1), он выполняет функцию 1 + 3, поэтому он одновременно нажимает P и перетаскивает мышь вниз, но с разными интервалами sleep (), которые будут указаны в отдельных функциях, а если я нажмите и MouseButtonPressed (3) (щелкните правой кнопкой мыши) + MouseButtonPressed (1) вместо этого он будет выполнять 2 + 4 функции и будет повторяться при удерживании и перестанет повторяться, если я отпущу кнопки.
Это вообще возможно? Я втянулся в этот код и не могу перестать думать, как исправить на прошлой неделе, но, не имея образования и просто догадываясь, как все закончится, я наткнулся на стену, которую не могу пробить.
Большое спасибо за любую помощь, если вообще.