rostovvan, и в чем же проблема?! В Step союзника пишешь:
Code
mp_potential_step(Объект_врага.х, Объект_врага.у, скорость, 0); //Двигаться к объекту врага с заданной скоростью, обходя твёрдые объекты.
Стрельба по врагу также:
Code
tar = point_direction(x, y, Объект_врага.х, Объект_врага.у); //В переменную записываем направление к врагу
bul = instance_create(x, y, bullet); //Создаем пулю, присвоив ей индекс
with bul {motion_set(tar, 15)} //Применяем пуле движение к врагу