Если с "Атаковать" неопределенность, то нужно искать сначала "Атаковать" а уж потом если не найдено "Удар"
Цикл 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