I have a game where I want to show the number of deaths a player has in the leaderboard, and I've made this for it in ServerScriptService:
game.Players.ChildAdded:connect(function(player) local deaths = Instance.new("IntValue") deaths.Name = "Deaths" deaths.Parent = player.leaderstats player.Changed:connect(function() repeat wait() until player.Character player.Character.Humanoid.Died:connect(function() deaths.Value = deaths.Value + 1 end) end) end)
However, instead of increasing by one on the first death, it increases by four. But deaths after that increase it normally.
For first, use game.Players.PlayerAdded
not game.Players.ChildAdded
and use player.CharacterAdded
not player.Changed
remember :connect
is deprecated. use :Connect
Example:
game.Players.PlayerAdded:Connect(function(player) -- Detect player join print("Player added") player.CharacterAdded:connect(function(char) -- Detect char spawned print("Character added") char.Humanoid.Died:Connect(function() -- Detect humano died print("Human died") end) end) end)
Here is fixed script:
game.Players.PlayerAdded:Connect(function(player) -- Detect for leaderstats local leaderstats if player:FindFirstChild("leaderstats") then leaderstats = player.leaderstats else leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player end -- create deaths value local deaths = Instance.new("IntValue") deaths.Name = "Deaths" deaths.Parent = leaderstats -- detect character added. player.CharacterAdded:Connect(function(char) -- detect humanoid died. char.Humanoid.Died:Connect(function() deaths.Value = deaths.Value + 1 -- add 1 value to values end) end) end)
Wiki pages:
Hope it helped :)