Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Sdo.Ivan en Septiembre 15, 2011, 04:44:26 PM

Título: Alarmas y random
Publicado por: Sdo.Ivan en Septiembre 15, 2011, 04:44:26 PM
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
Título: Re: Alarmas y random
Publicado por: romon_28 en Septiembre 15, 2011, 04:56:39 PM
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
------------------------------------------------------------:
Título: Re: Alarmas y random
Publicado por: elviskelley en Septiembre 15, 2011, 05:29:50 PM
El error esta en la alarm cambia esto alarm[0]=100 por esto alarm[0]=10*room_speed;
Título: Re: Alarmas y random
Publicado por: Sdo.Ivan en Septiembre 15, 2011, 05:38:20 PM
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
Título: Re: Alarmas y random
Publicado por: Sdo.Ivan en Septiembre 15, 2011, 05:44:58 PM
ohhhh acabo de encontrar la solucion...cambie alarm[0] = 1 por alarm[0] = 2 y ahora si aparece...pa volverse loco jejejeje
Título: Re: Alarmas y random
Publicado por: Sdo.Ivan en Septiembre 15, 2011, 07:23:17 PM
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