Hello, I have problem with checkpoint system to my game. I think succesfully connected two scripts, but you guys should check it. Now my problem is with checkpoint pad, which should player spawn there and add next checkpoint to leaderboard... im using checkpoint leaderboard gui.
Here is script with my leaderboard, i know it's long script:
game.Players.PlayerAdded:connect(function(player) local leaderstats = Instance.new("IntValue",player) leaderstats.Name = "leaderstats" local points = Instance.new("NumberValue",leaderstats) points.Name = "Points" points.Value = 0 local P = game.StarterGui.Points.Frame.Point P.Text = " "..points.Value end) function oa (object) local player = game.Players:GetPlayerFromCharacter(object) if player ~= nil then local ls = player.leaderstats local sl = game.Workspace:FindFirstChild(ls.Checkpoints.Value) print ("Run") object.Torso.CFrame = object.Torso.CFrame + Vector3.new(0,3,0) wait() object.Torso.CFrame = sl.CFrame + Vector3.new(0,3,0) end end function oe (object) if object.ClassName == "Player" then local leaderstats = Instance.new("IntValue") leaderstats.Name = "leaderstats" local checkpoint = Instance.new("NumberValue") checkpoint.Name = "Checkpoints" checkpoint.Value = 1 checkpoint.Parent = leaderstats leaderstats.Parent = object local C = game.StarterGui.Checkpoints.Frame.Check C.Text = " "..checkpoint.Value end end game.Players.ChildAdded:connect(oe) game.Workspace.ChildAdded:connect(oa)
Here is script with pad:
function cp (hit) if hit.Parent ~= nil then local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player ~= nil then if player.leaderstats.Checkpoints.Value == script.Parent.Name - 1 then local s = hit.Parent:FindFirstChild("Humanoid") if s ~= nil then if s.Health ~= 0 then player.leaderstats.Checkpoints.Value = script.Parent.Name end end end end end end script.Parent.Touched:connect(cp)
So please help me fix it or just say what's wrong is with this.