Предотвращение событий кликов из очереди

Как следует из заголовка, мне нужен способ предотвратить возникновение очередей щелчков при выполнении трудоемких действий после первоначального щелчка. Если я нажму, пока выполняется код с первого клика, щелчок будет ждать своей очереди и выполнит весь этот код заново после его завершения. Я вижу способы сделать это на других языках здесь, но я не смог ничего найти на LUA. Следующий код показывает пример неудачной попытки справиться с этим. Если это имеет значение, то это через скрипты на Logitech Gaming Software, которая использует LUA.

if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
    if Setting == 1 and Ready == 1 then
        Ready = 0
        Sleep(1000) -- This represents any series of commands with Sleep
        Ready = 1
    end
end

РЕДАКТИРОВАТЬ: Таким образом, я действительно понял это для себя на случай, если это может помочь кому-то еще. Вместо того, чтобы использовать переключатель Ready, я использовал следующее, что отлично сработало для меня.

if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
    if Setting == 1 then
        EnablePrimaryMouseButtonEvents(false)
        Sleep(1000) -- This represents any series of commands with Sleep
        EnablePrimaryMouseButtonEvents(true)
    end
end

0 ответов

Другие вопросы по тегам