Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

HP resets when the player dies?

Hey,

I'm creating an RPG-styled game, and I modify the player's HP every time they level up. However, when they die, the HP resets and goes back to the default 100.

Here is the code:

local replicatedStorage = game:GetService("ReplicatedStorage")
local hpEvent = replicatedStorage:WaitForChild("HpEvent")
local hpDeath = replicatedStorage:WaitForChild("HpDeathChange")

function changeHP(player, value)
	local char = player.Character or player.CharacterAdded:Wait()
	local humanoid = char:WaitForChild("Humanoid")
	
	-- Checks if the player isn't dead
	repeat wait() until humanoid.Health ~= 0
	repeat wait() until player.leaderstats.Level.Value == value
	print("yes")
	
	local health = 100 + (value ^ 2.5 + value * 40)
	local flooredHealth = math.floor(health)
	
	humanoid.MaxHealth = flooredHealth
	humanoid.Health = flooredHealth
end

hpEvent.OnServerEvent:Connect(changeHP)

I have a remote even that fires once the player dies & levels up!

1 answer

local Players=game:GetService"Players"
workspace.ChildAdded:Connect(function(v)
local player=Players:GetPlayerFromCharacter(v.Parent)
if player then
 wait()local value,hum=player.leaderstats.Level.Value,v.Parent.Humanoid
hum.MaxHealth=math.floor(100 + (value ^ 2.5 + value * 40))
 hum.Health=hum.MaxHealth
end
end)

This discussion is preserved as it was. New answers, comments, and votes are closed.