I finally got my checkpoint script working but when you respawn, you're always facing the same direction. Here is my script:
game.Players.PlayerAdded:Connect(function(plr) local stage = plr:WaitForChild("leaderstats").Stage plr.CharacterAdded:Connect(function(char) repeat wait() until plr.Character ~= nil wait(0.01) local checkpoint = game.Workspace.Stages:FindFirstChild(stage.Value) char:FindFirstChild("HumanoidRootPart").CFrame = CFrame.new(checkpoint.Position + Vector3.new(0,5,0), checkpoint.Position) char:FindFirstChild("HumanoidRootPart").Orientation = Vector3.new(0,0,0) wait(0.1) end) end)
[MARK THIS AS ACCEPTED IF THIS WORKS]
You can fix this by first having the correct rotation but not position and then fixing the position.
THE SCRIPT:
game.Players.PlayerAdded:Connect(function(plr) local stage = plr:WaitForChild("leaderstats").Stage plr.CharacterAdded:Connect(function(char) repeat wait() until plr.Character ~= nil wait(0.01) local checkpoint = game.Workspace.Stages:FindFirstChild(stage.Value) char:FindFirstChild("HumanoidRootPart").CFrame = checkpoint.CFrame char:FindFirstChild("HumanoidRootPart").Position = Vector3.new(checkpoint.Position.x, checkpoint.Position.y + 5, checkpoint.Position.z) wait(0.1) end) end)
Hey, maybe all you need to do is rotate the checkpoint.