Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: zHeMaa en Enero 22, 2015, 12:46:55 PM

Título: Sobre crear aliados
Publicado por: zHeMaa en Enero 22, 2015, 12:46:55 PM
Buenas a todos, en mi juego he implementado aliados (personajes que ayudan al jugador), y me gustaría que hagan prioridades, por ejemplo, que primero detecte si esta el "boss" en el mapa (por ejemplo), y si no esta que vaya a por los enemigos normales.

Por el momento tengo este código:
if instance_exists(obj_parente_enemigos) {mp_potential_step(obj_parente_enemigos.x,obj_parente_enemigos.y,velocidad,false);}

Gracias de antemano! :)
Título: Re:Sobre crear aliados
Publicado por: romon_28 en Enero 22, 2015, 02:55:32 PM
A lo mejor tendría que buscar el enemigo más próximo

if instance_exists(obj_boss)
{
var Id = instance_nearest(x,y,obj_boss);
mp_potential_step(Id.x, obj_Id.y , velocidad,false);
}
else
{
if instance_exists(obj_parente_enemigos)
{
   var Id = instance_nearest(x,y,obj_parente_enemigos);
   mp_potential_step(Id.x, obj_Id.y , velocidad,false);
}
}
Título: Re:Sobre crear aliados
Publicado por: zHeMaa en Enero 22, 2015, 06:14:26 PM
Cita de: romon_28 en Enero 22, 2015, 02:55:32 PM
A lo mejor tendría que buscar el enemigo más próximo

if instance_exists(obj_boss)
{
var Id = instance_nearest(x,y,obj_boss);
mp_potential_step(Id.x, obj_Id.y , velocidad,false);
}
else
{
if instance_exists(obj_parente_enemigos)
{
   var Id = instance_nearest(x,y,obj_parente_enemigos);
   mp_potential_step(Id.x, obj_Id.y , velocidad,false);
}
}


Perdona mi ignorancia, pero nunca he tocado esto de las variables y no se que poner en "Id" y "obj_Id", gracias por responderme!  :)
Título: Re:Sobre crear aliados
Publicado por: ordo_ab_chao en Enero 24, 2015, 02:57:57 AM
yo lo haría con una variable de control que se verifique antes de tomar la decisión de atacar
en step sería algo asi:


///decisión de blanco a atacar
var blanco = "";
if (instance_exists(boss_obj))
{
    blanco = "BOSS";
}
else if (instance_exists(normal_enemy_obj))
{
    blanco = "normal";
}
///ataque!
switch(blanco)
{
    case "BOSS":{
        //codigo de atacar al boss :V
        break;
    }
    case "normal":{
        //codigo de atacar a los enemigos normales
        break;
    }
    default:{
        //no atacar(?) cuando no hay enemigos
        break;
    }
}