Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Николясик on February 20, 2018, 04:28:44 PM

Title: Пока sub1 на таймере - выполнять sub2
Post by: Николясик on February 20, 2018, 04:28:44 PM
Здравствуйте!

Помогите плиз, как сделать пока у sub(1) идет таймер паузы, то срабатывал sub(2) до тех пор пока у sub(1) не пройдет время таймера, затем sub(2) останавливался пока sub(1) опять не встанет на паузу

SUB(1)
LCLICK(621,732)
WAIT(600)
LCLICK(621,732)
END_IF
END_SUB

SUB(time2)
LCLICK(657,604)
WAIT(5)
LCLICK(657,604)
END_IF
END_SUB

1()
wait(1)
2()
Title: Re: Пока sub1 на таймере - выполнять sub2
Post by: Oraven on February 20, 2018, 05:38:18 PM
Зачем там END_IF? Это ошибка. Не стоит писать имена подпрограмм цифрами.
Плахой пример, у тебя в "sub(2)" задержка на 5 секунд, а задержка после "sub(1)" на одну секунду.
Зачем вообще тут подпрограммы.

Code: (clickermann) [Select]
IF($time < $_ms) // это условие сможет выполниться снова минимум через секунду
   LCLICK(621,732)
   WAIT(600)
   LCLICK(621,732)
   WAITMS(50)
   $time = $_ms + 1000
END_IF

LCLICK(657,604)
WAIT(5)
LCLICK(657,604)
WAITMS(50)
Title: Re: Пока sub1 на таймере - выполнять sub2
Post by: Николясик on February 21, 2018, 12:25:27 AM
Это как пример( просто не углядел стирая лишний код), я имел ввиду - как только sub(1) входит в ожидание wait(600) то нужно чтобы включался sub(2) и останавливался как только у sub(1) кончится wait(600) и так далее
Title: Re: Пока sub1 на таймере - выполнять sub2
Post by: Oraven on February 21, 2018, 08:41:49 AM
Это как пример( просто не углядел стирая лишний код), я имел ввиду - как только sub(1) входит в ожидание wait(600) то нужно чтобы включался sub(2) и останавливался как только у sub(1) кончится wait(600) и так далее

Только через поток

Code: (clickermann) [Select]
THREAD(time2, 0)
   WAIT(0)
   LCLICK(657,604)
   WAIT(5)
   LCLICK(657,604)
   WAITMS(50)
END_THREAD

SUB(prog1)
   LCLICK(621,732)
   SETTHREAD (time2, 1) // запускаем поток time2
   WAIT(600)
   SETTHREAD (time2, 2) // останавливаем поток time2
   LCLICK(621,732)
   WAITMS(50)
END_SUB

prog1()