Тема: AHK: Таймер в скрипте.
Имеется задумка, сделать скрипт, осуществляющий возможность выполнения различных действий, при нажатии одной и той-же клавиши. При этом, в этом скрипте должен присутствовать "таймер возврата". Попытаюсь максимально понятно изложить идею на примерах :
Пример 1
1. нажата клавиша N 1й раз - выполняется действие №1
2. запустился таймер (для примера 5 секунд) - по истечении времени таймера, цикл должен вернуться в начало
3. прошло 3 секунды
4. нажата клавиша N 2й раз - выполняется действие №2
Время таймера не истекло, скрипт продолжил выполняться.
Пример 2:
1. нажата клавиша N 1й раз - выполняется действие №1
2. запустился таймер (для примера 5 секунд) - по истечении времени таймера, цикл должен вернуться в начало
3. прошло 7 секунд
4. нажата клавиша N 2й раз - выполняется действие №1
Время таймера истекло, произошел возврат в начало скрипта.
Вот до чего додумался я:
1. Выполнения различных действий, при нажатии одной и той-же клавиши - работает отлично.
Space::
++count
if count = 1
MsgBox Выполняется действие №1
else if count = 2
MsgBox Выполняется действие №2
else if count = 3
MsgBox Выполняется действие №3
else {
MsgBox пробел нажат более трёх раз, начинаем сначала
count := 0
}
return
2. Выполнения различных действий, при нажатии одной и той-же клавиши + таймер возврата - не работает.
Space::
++count
if count = 1
gosub, 1
else if count = 2
gosub, 2
else if count = 3
gosub, 3
else {
MsgBox пробел нажат более трёх раз, начинаем сначала
count := 0
}
return
1:
KeyWait, vk20, D5
if ErrorLevel
MsgBox Выполняется действие №1
else if ErrorLevel = 1
reload
return
2:
KeyWait, vk20, D5
if ErrorLevel
MsgBox Выполняется действие №2
else if ErrorLevel = 1
reload
return
3:
KeyWait, vk20, D5
if ErrorLevel
MsgBox Выполняется действие №3
else if ErrorLevel = 1
reload
return

