Тема: AHK: Синхронная работа двух циклов
Есть такой код:
;F3 посылает "1-5" с рандомной задержкой
F3::
For k, v in [1, 2, 3, 4, 5]
{
SendNumFn := Func("SendNum").Bind(v)
SetTimer % SendNumFn, % "-" rnd(1, 100)
}
SendNum(n) {
Send % n
}
rnd(min, max) {
random, ran, min, max
return ran
}
return
;F1 начинает спамить "8" каждые 300 мс
F1::
{
SendInput, {8}
sleep, 300
}
GoTo, F1
return
;F2 Перезагружает скрипт
F2::Reload
return
Задача зациклить F3 пробовал делать так:
F3::
For k, v in [1, 2, 3, 4, 5]
{
SendNumFn := Func("SendNum").Bind(v)
SetTimer % SendNumFn, % "-" rnd(1, 100)
}
SendNum(n) {
Send % n
}
rnd(min, max) {
random, ran, min, max
return ran
}
return
sleep, 5000
GoTo, F3
Но скрипт работает не корректно, 8-ка спамится но 1-5 нет.