local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local rootPart = character:WaitForChild("HumanoidRootPart") local checkpoints = workspace:WaitForChild("Checkpoints") local isTeleporting = false local function teleportToCheckpoint() if isTeleporting then return end isTeleporting = true local checkpointNum = 1 while true do local checkpoint = checkpoints:FindFirstChild(tostring(checkpointNum)) if not checkpoint then break end rootPart.CFrame = checkpoint.CFrame + Vector3.new(0, 3, 0) wait(0.1) checkpointNum += 1 end isTeleporting = false end teleportToCheckpoint()