Что нового

Выполнять скрипт пока не нажмется 8 раз

crabnagalere

Новичок
Сообщения
1
Репутация
0
Здравствуйте. У меня тут дичь-вопрос. Но раз уж зарегистрировался, то надо что-то написать..

Я как бы в этом деле не особо шарю. Так что ногами не бейте. Я ваще олько перед бабушкой чувствую свое преимущество в плане компуктера.

В общем, есть такой недоскрипт на распознавание картинки и жмяканья по ней правой кнопкой.. Если не находит картинку то жмякает в другое место
Второй день пытаюсь понять, как заставить его повторять этот скрипт пока не не жмякнет на найденую картинку 8 раз...
Получается только просто повторить его полностью 8 раз. неодупляю куда do until подписать или че ваще...
Заранее благодарочка и вкусных беляшей всем.

Код:
#include <ImageSearch.au3>

HotKeySet("{F9}","gamble")
HotKeySet("{F10}","Stop")
$i = 0
Local $x1 = 0, $y1 = 0


While 1
   Sleep(1000)
WEnd


Func gamble()
	  Do
		 start()
	  Until $i=8
EndFunc


Func Start()
    $result = _ImageSearch("Test.bmp",1,$x1,$y1,60) ;iWem
	if $result = 1 Then
	   buy()
	   retry()
	   Else
		retry()
		EndIf
		EndFunc


Func stop()
    Exit
 EndFunc   ;==>_exit


Func buy()
   MouseClick("right",$x1,$y1,1,1) ; TO WO NADO pokupaem!
   $i=$i+1
   EndFunc


Func retry()
   MouseClick("left", 370, 460) ;vse huynya, zakrivaem
   sleep(100)
   MouseClick("left", 453, 304) ;tik v torgawa
   Sleep(200)
   MouseClick("left", 454, 200) ;gmablebutt
   sleep (100)
   EndFunc

ps вроде разобрался. но чи шо пишите че где не так поправите )
 
Сообщения
142
Репутация
-3
Циклы к твоим услугам, а какой - тебе решать.
Код:
Global $i = 0
Global $iRetry = 8

Func gamble()
      While $i < $iRetry
         start()
         $i += 1
      Wend
EndFunc

Func gamble()
      For $i = 0 to $iRetry
         start()
      Next
EndFunc

Учти, что Global.

Твой же проверял, что $i = 8 после выполнения всего внутри цикла. Так как $i никогда равно 8, то он выполнял один раз.
 
Верх