Нельзя выпрыгивать из циклов через ГОТО.
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (693,67, 743,98, "Hod_arena.bmp", -1, 30) // ждем загрузку арены и своего хода
// начинаем бой
WAIT(2)
GETSCREEN
COLORMODE(6)
IF_PIXEL_IN(300,72, 411,98, 4177791) // если нашли свои хп
IF_PICTURE_IN (1017,63, 1065,184, "zvezda_arena.bmp", -1, 80) // ищем игрока
IF_PIXEL_IN($_return1-40,$_return2-31, $_return1+142,$_return2, 4177791) // если у игрока есть хп
WAIT(1)
LCLICK(274,382) // лечимся
WAIT(1)
LCLICK(274,337) //берем заряд
WAIT(1)
LCLICK($_return1, $_return2-7) //бьем игрока
WAIT(5)
END_IF
ELSE
// если не нашли игрока
GETSCREEN
IF_PICTURE_IN (950,60, 1165,200, "shturm_arena.bmp", -1, 75) // ищем бота
GETSCREEN
COLORMODE(6)
IF_PIXEL_IN($_return1-40,$_return2-31, $_return1+142,$_return2, 4177791) //если у бота есть хп
WAIT(1)
LCLICK(274,382) // лечимся
WAIT(1)
LCLICK(274,337) //берем заряд
WAIT(1)
LCLICK($_return1, $_return2-7) //бьем бота
WAIT(5)
END_IF
ELSE
WAITMS(100)
END_IF
END_IF
END_IF
ELSE
// если нет Hod_arena.bmp
WAITMS(50)
END_IF
END_CYC
Смысл цикла
$check = 0 // задаем переменной значение
WHILE($check = 0) // в условии цикла, каждый раз в начале проверяется это значение
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1 // если в какой то момент мы изменим значение переменной, то цикл на следующем проходе не повторится! То есть произойдет выход из цикла
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_CYC
В твоем скрипте нужно какое то условие которое которое прекратит выполнение цикла, а выпрыгивать из цикла куда тебе захочется неьзя, это приводит к ошибкам.
Еще один момент
IF_PICTURE_IN (1017,63, 1065,184, "zvezda_arena.bmp", -1, 80) // ищем игрока
IF_PIXEL_IN($_return1-40,$_return2-31, $_return1+142,$_return2, 4177791) // если у игрока есть хп
WAIT(1)
LCLICK(274,382) // лечимся
WAIT(1)
LCLICK(274,337) //берем заряд
WAIT(1)
LCLICK($_return1, $_return2-7) // Возвращенные координаты в return относятся к "если у игрока есть хп" !!!
WAIT(5)
END_IF
Если нужно кликнуть по "zvezda_arena.bmp" то нужно сохранить значения в каких нибудь переменных.
IF_PICTURE_IN (1017,63, 1065,184, "zvezda_arena.bmp", -1, 80) // ищем игрока
$savx = $_return1
$savy = $_return2
IF_PIXEL_IN($savx-40,$savy-31, $savx+142,$savy, 4177791) // если у игрока есть хп
WAIT(1)
LCLICK(274,382) // лечимся
WAIT(1)
LCLICK(274,337) //берем заряд
WAIT(1)
LCLICK($savx, $savy-7) //бьем игрока
WAIT(5)
END_IF