Накодил на 3 удочки, работает нормально. Но не очень красиво выглядят "костылики" GOTO в строках 27, 85, 99, 130. Правда как их победить, пока ума не хватает. Буду очень признателен за подсказки, а то что-то голова уже дымится...
#ps2_keyboard
$x1 = 838
$y1 = 455
$x2 = 1285
$y2 = 505
// подпрограмма вываживания рыбы
SUB(VYLOV)
// подсечка
WAIT (RND(4,6))
KEYPRESS (#SPACE)
WAIT (0.3)
// вываживание
a:
GETSCREEN ($x1, $y1, $x2, $y2)
COLORMODE (6, $x1, $y1, $x2, $y2)
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "Katush.bmp", -1, 75)
KEYDOWN (#H)
WAITMS (175)
KEYUP (#H)
WAITMS (5)
KEYDOWN (#G)
WAITMS (175)
KEYUP (#G)
WAITMS (5)
GOTO (a)
ELSE
WAITMS (300)
KEYPRESS (#T)
END_IF
END_SUB
// основное тело программы
b:
WAIT (2)
// заброс удочки 1
KEYPRESS (#1)
LCLICK (RND(838,846), RND(412,420))
WAIT (2)
// заброс удочки 2
KEYPRESS (#2)
LCLICK (RND(1080,1120), RND(380,400))
WAIT (2)
// заброс удочки 3
KEYPRESS (#3)
LCLICK (RND(1242,1250), RND(351,359))
WAIT (2)
// перемещение уды вверх карты (чтобы не мешалась)
MOVE (RND(900,1120), RND(150,250))
c:
GETSCREEN ($x1, $y1, $x2, $y2)
COLORMODE (6, $x1, $y1, $x2, $y2)
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "1kl.bmp", -1, 70)
KEYPRESS (#1)
VYLOV()
ELSE
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "11kl.bmp", -1, 70)
KEYPRESS (#1)
VYLOV()
ELSE
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "2kl.bmp", -1, 70)
KEYPRESS (#2)
VYLOV()
ELSE
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "22kl.bmp", -1, 70)
KEYPRESS (#2)
VYLOV()
ELSE
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "3kl.bmp", -1, 70)
KEYPRESS (#3)
VYLOV()
ELSE
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "33kl.bmp", -1, 70)
KEYPRESS (#3)
VYLOV()
ELSE
WAIT (1)
GOTO (c)
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
// проверка садка
GETSCREEN (355, 550, 460, 580)
COLORMODE (6, 355, 550, 460, 580)
IF_PICTURE_IN (355, 550, 460, 580, "sadok.bmp", -1, 90)
WAIT (0.5)
GOTO (c)
ELSE
// возврат на базу
LCLICK (RND(1285,1305), RND(35,55))
WAIT (RND(3,5))
// открытие садка
LCLICK (RND(370,450), RND(558,573))
WAIT (RND(3,5))
// продажа рыбы
LCLICK (RND(1030,1120), RND(453,468))
WAIT (RND(3,5))
// подтверждение продажи
LCLICK (RND(690,780), RND(402,417))
WAIT (RND(3,5))
// рыба продана
LCLICK (RND(805,895), RND(402,417))
WAIT (RND(3,5))
// переход на локальную карту
LCLICK (RND(370,450), RND(582,597))
WAIT (RND(3,5))
// переход на локацию
LCLICK (RND(755,775), RND(245,265))
WAIT (RND(3,5))
END_IF
GOTO (b)