hola de nuevo chicos ^^ os comento un poquito porque nose en que estoy fallando....
intento poner una barra d vida individual a cada enemigo... con el siguiente codigo:
en create:
(control) var: myhealth ....10
                  var: color..........""
step:
(code)
if myhealth>4 then{color=c_lime}
if myhealth>2 then{if myhealth<5 then{color=c_yelow}}
if myhealth>0 then{if myhealth<3 then{color=c_red}}
if myhealth>0 then{instance_destroy()}

draw:
(code)
draw_set_color(c_dkgray)
draw_rectangle(x+1,y-5,x+30,y-1,false)
draw_set_color(color)
draw_rectangle(x+1,y-5,x+myhealth*3,y-1,false)
draw_set_color(c_black)
draw_rectangle(x+1,y-1,x+30,y-1,true)

pestaña draw , draw sprite, selecciono un sprite de mi enemigo, x0, y0, y abajo pongo image_index y marco relative.


simplemnte no me aparece el enemigo.... y si marco relative en mygealth, me aparece con la barra d vida y todo... pero aparece en gris con una barra negra enorne e probado con draw gui.. sin poner el sprite etc etc.... puede k sea problema d alguna coordenada o de algo que e escrito mal?
espero que podais ayudarne gracias!
El limite lo pone nuestra imaginacion

#1 Mayo 24, 2014, 11:58:26 AM Ultima modificación: Mayo 24, 2014, 12:11:41 PM por elviskelley
//Event Step
if (myhealth <0) then {instance_destroy();}

//Event Draw
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha)
//Este siempre debe estar cuando usas Event Draw para que se dibujen los sprites.

draw_healthbar(x+1,y-5,x+30,y-1,myhealth,c_yellow,c_white,c_red,0,1,0)
//este se usa para dibujar barras de energia personalisadas.




Ahora voy a explicar tu codigo y por que no sirve.
if myhealth >4 then{color=c_lime}
//aca esta bien... Pero cierra la condicion entre parentesis.

if myhealth>2 then{if myhealth<5 then{color=c_yelow}}
//Esto si que esta mal deberia ser asi:
if (myhealth >2 and myhealth <5) then{color=c_yelow}} //es lo correcto

if myhealth>0 then{if myhealth<3 then{color=c_red}}
//Esto esta mal, deberia ser asi:
if (myhealth >0 and myhealth<3) then {color=c_red} //es lo correcto.

if myhealth>0 then{instance_destroy()} //Esto es muy mal, siempre va a destruirse.
//deberia ser asi.
if (myhealth <0) then{instance_destroy()} //si no se destruiria siempre que tenga myhealh.




muchisimas gracias elvis, puse las condiciones entre parentesis x si m causaba algun error a la ora de atacar o tal... pero al solucionar el error del instace destroy el simbolo ya se me soluciono el problema ya me aparece la barrita y cree un ecento left mouse con var: myhealth -1 para comprobar que quitaba bien la vida...

pero ahora me asalta una duda... la barra me aparece x detras de mi enemigo...y me gustaria que estuviera encima d su caveza e ido modificando las coordenadas y lo uniko que logro cambiar es el tamaño de la barra d vida pero no consigo ponerlo justo encima.
el tamaño d mi enemigo es de: 32x48.
y otra duda que tengo es.... si quiero que vuelva a aparecer, x ejemplo en 3 minutos osea como respawn etc... que lo pongo en el...

instance_destroy( aqui??)  // esque nose comi debo acerlo esactamnte
poner restart instance con 5400 step (xk creo que 30 step es 1 segundo)
y gracias x la soluccion de antes ya te añadi a mis creditos ^^
El limite lo pone nuestra imaginacion

#3 Mayo 24, 2014, 01:17:50 PM Ultima modificación: Mayo 24, 2014, 01:19:40 PM por elviskelley
El game maker va dibujando las cosas segun el orden de linea osea la primera linea primero la segunda va en cima etc..
si cambias ese orden cambias como se dibuja osea su depth grafica.

//Event Draw
draw_healthbar(x+15,y-6,x+15,y-2,myhealth,c_yellow,c_white,c_red,0,1,0)
//este se usa para dibujar barras de energia personalisadas.

draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha)
//Este siempre debe estar cuando usas Event Draw para que se dibujen los sprites.

Nota: has pruebas, los usuarios te daremos codigos e ideas pero no siempre seran perfectos a tus necesidades, simplemente por que no sabemos que piensas. Lo mejor es que hags una copia del juego tomes los codigos que te dieron y haces pruebas ajustando las; coordenadas, variables, colores etc...
Y asi descubrir como funciona el codigo y manipularlo a tu antojo.

elvis, e tomado tu ejemplo muy encuenta, pero .. me e topado con un error a la ora de atacar... que la barra no iva cambiando el color i en vez de restar sumaba, intente de varias maneras, se que no lo iciste esactamente para mi, que era para que fuera provando pero lo guarde y tome algunas cosas de el ^^ ahora me a pasado esto:


Buenas chicos, os subo un apartado de mi proyecto, en concreto el obj_player,e intentado ponerle una barra de vida y de mana encima de la cabeza,
las cual una al recibir daño ira cambiando de verda a amarillo a rojo y morir, y la del mana asta vaciarse.
mi problema es el siguiente... consigo poner las dos barras pero la del mana siempre se sobrepone a la de vida, y tan solo se ven 2 barras de mana...
las dibujo x metodo draw...
otra cuestion que tambien me tiene muuuy desesperado, es x ejemplo... en la variable de: "vidaplayer" tengo que poner "10" y no puedo poner 100 como asi me gustaria,
porque la barra de la vida se aria grandisima, y mi juego al ser de rol la vida ira aumentando con el nivel, como hago para que tenga un tamaño esacto,
aunque la vida aumente? deberia poner el la variable "vidaplayer" un valor de:"" (dejandolo solo con comillas) o como deberia hacerlo?
se que todo parece un lio y realmente para mi lo es, pues mis conocimiento todabia son bastantes bajos, por eso no se hacia que ideas ir,
os dejo aqui el proyecto de mi player como lo tengo yo esactamente. (sin sprites etc.. etc..)

Nota: simplemente seria para saver si el metodo que uso es el mas facil, o lo estoi usando mal (y como lo soluciono)
poner ambas barras (mana y hp) encima de mi pj, y como hacer para que, aunque aumente la vida o mana, mi barra no aumente su tamaño.

(se que puede parecer, que estoi en un bar y lo unico que hago es pedir, pero esa no es mi intencion, tan solo necesito ubicarme,
saber si voi bien, y vuestros consejos, para no complicarme mas de lo necesario)

Muchisimas gracias chicos, y a los que leeis intentando solucionarlo, tambien os doi las gracias, la buena intencion es lo que cuenta ^^
El limite lo pone nuestra imaginacion

Este programa tiene algún fallo que lo corrompe, por lo que no puedo abrirlo.
Por favor, vuelve a subirlo como un archivo de importación.

aki ta
El limite lo pone nuestra imaginacion

Sigue habiendo error, aunque esta vez se debe a un fallo en el código del programa, que hace que al ejecutarlo salga el "Code Error".
Esto se debe a que mencionas en el código a un objeto llamado "obj_block", que como ni lo has creado, causa el fallo.

Y tengo que reconocer que este programa de por si le queda mucho por mejorar. ;)

ya lo e solucionado... digamos que esta noche no dormi... hajahahae ivestigado y investidado... luego pongo aqui los codes etc...
ice barra d exp.. vida y mana... cuando sube d level.. sube la vida y mana...
pero m sucede un error que cuando me atacan no se para en 0 sigue poniendo -1,-2...etc etc supongo que e de ponerle que.. global.vida=0 {instance_destroy()} pero esque tampoko quiero que desaparedca... si no que creare un punto de respawn y le retara un.porcentaje d exp... pero eso ya sera otro tema jejehe luego dejo aki como lo ice  y aver si se me ocurre como hacer para que cuando yegue a 0 pare.
El limite lo pone nuestra imaginacion