Привет!
Присваивать значения можно только существующим переменным. А в данном случае, даже не известно сколько их всего будет. Но нам не нужно их создавать. Будем добавлять скопированный текст в массив. Вместо $a1, $a2, $a3,... будет $ARR_TEXT[0], $ARR_TEXT[1], $ARR_TEXT[2] и так далее. Первая ячейка в массиве имеет индекс 0, а не единицу.
Скрипт я немного переделал. Разберешься короче.))
GETSCREEN(362,158,506,733)
SCANPICTURE($ARR_SCAN, 362,158,506,733, "хк.bmp", -1, 70)
FOR($ARR_NUM = 0, $ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
$Y = $ARR_SCAN [$ARR_NUM + 1]
FOR($a=0,$a<3)
LCLICK($X+30, $Y+6)
WAITMS(20)
END_CYC
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(10)
ARRPUSH($ARR_TEXT, FROMCLIP()) // добавляем скопированный текст в массив
END_CYC
UNDEFINE($ARR_SCAN)
//=============================================
IF(ARRSIZE($ARR_TEXT)) // если массив с найденным текстом не пустой
FOR($i = 0, < ARRSIZE($ARR_TEXT)) // выводим найденный текст в лог
LOGWRITE ($ARR_TEXT[$i])
END_CYC
ELSE
LOGWRITE ("Не найдено!")
END_IF
UNDEFINE($ARR_TEXT)