Назначение скрипта 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
Другие вопросы по тегам