там недоставало одного END_IF, ну и теперь его ничто не остановит.
#name "клейка с уни_ем плюс подсчет круговой готовый"
$x_ok=845 //координаты
$y_ok=504 //координаты
$x1=405 //координаты
$y1=305 //координаты
$ttt=3000 // задержка на чарование в мс
$aa=0 //определяет номер чар в одном проходе
$priznak=0 // что закончились карты
//**********************// подпрограмма кубик
SUB(kubik)
LDOWN(375,305) // кубик нач // подхватили кубик
WAITMS(10)
FOR($a=0, $a < 23) //тащим кубик в окно чар
WAITMS(10) //тащим кубик в окно чар
MOVE(375,305+$a*10) //тащим кубик в окно чар
END_CYC //тащим кубик в окно чар
LUP(375,305+$a*10) //отпустили кубик
LCLICK(575,425)
WAITMS(50)
LCLICK(520,444)
WAITMS(50)
WAITMS(200) //кубик конец
END_SUB
//************************// подпрограмма 1 карта
SUB(karta1, $x, $y)
LDOWN($x,$y) //1 карта нач
WAITMS(10)
FOR($a1=0, $a1 < 23)
WAITMS(10)
MOVE($x,$y+$a1*10)
END_CYC
LUP($x,$y+$a1*10)
WAITMS(200) // 1 карта кон
END_SUB
//************************// подпрограмма 2 карта
SUB(karta2, $x, $y)
LDOWN($x+33,$y) //2 карта нач
WAITMS(10)
FOR($a1=0, $a1 < 23)
WAITMS(10)
MOVE($x+33,$y+$a1*10)
END_CYC
LUP($x+33,$y+$a1*10) // 2 карта кон
WAITMS(200)
LCLICK(64,691) // клик по чарование
WAITMS($ttt) // задержка на чарование
END_SUB
// подпрограмма проверки чара на удачу
SUB(MYSUB,$x, $y )
$xt=454 //нужно указать
$yt=665 //нужно указать
GETSCREEN //проверяем удачное ли чарование
COLORMODE(6, 555, 342, 555, 342)
IF (PXL(454,665) = 3550389)
$priznak=1
END_IF
COLORMODE(6, $xt, $yt, $xt, $yt)
IF (PXL(662,659) = 3484315) //нужно указать
LOGWRITE ($aa+1,"- чарование неудачное")
LCLICK($x,$y)
WAITMS(20)
LCLICK($x,$y)
WAITMS(500)
LCLICK(240,480) //уничтожение
WAITMS(500)
LCLICK(560,440) //кнопка ок
WAITMS(1000)
ELSE // при удачном чаровании
$var= 6
$v66=$v66+1
PRINT($aa+1,"- удачное чарование " , $v66)
INIWRITE("config.ini", "v66", $v66)
END_IF //проверяем удачное ли чарование конец
END_SUB
//********************************************************************
$v66 = int(INIREAD("config.ini", "v66")) //считываем сколько уже удач чар прошло
$progon = int(INIREAD("config.ini", "$progon")) //считываем №прогона
LOGWRITE ("прогон № ",$progon)
//**********************************// 1-4 чарования
FOR($aa,$aa<4) //начало цикла 222
$var=1 // признак удачного чарования
while($var < 5) // начало чар по $aa
kubik() // вызов подпрограммы
karta1($x1,$y1) // вызов подпрограммы
karta2($x1,$y1) // вызов подпрограммы
MYSUB($x1,$y1) // вызов подпрограммы
IF($priznak=1)
GOTO(skip) // переход если кончились карты
END_IF
end_cyc // закончан чар по $aa
$x1=$x1+35
END_CYC // конец цикла 222
//----------------------------------- 4 чара прошли
$var=1 // признак удачного чарования
$aa=4 //№ чара
while($var < 5) // начало 5 чар
kubik() // вызов подпрограммы
karta1(548,300) // вызов подпрограммы
karta2(340,340) // вызов подпрограммы
MYSUB(548,300) // вызов подпрограммы
IF($priznak=1)
GOTO(skip) // переход если кончились карты
END_IF
end_cyc // закончан 5 чар
//******************************66666666*************************
$var=1 // признак удачного чарования
$aa=5 //№ чара
while($var < 5) // начало 6 чар
kubik() // вызов подпрограммы
karta1(372,340) // вызов подпрограммы
karta2(372,340) // вызов подпрограммы
MYSUB(372,340) // вызов подпрограммы
IF($priznak=1)
GOTO(skip) // переход если кончились карты
END_IF
end_cyc // закончан чар
//****************************конец 6 чар*****************
WAITMS(100)
LCLICK(572,350) // клик по полоске
WAITMS(1000)
GETSCREEN //проверяем кубик
COLORMODE(6, 377, 268, 377, 268)
IF (PXL(377,268) = 4194303) //нужно указать
LOGWRITE ("кубик есть")
LDOWN(370,270) //тащим кубик
WAITMS(30)
FOR($a1=0, $a1 < 4)
WAITMS(20)
MOVE(370,270+$a1*10)
END_CYC
LUP(370,270+$a1*10) //
WAITMS(500)
END_IF
skip: // метка на нее переходим кодгда закончились карты
GETSCREEN //проверяем кубик
COLORMODE(6, 374, 267, 374, 267)
IF (PXL(378,275) = 4177919) //нужно указать 1111
LOGWRITE ("кубик есть")
LDOWN(370,270) //подхватили кубик
WAITMS(30)
FOR($a1=0, $a1 < 4)
WAITMS(50)
MOVE(370,270+$a1*10) // тащим кубик
END_CYC
LUP(370,270+$a1*10) // отпустили кубик
WAITMS(500)
ELSE // если купбика нет 1111
LOGWRITE ("кубики пропали")
WAITMS(500)
$progon=$progon+1
INIWRITE("config.ini", "$progon", $progon)
IF($progon > 3) //нннн проверяем сколько прогонов прошло. если больше 3 заканчиваем работу макроса
LOGWRITE ("чарование закончено ",$progon)
// HALT
END_IF //ннннн
LDOWN(372,304) // подхватываем кубик
LOGWRITE ("кубики подхватили")
WAITMS(50)
FOR($a1=0, $a1 < 4)
WAITMS(50)
MOVE(372,269+$a1*10) // смещаем кубик вниз
END_CYC
$var22 = 5
LOGWRITE ("кубики тащим")
WHILE($var22 = 5) //3333 тащим кубики вверх до упора. для проверки розовый кристал.
WHEELUP
WAITMS(200)
GETSCREEN //проверяем дотащили или нет
COLORMODE(6, 374, 264, 374, 264)
IF (PXL(374,264) = 8355775) //нашли розовый кристал 222
$var22 = 6
END_IF //222
END_CYC //3333
WAITMS(100)
LUP(376,304+$a1*10) //отпускаем кубик
WAITMS(500)
LDOWN(372,344) //подхватили кубик
WAITMS(30)
FOR($a1=0, $a1 < 4)
WAITMS(50)
MOVE(376,344-$a1*10) // смещаем вверх кубик
END_CYC
LUP(376,344-$a1*10) // отпустили кубик
WAITMS(500)
LOGWRITE ("кубики на месте.")
END_IF //1111