Если с "Атаковать" неопределенность, то нужно искать сначала "Атаковать" а уж потом если не найдено "Удар"
Цикл FOR не нужен, можно просто продлевать время цикла каждый раз как только картинка найдена.
цикл сам завершится если за 5 секунд ни "Атаковать.bmp" ни "Удар.bmp" не будет найдено.
$time = $_time_t + 5
WHILE($time > $_time_t)
GETSCREEN(0,0, 350,600)
IF_PICTURE_IN (0,0, 350,600, "Атаковать.bmp", -1, 100)
LCLICK($_return1+30, $_return2)
LOGWRITE ("Атаковать")
WAITMS(300)
$time = $_time_t + 5 // Продлеваем время
ELSE
IF_PICTURE_IN (0,0, 350,600, "Удар.bmp", -1, 100)
LCLICK($_return1+20, $_return2)
LOGWRITE ("Удар")
WAITMS(300)
$time = $_time_t + 5 // Продлеваем время
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC