Прежде чем оптимизировать надо исправить ошибки.
И да, в оконном режиме зажатия клавишь не работают, привязка бессмысленна.
#name "Russian Fishing 4"
IF($first = 0)
$hw = wndfind("Russian Fishing")
IF($hw > 0)
$first = 0
HSET($hw,1)
ELSE
HALT
END_IF
END_IF
LDOWN(960,518) // заброс
WAIT(2)
LUP(960,518)
WAIT(8)
GETSCREEN
$b = PXL(1273,998)
LDOWN(960,518) //начало проводки
WHILE($a = 0)
GETSCREEN
$r2 = PXL(1240,959)
$r1 = PXL(980,997)
IF((PXL(1273,998) != $b) & ((PXL(955,997) != 4183752)|(PXL(955,997) != 48357))) //проверка на готовность к забросу
$a = $a + 1
LUP(960,518)
IF($c = 1) //если была подсечка
RUP(960,518)
$c = $c - 1
END_IF
END_IF
IF(($r1 = 4183752) & ($r2 = PXL(1229,957)) //клюнула ли рыба, близко или нет
RDOWN(960,518) //подсечка
$c = $c + 1
WAIT (10)
KEYPRESS(#SPACE) //подсачек
GETSCREEN
WHILE(PXL(1118,796) != 3852216) //ожидание сообщения о поимке
WAIT(1)
GETSCREEN
END_CYC
KEYPRESS(#SPACE) //в садок
END_IF
WAIT(1)
END_CYC
$a = $a - 1
WAIT(5)