Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: 0m@R en Julio 24, 2010, 10:43:36 PM

Título: IA pistolero
Publicado por: 0m@R en Julio 24, 2010, 10:43:36 PM
estoy creando mi 3 version de fronter combat, en este momento me gustaria solucionar un problema que considero es muy breve pero cuando uno no sabe pues no sabe, mire codigos en rojo:

depth=(self.y* -(100));
if ((instance_exists(player))and(distance_to_object(player)<200))
{
mp_potential_step(player.x,player.y,2,1);
sprite_index=(pistolerrr);
}
else
{
sprite_index=(pistolerq);
}
if (distance_to_object(player)<80)
{
direction=point_direction(player.x,player.y,x,y);
speed=0;
}
if (distance_to_object(player)<120)
{
instance_create(disparador.x,disparador.y,bala);
}

el personaje "disparador" le lanza una rafaga a personaje "player", necesito hacer que esos disparos sean por lo menos cada 20 milisegundos
Título: Re: IA pistolero
Publicado por: cristalbeast en Julio 25, 2010, 12:55:19 AM
Puedes utilizar una alrma

en create del objeto que dispara

listo=true//esta variable le dira que ya puede atacar
velocidad=(room_speed*(20))/100  // en los 20 pones cada cuantos milisegundos quieres

en el evento de la alarma 0

listo=true

en el evento step tu codigo rojo quedaria asi

if (distance_to_object(player)<120 && lsito=true)
{
instance_create(disparador.x,disparador.y,bala);
listo=false
alarm[0]=velocidad

}

Título: Re: IA pistolero
Publicado por: Alfonsos1 en Julio 25, 2010, 01:34:40 AM
cada 20 milisegundos?

eso es muy rapido, tendrias que tener por lo menos una room_speed de 50, y disparar a cada step