Назначение скрипта Lua кнопке - Logitech G500s
У меня есть маленький макрос для Logitech G500s - я использую его в играх FPS, чтобы уменьшить отдачу. Пожалуйста, смотрите скрипт ниже:
EnablePrimaryMouseButtonEvents(true)
function OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
repeat
MoveMouseRelative(-1,2)
Sleep(16)
until not IsMouseButtonPressed(1)
end
end
Проблема в том, что этот скрипт работает постоянно. Я бы предпочел нажать другую кнопку 1, чтобы начать использовать скрипт на кнопке 2, и повторно нажать кнопку 1, чтобы сломать скрипт
Я пытался установить флаги, такие как:
unction OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == 6 then --set flag for mb1
mb1_pressed = true
elseif event == "MOUSE_BUTTON_RELEASED" and arg == 6 then --set flag for mb1=false
mb1_pressed = false
end
If mb1_pressed then
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and then
repeat
MoveMouseRelative(-1,2)
Sleep(16)
until not IsMouseButtonPressed(1)
end
end
Но это не работает. Не могли бы вы мне помочь?
1 ответ
Решение
if event == "MOUSE_BUTTON_PRESSED" and arg == 6 then --set flag for mb1
mb1_pressed = true
elseif event == "MOUSE_BUTTON_RELEASED" and arg == 6 then --set flag for mb1=false
mb1_pressed = false
end
Это установит mb1_pressed
когда кнопка мыши нажата и сбросить ее, когда она отпущена. Таким образом, переменная будет истинна, пока кнопка нажата.
Если вы хотите переключить mb1_pressed
значение на каждом нажатии, вы можете сделать что-то вроде
if event == "MOUSE_BUTTON_PRESSED" and arg == 6 then --toggle flag for mb1
mb1_pressed = not mb1_pressed
end