Tengo mi propia "Healthbar" (no es la interna del GM, es una propia XD) que son 6 cuadritos, y quisiera que al llegar a 0 vuelva a comenzar al principio del nivel

Mis codigos son estos


En el sistema de vida en su "Create" lo tengo así:

global.vital = 6;


En "Draw" lo tengo así

for(vt=0; vt<global.vital; vt+=1)
{
  draw_sprite_ext(spr_barradevida,0,view_xview[0]+32+(8*vt),view_yview[0]+29,1,1,90,c_white,1);
}





Ahora las acciones y eventos que tiene mi personaje


En el "Create" de mi personaje tengo esta variable de vida

global.vital=6;

La acción que le asigne a un enemigo en "Collision" es esta. (o sea, al chocar el enemigo conmigo me saca un cuadrito de vida)

if global.vital > 0 {global.vital-=1;}



Por si las dudas dejo el adjunto


Cada día que pasa estoy mas enamorado de Holly Earl.

espero haber entendido lo que preguntas, porque parece algo muy simple... que tal si pones que si la global.vital llega a cero (o menos de 1 mejor para que no haya errores de algun enemigo que te quite 2 puntos de golpe y pasde de 1 a -1 xD), pues vas y reseteas la room tal cual y poner de nuevo la variable a 6? si no sabes algo de eso con codigo, no te cortes con el drag&drop, que no muerde xD
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

Agrega un "else"

[gml]
else
{
room_restart()
}
[/gml]

Y te recomiendo que crees un script, asi no tendras que modificarlo en todos los eventos de colision.

 8)Muchas gracias, pero me funciono sin el "else". El codigo me quedo así en el sistema de energía en su "Draw"

for(vt=0; vt<global.vital; vt+=1)
{
  draw_sprite_ext(sprite17,0,view_xview[0]+32+(8*vt),view_yview[0]+29,1,1,90,c_white,1);
}




Y le agrege este codigo como me habían dicho pero funciono sin "else"
if global.vital=0 (si tengo 0 de energía)
{
room_restart()
}


Ya voy entendiendo un poco mas GML. Antes no entenddía mucho, y ahora masomenos le empiezo a agarrar un poco la mano
Cada día que pasa estoy mas enamorado de Holly Earl.

Cita de: J.E.A en Junio 04, 2012, 06:12:02 PM
Y le agrege este codigo como me habían dicho pero funciono sin "else"
if global.vital=0 (si tengo 0 de energía)
{
room_restart()
}


Es casi lo mismo, solo que ahi ejecutas dos preguntas, con el "else" lo que haces es preguntar una sola vez, y dependiendo del resultado es la accion.