Nombre del creador: Sobaco En Llamas
Breve descripción de su función: dibuja una barra de vida dividida en 10 puntos (bloques o como quieran llamarlo) que se vacía según el porcentaje de la vida eligiendo tú los sprites y el tamaño que quieras.
Versión GM utilizada: :GM8:
Código del Script:
--------------------------------------------------------------------------------------------------------------------------------
y ahora el post que había antes y me hicieron modificar, sry es mi primer post aquí, no volverá a pasar, pero no borro lo de abajo, ke molaba muchoo xdd
Hola muy buenas ^_^ estoy superfeliz porque acabo de terminar porfín mi primerrrr script más o menos decente
Se trata de tener la barra de vida personalizada hecha con puntos, puntos me refiero a que va por partes (10 en concreto en este script) que se van "vaciando" según el porcentage de la vida que tienes. Solo has de hacer 2 sprites (el del punto lleno y el del punto vacío), un eventoo draw en un objeto con el script y rellenar los arguments, NADA MÁS!
//argument0 = tamaño x de los sprites (ejemplo 32)
//argument1 = variable de la vida con la que comienza el personaje
//argument2 = vida máxima (aunque empiece con la vida al máximo, debe ser otra variable distinta o un valor)
//argument3 = sprite punto vacio
//argument4 = sprite punto lleno
Los que controlan bien de GML, verás de sobrada que el codigo que he hecho se podría simplificar con bucles o a saber, pero es que yo soy nooooob aun con esto y me ha costado hacer que todo encaje y de una manera bien personalizable, así que lo he hecho como he podido y no quiero saber más del código que hemos pedido el divorcio xdd, así que sin más preámbulos, adjunto un zip con el script en .txt, el mismo en .gml por si acaso y un ejemplo adjunto que pueden modificar para ver que funciona incluso si cambian los sprites (el punto lleno y vacío del mismo tamaño eeh!! xd)
Saludos y no me tiren tomates xdd
Breve descripción de su función: dibuja una barra de vida dividida en 10 puntos (bloques o como quieran llamarlo) que se vacía según el porcentaje de la vida eligiendo tú los sprites y el tamaño que quieras.
Versión GM utilizada: :GM8:
Código del Script:
Código [Seleccionar]
////////////////////////////////////////////////////////////////////
///////S/C/R/I/P/T/S////////////////////////M/I/E/R/D/O/S/O/S///////
//////////////////////////////B/Y///////////////////////////////////
///////S/O/B/A/C/O///////////////////////////E/N//L/L/A/M/A/S///////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Nombre: Barra con Puntos //
// //
// Posición: Evento Draw en un objeto suelto //
// argument0 = tamaño x de los sprites (ejemplo 32) //
// argument1 = variable de la vida con la que comienza el //
// personaje //
// argument2 = vida máxima (aunque empiece con la vida al //
// máximo, debe ser otra variable distinta o un valor) //
// argument3 = sprite punto vacio //
// argument4 = sprite punto lleno //
////////////////////////////////////////////////////////////////////
varvida=argument1;
varmaxvida=argument2;
vidaporciento = varvida*100/varmaxvida;
if vidaporciento > 90
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument4,0,(16+(argument0*5)),16)
draw_sprite(argument4,0,(16+(argument0*6)),16)
draw_sprite(argument4,0,(16+(argument0*7)),16)
draw_sprite(argument4,0,(16+(argument0*8)),16)
draw_sprite(argument4,0,(16+(argument0*9)),16)
}
else if vidaporciento > 80
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument4,0,(16+(argument0*5)),16)
draw_sprite(argument4,0,(16+(argument0*6)),16)
draw_sprite(argument4,0,(16+(argument0*7)),16)
draw_sprite(argument4,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 70
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument4,0,(16+(argument0*5)),16)
draw_sprite(argument4,0,(16+(argument0*6)),16)
draw_sprite(argument4,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 60
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument4,0,(16+(argument0*5)),16)
draw_sprite(argument4,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 50
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument4,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 40
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument4,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 30
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument4,0,(16+(argument0*3)),16)
draw_sprite(argument3,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 20
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument4,0,(16+(argument0*2)),16)
draw_sprite(argument3,0,(16+(argument0*3)),16)
draw_sprite(argument3,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 10
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument4,0,(16+(argument0)),16)
draw_sprite(argument3,0,(16+(argument0*2)),16)
draw_sprite(argument3,0,(16+(argument0*3)),16)
draw_sprite(argument3,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento > 0
{
draw_sprite(argument4,0,16,16)
draw_sprite(argument3,0,(16+(argument0)),16)
draw_sprite(argument3,0,(16+(argument0*2)),16)
draw_sprite(argument3,0,(16+(argument0*3)),16)
draw_sprite(argument3,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
else if vidaporciento <= 0
{
draw_sprite(argument3,0,16,16)
draw_sprite(argument3,0,(16+(argument0)),16)
draw_sprite(argument3,0,(16+(argument0*2)),16)
draw_sprite(argument3,0,(16+(argument0*3)),16)
draw_sprite(argument3,0,(16+(argument0*4)),16)
draw_sprite(argument3,0,(16+(argument0*5)),16)
draw_sprite(argument3,0,(16+(argument0*6)),16)
draw_sprite(argument3,0,(16+(argument0*7)),16)
draw_sprite(argument3,0,(16+(argument0*8)),16)
draw_sprite(argument3,0,(16+(argument0*9)),16)
}
--------------------------------------------------------------------------------------------------------------------------------
y ahora el post que había antes y me hicieron modificar, sry es mi primer post aquí, no volverá a pasar, pero no borro lo de abajo, ke molaba muchoo xdd
Hola muy buenas ^_^ estoy superfeliz porque acabo de terminar porfín mi primerrrr script más o menos decente

Se trata de tener la barra de vida personalizada hecha con puntos, puntos me refiero a que va por partes (10 en concreto en este script) que se van "vaciando" según el porcentage de la vida que tienes. Solo has de hacer 2 sprites (el del punto lleno y el del punto vacío), un eventoo draw en un objeto con el script y rellenar los arguments, NADA MÁS!

//argument0 = tamaño x de los sprites (ejemplo 32)
//argument1 = variable de la vida con la que comienza el personaje
//argument2 = vida máxima (aunque empiece con la vida al máximo, debe ser otra variable distinta o un valor)
//argument3 = sprite punto vacio
//argument4 = sprite punto lleno
Los que controlan bien de GML, verás de sobrada que el codigo que he hecho se podría simplificar con bucles o a saber, pero es que yo soy nooooob aun con esto y me ha costado hacer que todo encaje y de una manera bien personalizable, así que lo he hecho como he podido y no quiero saber más del código que hemos pedido el divorcio xdd, así que sin más preámbulos, adjunto un zip con el script en .txt, el mismo en .gml por si acaso y un ejemplo adjunto que pueden modificar para ver que funciona incluso si cambian los sprites (el punto lleno y vacío del mismo tamaño eeh!! xd)
Saludos y no me tiren tomates xdd
