У меня аналогичная проблема. Ну буду плодить новую тему.
Вот собственно сам скрипт
[spoiler]// https://yobit.net/en/freecoins/
//масштаб 50%
// сбор монет
//-----------
LCLICK(0,622) // 16448250
WAITMS(200)
KEYPRESS(#PAGEUP)
WAITMS ( RND (461,854))
WAITMS(200)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#0)
WAITMS (50)
KEYUP (#0)
KEYUP (#CTRL)
WAITMS(200)
FOR($a,$a < 4) // масштаб 50%
WAITMS(200)
KEYDOWN (#CTRL)
WAITMS (150)
KEYDOWN (189)
WAITMS (150)
KEYUP (189)
KEYUP (#CTRL)
WAITMS ( RND (361,540))
END_CYC
$a=0
WAITMS (500)
LCLICK(935,187) // вызываем капчу
WAITMS ( RND (461,854))
$dialog =DIALOGBOX("Продолжить действие", 4, 2)
WAITMS ( RND (461,854))
FOR($a,$a < 50) // повторяем
// сканируем страницу
WAITMS ( RND (61,154))
GETSCREEN
WAITMS ( RND (261,454))
SCANPICTURE($ARR_SCAN,828,111, 876,1038, "redy.bmp", -1, 75)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN)) // работаем кликами по найденным картинкам redy.bmp
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
LCLICK($X + (91+ rnd(-25,25)), $Y + rnd(-2,3))
WAITMS(600)
GETSCREEN // после каждого клика возможны 3 ситуации
IF_PIXEL_IN(385,593, 395,599,8158075)// 1. появляется окно случайная капча
BEEP(3800,200)
WAITMS(500)
BEEP(3800,200)
WAITMS(500)
BEEP(3800,200)
$dialog = DIALOGBOX ("Продолжить действие", 4, 2)
WAITMS(500)
$ARR_NUM = 500 // тут я какбЭ хочу прервать цикл и снова опросить лист , возвратившись на страницу назад !!! но не получается
KEYPRESS(#PAGEUP)
WAITMS (550)
END_IF
IF_PIXEL_IN(1055,553, 1078,564,4737721) // 2. появляется окно повтора , гасим окно повтора
WAITMS (100)
LCLICK(959 + rnd (-3,3) , 601 + rnd (-3,3))
WAITMS ( RND (1461,1854))
$ARR_NUM=500
KEYPRESS(#PAGEUP)
WAITMS (550)
END_IF
WAITMS (50)
IF_PIXEL_IN(1144,100, 1150,105,16316406) // 3. появляется окно твиттера, гасим окно твиттера
LCLICK(1156 + rnd (-2,2) , 41 + rnd (-2,2))
WAITMS (550)
END_IF
WAITMS ( RND (61,254))
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS ( RND (961,1354))
LCLICK(1130 + rnd(-55,55),184+ rnd(-3,3))
WAITMS ( RND (461,854))
KEYPRESS(#PAGEDOWN)
WAITMS ( RND (1261,1854))
WAITMS (350)
GETSCREEN
IF_PIXEL_IN(1217,1030, 1218,1035,15525859) // ищем признак окончания списка и переходи на последний цикл опроса страниц
$a = 49
END_IF
IF_PIXEL_IN(1055,553, 1078,564,4737721) // гасим окно повтора
LCLICK(959 + rnd (-3,3) , 601 + rnd (-3,3))
WAITMS ( RND (1461,1854))
$ARR_NUM=500
KEYPRESS(#PAGEUP)
WAITMS (550)
END_IF
END_CYC
LCLICK(1130 + rnd(-55,55),184+ rnd(-3,3))
WAITMS ( RND (461,854))
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#HOME)
WAITMS (50)
KEYUP (#HOME)
KEYUP (#CTRL)
WAITMS ( RND (461,854))
WAITMS(200)
KEYPRESS(#PAGEUP)
WAITMS ( RND (461,854))
WAITMS(200)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#0)
WAITMS (50)
KEYUP (#0)
KEYUP (#CTRL)
WAITMS(200)
//-----------
HALT
[/spoiler]
Работает без проблем , пока не встречается с внезапными изменениями на экране. Мне нужно чтобы после выполнения одного из условия IF_PIXEL_IN скрипт начал новое сканирование ( желательно чтобы ещё и страницу отмотал назад на всякий случай) .
Но не получается . Любые переменные менял , обнулял итп , но скрипт продолжает работу, по старому условию SCANPICTURE($ARR_SCAN итп .
Чего я не понимаю?