Здравствуйте ребят, уже многому научился в этом кликере, сделал хороший скрипт, но случайно при сохранении другого, сохранил и заменил свой налаженный. Вот сам скрипт:
// Начало тела программы
IF($raduga = 0)
$time_raduga = $_time_t + 120
$raduga = 1
END_IF
GOSUB(napad)
body: // тело
LCLICK(422,268)
$usilok = 0 // для усилков
$var = 0 // для завершонки
$check_2 = 0
$check_3 = 0
$check_4 = 0
$check_5 = 0
$check_6 = 0
$banka = RND(4,8) // ожидание после юза банки
$time_end = 0 // на случай форс мажора
$check = 0 // присваиваем 0 чтобы цикл заработал
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN (473,414, 487,424, 145) // поиск круга удара
goSUB(XP)
// для использования усилков
GETSCREEN
IF_PIXEL_IN(584,234,587,236,122) // проверка хп монстра
INC($usilok,1)
INC($uz_usilok,1)
IF(($usilok > 0) & ($usilok < 6))
KEYPRESS(#1)
else
IF(($usilok > 5) & ($usilok < 11))
KEYPRESS(#2)
END_IF
END_IF
END_IF
if($key = 0) // условие для удара вперед
KEYPRESS(#w)
$key = 1
else
if($key = 1) // условие для удара вниз
KEYPRESS(#e)
$key = 0
END_IF
END_IF
WAIT(1) // ожидание после нажатия клавиши удара
Else
WAITMS(50)
GETSCREEN
IF_PICTURE_IN (450,400,530,433,"exit.bmp") // поиск окна "победы"
$check = 1 // при этом цикл боя не будет продолжаться
DBLCLICK(487,420) // нажатие на выход с боя
WAIT(1)
WHILE($var = 0)
GETSCREEN
IF_PIXEL_IN(85,256,87,258,11194089)
$var = 1
LCLICK(290,205) // Нажатие на вкладку завершонных боев
WAITMS(700)
else
WAITMS(50)
LCLICK(882,131) // нажатие на "Боя" в верхней панели
WAITMS(2000)
END_IF
END_CYC
END_IF
END_IF
END_CYC
// то что происходит когда выходит с боя
IF($time_raduga < $_time_t)
// Цикл для отчета
END_IF
LOAD("bot_raduga.cms")
//"ПОДПРОГРАММЫ"//
// проверка ХП
SUB(XP)
GETSCREEN
IF_PIXEL_IN(286,234,290,236, 54)
IF($check_2 = 0) // юз первой банки
$check_2 = 1
IF($_time_t > $time_xp) // проверка тайма банки
KEYPRESS(#3)
INC($uz_banok,1) // для отчета по количеству использованых банок
$time_xp = $_time_t + 21 // присваиваем тайм на использование банки
WAIT($banka) // ожидание после юза банки
END_IF
Else
IF($check_3 = 0) // юз второй банки
$check_3 = 1
IF($_time_t > $time_xp)
KEYPRESS(#4)
INC($uz_banok,1)
$time_xp = $_time_t + 21
WAIT($banka)
END_IF
Else
IF($check_4 = 0) // юз третей банки
$check_4 = 1
IF($_time_t > $time_xp)
KEYPRESS(#5)
INC($uz_banok,1)
$time_xp = $_time_t + 21
WAIT($banka)
END_IF
Else
IF($check_5 = 0) // юз 4й банки
$check_5 = 1
IF($_time_t > $time_xp)
KEYPRESS(#6)
INC($uz_banok,1)
$time_xp = $_time_t + 21
WAIT($banka)
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_SUB
// Поиск завершонки и нападение по ней
SUB(napad)
$if = 0
$list = 1
$ckic = RND(200,300) // промежуток между кликами на завершонку
napad:
GETSCREEN
IF_PIXEL_IN(473,414, 487,424, 145)
GOTO(body)
END_IF
WAIT(1)
GETSCREEN
IF_PICTURE_IN (124,186,290,554, "ник.bmp")
$x_min = $_return1
$y_min = $_return2 - 30
$x_max = $_return1 + 350
$y_max = $_return2 + 100
GETSCREEN
IF_PICTURE_IN ($x_min,$y_min,$x_max,$y_max, "мечь.bmp")
$time_end = $_time_t + 30 // если в течении 30 сек не нападает, значит збой программы и завершение.
WHILE(($if = 0) & ($time_end > $_time_t))
BEEP(1000,200)
move($_return1+6, $_return2+3)
WAITMS($ckic)
LCLICK($_return1+6, $_return2+3)
GETSCREEN
IF_PIXEL_IN(473,414, 487,424, 145) // поиск круга боя
$if = 1 // если найдет круг боя, начало боя.
END_IF
END_CYC
IF($if = 1)
GOTO(body) // переход к началу боя
END_IF
END_IF
else
LCLICK(86,337)
WAITMS(100)
WHEELDOWN (3)
WAITMS(500)
END_IF
GETSCREEN
IF_PIXEL_IN(473,414, 487,424, 145)
GOTO(body)
END_IF
GETSCREEN
IF_PICTURE_IN (124,186,290,554, "ник.bmp")
$x_min = $_return1
$y_min = $_return2 - 30
$x_max = $_return1 + 350
$y_max = $_return2 + 100
GETSCREEN
IF_PICTURE_IN ($x_min,$y_min,$x_max,$y_max, "мечь.bmp")
$time_end = $_time_t + 30 // если в течении 30 сек не нападает, значит збой программы и завершение.
WHILE(($if = 0) & ($time_end > $_time_t))
move($_return1+6, $_return2+3)
WAITMS($ckic)
LCLICK($_return1+6, $_return2+3)
GETSCREEN
IF_PIXEL_IN(473,414, 487,424, 145) // поиск круга боя
$if = 1 // если найдет круг боя, начало боя.
END_IF
END_CYC
IF($if = 1)
GOTO(body) // переход к началу боя
END_IF
END_IF
else
LCLICK(86,337)
WAITMS(100)
WHEELDOWN (3)
WAITMS(500)
END_IF
GETSCREEN
IF_PICTURE_IN (124,186,290,554, "ник.bmp")
$x_min = $_return1
$y_min = $_return2 - 30
$x_max = $_return1 + 350
$y_max = $_return2 + 100
GETSCREEN
IF_PICTURE_IN ($x_min,$y_min,$x_max,$y_max, "мечь.bmp")
$time_end = $_time_t + 30 // если в течении 30 сек не нападает, значит збой программы и завершение.
WHILE(($if = 0) & ($time_end > $_time_t))
move($_return1+6, $_return2+3)
WAITMS($ckic)
LCLICK($_return1+6, $_return2+3)
GETSCREEN
IF_PIXEL_IN(473,414, 487,424, 145) // поиск круга боя
$if = 1 // если найдет круг боя, начало боя.
END_IF
END_CYC
IF($if = 1)
GOTO(body) // переход к началу боя
END_IF
END_IF
else
LCLICK(86,337)
WAITMS(100)
WHEELUP(6)
WAITMS(500)
END_IF
WAITMS(500)
IF($list = 1)
$list = 2
LCLICK(176,275)
WAITMS(600)
goto(napad)
Else
IF($list = 2)
$list = 3
LCLICK(196,275)
WAITMS(600)
goto(napad)
Else
IF($list = 3)
$list = 4
LCLICK(216,276)
WAITMS(600)
goto(napad)
Else
IF($list = 4)
$list = 5
LCLICK(236,275)
WAITMS(600)
goto(napad)
Else
IF($list = 5)
$list = 1
LCLICK(256,275)
WAITMS(600)
goto(napad)
END_IF
END_IF
END_IF
END_IF
END_IF
END_SUB
Вот смотрите в начале есть цикл WHILE в котором есть GOSUB(XP), вот когда уровень хп первый раз опускается до того как пиксель изменит цвет, выполняется использование банки жизни и дальше все идет бой, НО вот когда уровень хп снова опускается до уровня когда нужно использовать банку, оно почему-то ничего не использует, а попросту игнорирует и дальше выполняются удары. Раньше работало отлично, но саб этот был не внутри цикла WHILE, думаю это не может быть проблемой. Посмотрите, может где-то ошибку сделал, а то сам вроде никаких ошибок не вижу.