vereis estoy un poco atascado con esto y no puedo avanzar....mi intencion es que cuando el enemigo est? a una cierta distancia me dispare....(vista topdown)....y que lo haga cada cierto tiempo,a intevalos...bueno mas o menos lo tengo pero algo falla...os pongo el codigo q uso


en el create del enemigo
[gml]direction=image_angle
aux=false[/gml]

en el step del enemigo
[gml]image_angle=direction;
{
mp_potential_settings(5,0.5,64,true)
if distance_to_object(soldado_01)>32
{
mp_potential_step_object(soldado_01.x,soldado_01.y,0.5,soldado_02)
}
else
speed=0
};
{
if  distance_to_object(soldado_01)<160

{
aux=false
}
else
if aux= false{ alarm[0]=100; aux=true}   
};[/gml]

en la alarma 0
[gml]bala2=instance_create(x,y,bala_02)
    bala2.direction=direction
    bala2.image_angle=direction
    alarm[0]=100[/gml]

teniendolo asi el enemigo me dispara una bala en el intervalo de 100steps...pero no me repeta lo de la distancia...dispara aunque este mas lejos de 160pixels....ademas de esto me gustaria saber como hago para que se cumpla otra condicion ,ademas de la distancia,usando el collision_line....para que me entendais...que el enemigo me dispare cuando este mas cerca de 160px y que ademas no exista ninguna colision entre el enemigo(soldado_02) y el player(soldado_01).mil gracias

alarma:

------------------------------------------------------------:
   if distance_to_object(soldado_01)<160
   {
    bala2=instance_create(x,y,bala_02)
    bala2.direction=direction
    bala2.image_angle=direction
   }

   alarm[0]=100
------------------------------------------------------------:

El error esta en la alarm cambia esto alarm[0]=100 por esto alarm[0]=10*room_speed;

a ver romon...tu solucion es perfecta y funciona de maravilla...pero queriendo a?adirle una cosa mas...pues no me funciona...veras aunque antes no lo habia dicho...ademas de la bala quiero que aparezca un "fogonazo" durante solo 1 step y guiandome por la soluion q tu me diste he creado esto y no se porque no aparece el fogonazo(disparo_02)

en el create del objeto disparo_02
[gml]alarm[0] = 1[/gml]
en la alarma 0 del objeto disparo_02
[gml]instance_destroy()[/gml]

y luego en el codigo que tu me pasate a?adi
[gml]if distance_to_object(soldado_01)<160
   {
    disparo2=instance_create(x,y,disparo_02)
    disparo2.direction=direction
    disparo2.image_angle=direction
    bala2=instance_create(x,y,bala_02)
    bala2.direction=direction
    bala2.image_angle=direction
   
   }

   alarm[0]=100[/gml]


la bala si aparece pero el disparo_02 no

en cambio hice algo parecido con elplayer(soldado_01) para que aparezca su fogonazo(disparo_01) y si funciona en el player.Un saludo y gracias

ohhhh acabo de encontrar la solucion...cambie alarm[0] = 1 por alarm[0] = 2 y ahora si aparece...pa volverse loco jejejeje

por cierto que tengo que a?adir a este codigo para que en vez de una bala dispare un numero al azar entre 1 y 6....evidentemente si salen 6 balas que salgan 6 disparos tambien?
[gml]if distance_to_object(soldado_01)<160
   {
    disparo2=instance_create(x,y,disparo_02)
    disparo2.direction=direction
    disparo2.image_angle=direction
    bala2=instance_create(x,y,bala_02)
    bala2.direction=direction
    bala2.image_angle=direction
   
   }

   alarm[0]=100[/gml]


saludos y gracias