Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: I-Am-Goku en Enero 03, 2010, 07:18:46 AM

Título: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: I-Am-Goku en Enero 03, 2010, 07:18:46 AM
Bueno mi problema es que si yo mato un enemigo a patadas 8cuerpo a cuerpo) el enemigo al tener "0 o menos" de vida... pasa a ser la instancia "enemigo_derrotado"

El problema es que si trato de matarlo con atakes especiales el enemigo simplemente pasa a tener "0 o menos" de vida... pero no pasa ser la instancia derrotado... sino que sigue recibiendo atakes especiales... (al recibirlo retrocede con un sistema de "movimiento hacia atras y una friction de 0.2 para frenar)... pero nunka es derrotado...

No se como hacer...

PD: La instancia de derrotado es un instancia que uso para "terminar la batalla" por asi decirlo... vos le pegas ocn cualkier cosa y sale disparado hacia atras y cae al suelo... (algo asi como el momento de "FINISH HIM" del Mortal Kombat)
Título: Re: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: Texic en Enero 03, 2010, 08:35:52 AM
Fijate que el codigo por el cual le pega el ataque especial lleve al mismo lugar que un golpe com?n. Es
dificil decir a la interperie cu?l es el problema, deber?as postear un ejemplo o algo para hacerlo mas
entendible, no hay ninguna regla en el game maker que diga "El ataque especial no puede cambiar
instancias", es seg?n como lo hayas programado t?
Título: Re: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: deathmetal en Enero 03, 2010, 06:51:48 PM
pega amboscodigos aqui para que podamos compararlo


tu problema lo das de una forma tan vaga que es imposible ayudarte asi
Título: Re: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: I-Am-Goku en Enero 05, 2010, 09:15:48 PM
En el evento de presionar A (patada)

if (sprite_index = bt_goku_parado && global.pulsar = 0) {sprite_index = patada;
                                    image_speed = 0.2;}

atake += 1
global.pulsar = 1;


En el evento de presionar S (poder)

if (energia > 10 && global.pulsar = 0)
    {
    if (sprite_index = parado)
    {
    sprite_index = lanzar;
    image_speed = 0.4
    }
    global.pulsar = 1;
    }


Despues de eso el codigo de que se cree la isntancia del atake y salga disparado...

en el evento step tanto del jugador como del enemigo.

if (vida < 0)
{ instance_destroy ();
  instance_create (x,y,derrotado)
  with (derrotado) image_speed = 0.2; }


y en la colision con el "ATAKE_PARENT" (parent qe voy a usar para todos los atakes especiales...)

sprite_index = recibe;
if (ATAKE_PARENT.especial = 1)
{
    if (image_xscale = -1)
    {
        action_move("000001000",2);
    }
    if (image_xscale = 1)
    {
        action_move("000100000",2);
    }
    if (vida < 0)
    {
        derrotado = 1;
        instance_destroy ();
        instance_create (x,y,derrotado)
        with (derrotado) image_speed = 0.2; }
}



Espero que MASOMENOS se entienda ^^

PD: No se fijen en los nombres... en mi juego si estan bien espesificados... kiero que se entienda bien este ejemplo...
Título: Re: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: jesuan94 en Enero 06, 2010, 12:04:43 AM
Pero yo por ahi no veo en ningun sitio que nada quite vida, asi que asi no puede morir. Miralo tu, pero yo no lo veo
Título: Re: Enemigo reconoce atake cuerpo a cuerpo pero no atake especial...
Publicado por: knd144 en Enero 06, 2010, 02:08:42 AM
que no el da?o se expresa en la parte "ataque +=1" ?

Si es as?, tal acci?n no est? en el c?digo al recibir el ataque especial  :)