Есть функция. В ней есть цикл. В нем прописаны некие условия + вынесена отдельно функция WaitColor.
Мне необходимо чтобы помимо всей этой структуры срабатывало еще одно из этих 4 условий. Просто срабатывало независимо от первой части кода. Грубо говоря: Появился пиксель в нужном месте, совершили клик - необходимо строго исполнить это условие
Я заметил что эти условия работают после исполнения функции WaitColor, но когда через WaitColor ожидается цвет - эти 4 условия не исполнятся. По отдельности, работает и то и другое. Но как мне быть с этими 4 мя условиями? Мне их необходимо описать в код таким образом чтобы один из них просто срабатывал при описанном условии (вся программа должна работать до тех пор, пока я не остановлю ее). Помогите пожалуйста, как можно сформировать из этого 1 рабочий код? Есть ли в Autoit функция типа:(Выполнять не смотря ни на что)? :-\
Код:
Func Start()
While 1 ; <= начало цикла
$1 = PixelSearch(272,159,365,190,0xFF0000)
If IsArray($1) = True Then
$11 = PixelSearch(526,165,537,177,0xFF0000)
If IsArray($11) = True Then
MouseClick("left", 841, 635, 1, 0)
WaitColor(0x00FF00)
MouseClick("left", 925, 618, 1, 0)
EndIf
EndIf
$2 = PixelSearch(272,159,365,190,0x00FF00)
If IsArray($2) = True Then
$22 = PixelSearch(526,165,537,177,0x00FF00)
If IsArray($22) = True Then
MouseClick("left", 925, 618, 1, 0)
WaitColor(0xFF0000)
MouseClick("left", 841, 635, 1, 0)
EndIf
EndIf
WEnd ; <= конец цикла
EndFunc
Func WaitColor($Color)
Do
PixelSearch(526,165,537,177, $Color)
Until Not @error
EndFunc
Мне необходимо чтобы помимо всей этой структуры срабатывало еще одно из этих 4 условий. Просто срабатывало независимо от первой части кода. Грубо говоря: Появился пиксель в нужном месте, совершили клик - необходимо строго исполнить это условие
Код:
$close = PixelSearch(1220, 327, 1248, 351,0xCCCCCC)
If IsArray($close) = True Then
Sleep(400)
MouseClick("left", 1195, 479, 1, 0)
Sleep(400)
EndIf
$eror = PixelSearch(797, 500, 851, 519, 0x404040)
If IsArray($eror) = True Then
MouseClick("left", 1150, 479, 1, 0)
EndIf
$ok = PixelSearch(690, 510, 1185, 591,0x0084FF)
If IsArray($ok) = True Then
$posok = PixelSearch(690, 510, 1185, 591, 0x0084FF)
If IsArray($posok) = True Then
MouseMove($posok[0], $posok[1], 1)
MouseClick("left")
Sleep(30)
EndIf
EndIf
Я заметил что эти условия работают после исполнения функции WaitColor, но когда через WaitColor ожидается цвет - эти 4 условия не исполнятся. По отдельности, работает и то и другое. Но как мне быть с этими 4 мя условиями? Мне их необходимо описать в код таким образом чтобы один из них просто срабатывал при описанном условии (вся программа должна работать до тех пор, пока я не остановлю ее). Помогите пожалуйста, как можно сформировать из этого 1 рабочий код? Есть ли в Autoit функция типа:(Выполнять не смотря ни на что)? :-\