2
« on: May 06, 2016, 05:00:57 PM »
Всем привет! Подскажите в чем может быть дело... Код прекрасно работает, если воспроизвести скрипт один раз, стоит перевести на неограниченное кол-во повторов, уже на втором круге после удара первого соперника срабатывает подпрограмма, и скрипт, естественно, останавливается. Скажу сразу, что подпрограмма на этом этапе срабатывать не должна... Может быть есть объяснение этому? Заранее спасибо!
WAIT(1)
LCLICK(406,19)//КЛИК НА ОКНО
WAIT(2)
LCLICK(110,324)//РЕЙДЫ
WAIT(2)
LCLICK(719,488)//НАЙТИ ПРОТИВНИКА
WAIT(3)
$count = 0 //ПЕРЕМЕННАЯ
WHILE ($count = 0)//ПОИСК БОТА
GETSCREEN
IF (PXL(821,323) = 8224900)
$count = 1
LCLICK(834,526)//АТАКА
LOGWRITE ("цвет обнаружен")
WAIT(1)
GETSCREEN
IF (PXL(477,346) = 10858672)
LCLICK(662,442)
END_IF
ELSE
LCLICK(746,415)//НАЙТИ ДРУГОГО
WAIT(10)
END_IF
WAIT(1)
END_CYC//КОНЕЦ ПОИСКА
WAIT(2)
SUB(endgame)
GETSCREEN
IF (PXL(559,478) = 7501947)//ПРОВЕРКА ПОБЕДЫ
$end = 1
END_IF
GETSCREEN
IF (PXL(452,99) = 16777215)
$end = 1
END_IF
END_SUB
LCLICK(733,295)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)
FOR($b=0,$b<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(814,446) = 13948632)//УДАР 1-ОГО ПЕРСА
LCLICK(814,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(808,517)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(686,449) = 13487824)//УДАР 2-ОГО ПЕРСА
LCLICK(686,449)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(682,510)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(551,445) = 13685203)//УДАР 3-ОГО ПЕРСА
LCLICK(551,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(551,511)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(430,445) = 14079961)//УДАР 4-ОГО ПЕРСА
LCLICK(430,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(425,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(296,447) = 13817046)//УДАР 5-ОГО ПЕРСА
LCLICK(296,447)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(297,503))//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)
FOR($d=0,$d<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(814,446) = 13948632)//УДАР 1-ОГО ПЕРСА
LCLICK(814,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(808,517)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(686,449) = 13487824)//УДАР 2-ОГО ПЕРСА
LCLICK(686,449)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(682,510)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(551,445) = 13685203)//УДАР 3-ОГО ПЕРСА
LCLICK(551,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(551,511)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(430,445) = 14079961)//УДАР 4-ОГО ПЕРСА
LCLICK(430,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(425,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(296,447) = 13817046)//УДАР 5-ОГО ПЕРСА
LCLICK(296,447)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(297,503))//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(95,535)//ВКЛЮЧЕНИЕ РЕЖИМА АВТОБОЯ
WAIT(20)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(20)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(20)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(20)
endgame()
IF($end = 1)
GOTO(skip)
END_IF
WAIT(30)
//ПРОДОЛЖИТЕЛЬНОСТЬ БОЯ
skip:
WAIT(2)
GETSCREEN
IF (PXL(559,478) = 7501947)//ПРОВЕРКА ПОБЕДЫ
LCLICK(559,478)//ПРИ ПОБЕДЕ
ELSE
LCLICK(628,476)//ПРИ ПОРАЖЕНИИ
END_IF
WAIT(2)
LCLICK(992,61)//ВЫХОД ИЗ РЕЙДОВ
WAIT(2)