Здравствуйте ребят, уже многому научился в этом кликере, сделал хороший скрипт, но случайно при сохранении другого, сохранил и заменил свой налаженный. Вот сам скрипт:
// Начало тела программы
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, думаю это не может быть проблемой. Посмотрите, может где-то ошибку сделал, а то сам вроде никаких ошибок не вижу.