Предотвращение событий кликов из очереди
Как следует из заголовка, мне нужен способ предотвратить возникновение очередей щелчков при выполнении трудоемких действий после первоначального щелчка. Если я нажму, пока выполняется код с первого клика, щелчок будет ждать своей очереди и выполнит весь этот код заново после его завершения. Я вижу способы сделать это на других языках здесь, но я не смог ничего найти на 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