Описание подпрограмм должно быть на первом уровне.
из циклов нельзя выпрыгивать через гото.
У тебя там было несколько бессмысленных циклов на 1 раз, все удалил.
Верный код
#autorun
// Ожидание загрузки Chrome
SUB(ожидание)
$t = $_time_t + 30 // до 30 сек
$check1 = 0
WHILE($check1 = 0)
GETSCREEN
IF_PICTURE_IN (1650,270, 1820,306, "b.bmp", -1, 90)
// Проверка 1 bmp
// 0,0, $_xmax,$_ymax, file.bmp 53,26, 95,59, 12,1, 42,25, "file2.bmp"
$check1 = 1
WAITMS(100)
ELSE // если нет
IF_PICTURE_IN (1650,270, 1820,306, "b2.bmp", -1, 90)
// Проверка 2 bmp
$check1 = 1
WAITMS(100)
ELSE // если ничего не совпадает обновляем
WAITMS(150)
IF($t < $_time_t)
LOGWRITE ("ОБНОВИТЬ LC")
LCLICK(77,43) // жмем LC по x, y
WAITMS(100)
$t = $_time_t + 30
END_IF
END_IF
END_IF
END_CYC
END_SUB
// end ожидания
// обновить страницу
SUB(обновить)
LCLICK(77,43)
WAIT(5)
END_SUB
// end обновить страницу
//=== Основной код ==========================================
WAIT(40)
IF($time1 < $_time_t)
$time1 = $_time_t + 5600 // 5600 сек перезагрузка
FOR($i=0, $i<5000) // начало цикла проверок, повторить 5000 раз
LOGWRITE ("1 СТАРТ")
WAITMS(250)
ожидание()
// LOGWRITE ("конец ожидания")
LOGWRITE ("начало сравнения")
$check2 = 0 // 1 сравнение
WHILE($check2 = 0)
WAITMS(150)
GETSCREEN
IF_PICTURE_IN (1650,270, 1820,306, "b2.bmp", -1, 90)
$check2 = 1
SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_xp1_", 1) // делаем скрин в папку
WAITMS(150)
LOGWRITE ("GOOD НАЙДЕН")
ELSE // 2 сравнение
LOGWRITE ("начало сравнения по серому цвету bmp картинкой") // для точности
IF_PICTURE_IN (1610,375, 1765,535, "b.bmp", -1, 90)
LOGWRITE ("СЕРЫЙ найден") // начать заново
WAITMS(150)
ELSE // 3 сравнение
LOGWRITE ("начало сравнения по красному цвету bmp картинкой")
IF_PICTURE_IN (1610,375, 1765,535, "red.bmp", -1, 90)
LOGWRITE ("красный найден") // не подходит, ошибка, обновляем
LOGWRITE ("обновить страницу")
обновить()
WAITMS(150)
LOGWRITE ("В НАЧАЛО")
$check2 = 2 // Идем в начало
ELSE // если вдруг отпадет инет
WAITMS(150)
LOGWRITE ("красный НЕ найден")
LOGWRITE ("обновить страницу")
обновить()
WAITMS(150)
LOGWRITE ("В НАЧАЛО")
$check2 = 2 // Идем в начало
END_IF
END_IF
END_IF
END_CYC
IF($check2 ! 2)
LOGWRITE ("конец сравнения")
WAITMS(150)
LCLICK(1775,239) // жмем след страницу
LOGWRITE ("ЗАНОВО")
WAIT(3)
END_IF
END_CYC
// после 5000 сравнений обновить страницу
WAIT(5)
LOGWRITE ("ОБНОВЛЕНИЕ, ПОСЛЕ 1 ФОР")
обновить()
LOGWRITE ("RESTART")
END_IF
WAIT(10)
LCLICK(1892,7)
WAIT(5)
// рестарт ПК
EXECUTE ("TASKKILL","/ f /IM chrome.exe")
EXECUTE ("shutdown.exe", "/r /f /t 03")
HALT(1)