Entiendo que lo que buscas es que si el personaje no dispara, sólo entonces, recupere vida.
No sé como tienes escrita la acción de disparar, así que pondré un ejemplo:
disparar = keyboard_check(vk_space); //Si pulsas Espacio, se activa la variable (disparar)
if disparar //Si pulsas Espacio
{
instance_create(x, y, obj_bala); //Crear bala en dichas coordenadas
}
else //Si no estás pulsando Espacio
{
salud += 2;
}
Tampoco sé cómo tienes dibujada la barra de vida.
Pero por ejemplo, si es un sprite, puedes cambiar su ancho dependiendo de la cantidad de salud que tenga así:
sprite_width = (salud actual / salud total) ; //Multiplicaría el porcentaje de salud que le queda, a el ancho de la barra en su estado máximo
Así que si por ejemplo:
la (Barra) mide 100 píxeles de ancho,
la (Salud Actual) 50 y
la (Salud Total) 100
pues el ancho de la barra se mutiplicaría por 0,5. Es decir la mitad, 50 píxeles.
No sé como tienes escrita la acción de disparar, así que pondré un ejemplo:
disparar = keyboard_check(vk_space); //Si pulsas Espacio, se activa la variable (disparar)
if disparar //Si pulsas Espacio
{
instance_create(x, y, obj_bala); //Crear bala en dichas coordenadas
}
else //Si no estás pulsando Espacio
{
salud += 2;
}
Tampoco sé cómo tienes dibujada la barra de vida.
Pero por ejemplo, si es un sprite, puedes cambiar su ancho dependiendo de la cantidad de salud que tenga así:
sprite_width = (salud actual / salud total) ; //Multiplicaría el porcentaje de salud que le queda, a el ancho de la barra en su estado máximo
Así que si por ejemplo:
la (Barra) mide 100 píxeles de ancho,
la (Salud Actual) 50 y
la (Salud Total) 100
pues el ancho de la barra se mutiplicaría por 0,5. Es decir la mitad, 50 píxeles.