Всем привет. Суть проблемы в том, что последний цикл не выполняется. Запуская его отдельно все работает, навожу на поплавок и скрипт срабатывает, а вместе с остальным кодом не работает:

Скрипт прекращает свою работу сразу после остановки мышки после движения вниз. Помогите пожалуйста, никак не могу понять в чем проблема.
Эта часть отдельно работает прекрасно:
Код:
WinActivate("World of Warcraft")
$coord = PixelSearch(249, 316, 1382, 616, 0x9E3D25, 20) ; ищем красное перо в заданном прямоугольнике
If Not @error Then
MouseMove($coord[0], $coord[1], 10)
EndIf
sleep(1000)
; у нас появился тултип в правом нижнем углу, будем двигать мышку вниз, пока не он пропадет
While 1
$col = PixelGetColor(1538, 812)
Do
$pos = MouseGetPos()
mousemove($pos[0], $pos[1] + 1, 4)
$col2 = PixelGetColor(1538, 812)
Until $col <> $col2
exit
WEnd
; Теперь, когда поплавок дернется (значит можно ловить рыбу нажатием пкм), тултип снова появится, отслеживаем изменение пикселя и нажимаем правую кнопку.
While 1
PixelSearch(1515, 804, 1590, 816, 0xFFF200, 50)
If not @error then
MouseClick("right")
Endif
Exit
WEnd

Скрипт прекращает свою работу сразу после остановки мышки после движения вниз. Помогите пожалуйста, никак не могу понять в чем проблема.
Эта часть отдельно работает прекрасно:
Код:
While 1
PixelSearch(1515, 804, 1590, 816, 0xFFF200, 50)
If not @error then
MouseClick("right")
Endif
Exit
WEnd