Scripting Helpers is winding down operations and is now read-only. More info→
Log in to vote

how can i make a heart based health system?

Asked by 1 year ago

i need a health system like in super cube cavern(roblox), or the binding of isaac. both have a health system based on hearts, every time something deals damage to you, you lose half a hearth. i want the player to start with only 3 heaths but i also want it so that lets say touching a part can increase you max health by 1 hearth. any help?

2 answers

Log in to vote
Answered by 1 year ago

I don't know if this is a very good answer, I'm kinda inexperienced and new, but what i would try is to make the hearts in the gui change depending on the local character's humanoid's health. Like i guess for example if the player has over 82 health (which is like 2 and a half of the health) the third heart would be on. and if the health is less that 82 and above 66 the heart would be half. Or what you could do is have the players have 6 health opposed to 100 and have the enemies deal like 1 damage (1/2 heart). What this would do is make it easier to understand since 1 health would be like half a heart and 2 health one heart and so on. For the healing part u could heal like 2 health. Sorry if this is a really bad response, I'm super amateur.

Log in to vote
Answered by
Lagfss 36
1 year ago
Edited 1 year ago

To bounce off Wild_Newbies response. Since every damage only does half a heart you could do a system where you give the player 6 health total and whenever is hit by whatever object subtract one from the health bar. You can do this with your own custom heart GUI where you use

    --decrease half a heart

and for the touched events, it's quite simple

local debounce = false
    debounce = true
    hit.Parent.Humanoid.MaxHealth += 1
    player.HealthValue.Count.Value += 1 --this will be used to know when to add another heart

ofc you'd have to define what part, in particular, you want to be touched

and for the spawning of new hearts based on your health

    local folder ="folder", player)
    folder.Name = HealthValue

    local Count ="NumberValue", folder)
    local Count.Name = "Count"
    local Count.Value = 0

        if Count.Value == 2 then
            Count.Value = 0
            --then you would have to either fire the server ot communicate or clone it from 

I kinda wrote this just off the top of my head but this should give you an idea what to do if you need further information I can provide

Answer this question