хочу предложить свой вариант определения чисел. я думаю он немного быстрее и легче в настройке.
данный скрипт в данном виде настроен на определения числа номера цвета в км (естественно на моем пк)
$1 = 2598951422
$2 = 3563910420
$3 = 1725485783
$4 = 2439610189
$5 = 1142298982
$6 = 1619652509
$7 = 1251613421
$8 = 3997989515
$9 = 228076718
$0 = 1886634037
$x1 = 813 //координаты первой цифры, необязательно чтобы цифра полностью влазила в эти координаты
$y1 = 621
$x2 = 818
$y2 = 630
GETSCREEN
//$n = 1
//WHILE($n ! 9) //определение значений переменных, в км номер цвета 8-значный, поэтому в начале определяем от 1 до 8, а вторым кругом 9 и 0. естественно выставляем цвет номер 12345678, вторым кругом 90. после определеня их нужно вписать в переменные выше.
//
// $count = PXLCRC ($x1,$y1,$x2,$y2)
// print($n," = ", $count)
// INC($n,1)
// INC($x1,7)//шаг между цифрами
// INC($x2,7)
//END_CYC
//halt
WHILE($n ! 1) //непосредственно определение цифр и запись их в массив
$n = PXLCRC($x1,$y1, $x2,$y2)
switch($n)
case($0)
ARRPUSH ($var, 0)
case($1)
ARRPUSH ($var, 1)
case($2)
ARRPUSH ($var, 2)
case($3)
ARRPUSH ($var, 3)
case($4)
ARRPUSH ($var, 4)
case($5)
ARRPUSH ($var, 5)
case($6)
ARRPUSH ($var, 6)
case($7)
ARRPUSH ($var, 7)
case($8)
ARRPUSH ($var, 8)
case($9)
ARRPUSH ($var, 9)
default
$n = 1
end_switch
INC ($x1,7)
INC ($x2,7)
END_CYC
$num = 0
$r = 1
WHILE(ARRSIZE ($var) ! 0)//с помощью математики собираем всё в единое число
$num = int(arrpop($var))*$r+$num
$r = $r*10
END_CYC
print($num)
halt