Im looking for a leaderboard script that just uses stages and deaths.Ive tried many things and the leaderboard has shown up but when I touched the spawn it didn't change the stage.
Can anyone help me?
This is what might what you were looking for..
game.Players.PlayerAdded:connect(function(Plr) -- Player Joined Plr.CharacterAdded:connect(function(Char) -- Players' Character Added -- Setting Variables local ldrstats = Instance.new("StringValue",Plr)-- Creating Leaderstats ldrstats.Name = "Leaderstats" local stge = Instance.new("IntValue", ldrstats)-- Creating Stage Value stge.Name = "Stage" stge.Value = 1 local dths = Instance.new("IntValue", ldrstats) -- Creating Death Value dths.Name = "Deaths" dths.Value = 0 -- Player died Char:WaitForChild("Humanoid").Died:connect(function() -- Finding if Player Died dths.Value = dths.Value + 1 -- Add one Death end) end) end)
Have a Stage Part with a script and a value that the VALUE has the stage number.
In The Script:
script.Parent.Touched:connect(function(Hit) -- Part is Touched local PlrN = Hit.Parent.Name -- Get Player Name Who Touched local Plr = game.Players:FindFirstChild(PlrN) -- Find Player in Players with the Name if Plr then -- If script have found the Player local Ldrs = Plr:FindFirstChild("Leaderstats") -- Find Leaderstats in Player if Ldrs then -- If Leaderstats is found local Stage = Ldrs:FindFirstChild("Stage") -- Find Stage in Leaderstats if Stage then -- If Stage is found local StageV = script.Parent.Stage -- Variable for the Value to make sure players are not skipping stages if Stage.Value == StageV.Value then -- If their *SUPPOSED* stage is correct with the Stage Value Stage.Value = Stage.Value + 1 -- Add One to the players' Stage value end end end end end)