Покуда писал. Смог сделать его выстрелы как надо. Если кому будет интересно то вот скрипт:
Код:
//Влево
◆Если:Скрипт:$gameMap.event(3).x == 2
  ◆Переключатель:#0072 Движение врага вправо = ВКЛ
  ◆Переключатель:#0071 Движение врага влево = ВЫКЛ
  ◆
:Иначе
  ◆Маршрут:Boss_Al_1 (Ждать)
  :       :◇Поворот: влево
  :       :◇Шаг: влево
  ◆
:Конец
◆Если:Атака врага теперь ВКЛ
  ◆Если:Count_Atack_Enemy > 0
    ◆Маршрут:Boss_Al_1 (Ждать)
    :       :◇Поворот: вниз
    ◆Ждать:10 кадры(ов)
    ◆Воспроизвести SE:Attack3 (90, 100, 0)
    ◆Комментарий:Galv.SPAWN.event(2, $gameMap.event(3).x, $gameMap.event(3).y);
    ◆Переменная:#0064 Count_Atack_Enemy -= 1
    ◆
  :Иначе
    ◆Переменная:#0063 Таймер атаки в кадрах = Случайно 50..100
    ◆Переключатель:#0073 Атака врага = ВЫКЛ
    ◆
  :Конец
  ◆
:Конец
//Вправо
◆Если:Скрипт:$gameMap.event(3).x == 14
  ◆Переключатель:#0071 Движение врага влево = ВКЛ
  ◆Переключатель:#0072 Движение врага вправо = ВЫКЛ
  ◆
:Иначе
  ◆Маршрут:Boss_Al_1 (Ждать)
  :       :◇Поворот: вправо
  :       :◇Шаг: вправо
  ◆
:Конец
◆Если:Атака врага теперь ВКЛ
  ◆Если:Count_Atack_Enemy > 0
    ◆Маршрут:Boss_Al_1 (Ждать)
    :       :◇Поворот: вниз
    ◆Ждать:10 кадры(ов)
    ◆Воспроизвести SE:Attack3 (90, 100, 0)
    ◆Комментарий:Galv.SPAWN.event(2, $gameMap.event(3).x, $gameMap.event(3).y);
    ◆Переменная:#0064 Count_Atack_Enemy -= 1
    ◆
  :Иначе
    ◆Переменная:#0063 Таймер атаки в кадрах = Случайно 50..100
    ◆Переключатель:#0073 Атака врага = ВЫКЛ
    ◆
  :Конец
  ◆
:Конец
Единственное что неправильно с точки зрения программирования это использовать повторяющийся код. Но по другому не сделать. Если только атаку вынести в общее событие но вроде как там нельзя управлять маршрутом события.

Еще осталось сделать пулю. Но Galv's Event Spawner походу для этого не сгодится.