Заметил еще одно, отсутствует UNDEFINE($ARR_SCAN) без этого на повторном проходе цикл снова отработает по старым координатам.
// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#DELETE)
//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать
GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
LOGWRITE ("Найден крестик")
LCLICK($_return1, $_return2)
WAITMS(100)
else
WAITMS(50)
LOGWRITE ("проверка на конверт и поиск кнопки отправить")
//проверка на конверт и поиск кнопки отправить
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
WAITMS(1)
ELSE
LOGWRITE ("проверка на конверт и поиск кнопки отправить")
$ARR_NUM = 99999 // сброс цикла
LCLICK($X, $Y)
WAITMS(1000)
END_IF
END_CYC
UNDEFINE($ARR_SCAN) // очищаем массив координат
END_IF
Еще у тебя написано "если есть конверт" на самом деле клик происходит если пиксель 16514039 не найден
IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
WAITMS(1) // если найден то ничего
ELSE
// если не найден то
LOGWRITE ("проверка на конверт и поиск кнопки отправить")
$ARR_NUM = 99999 // сброс цикла
LCLICK($X, $Y)
WAITMS(1000)
END_IF
Может быть тут корень проблемы?