Что нового

[Автоматизация] Две независимые функции в одном скрипте.

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Всем доброго времени суток. После того как бот наконец начал фарм в игре захотелось больше чем просто убийство и сбор дропа. Ведь у моего чара есть бафы, почему бы не использовать их в авт режиме?
И так, есть 2 функции:
Код:
Func _1()
   Send(1)
   Sleep(2000)
EndFunc


Func _2()
   Send(2)
   Sleep(20000)
EndFunc


Ну думаю вы поняли что за что и перейду к сути. Как зациклить их но при условии что бы они работали независимо друг от друга? Тоесть "1" жался после 2 секунд и вообще ни как не влиял на "2". То же самое с "2" он не должен вообще никак влиять на "1". Работать должны одновременно но не влияя друг на друга.
Код:
While 1
   _1() 
   _2()
WEnd

На большее не хватило знаний, а поиск не хочет просвещать без правильно оформленого запроса. Тут они работают по очереди.
Буду благодарен любой помощи.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Код:
Func _1()
   Send(1)
EndFunc

Func _2()
   Send(2)
EndFunc

$i = 0
While 1
   _1() 
   If Mod($i,10) = 0 Then _2()
   $i += 1
   Sleep(2000)
WEnd
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
Dima1337, Вы хотите, чтобы функция 1 выполнялась через 2 сек, а функция 2 выполнялась через 20, при этом, если вторая ждет 20 сек, то первая не тормозила???
Если да, то вот как я вижу решение Вашей проблемы:
Код:
Global $hTimer_1 = TimerInit(), $hTimer_2 = TimerInit()

While 1
_f1()
_f2()
Wend


Func _f1()
If TimerDiff($hTimer_1) < 2000 Then Return
$hTimer_1 = TimerInit()
; Ваш код
MsgBox(0,"2","Функция 1", 1)
EndFunc

Func _f2()
If TimerDiff($hTimer_2) < 20000 Then Return
$hTimer_2 = TimerInit()
; Ваш код
MsgBox(64,"20","Функция 2", 1)
EndFunc
 
Автор
Dima1337

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Спасибо всем ответившим, Astel064 ваш вариант оказался проще.
 
Верх