local Players = game:GetService("Players") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local root = char:WaitForChild("HumanoidRootPart") local folder = workspace.Checkpoint local delay = 0.15 local maxCheckpoint = 79 local completed = false spawn(function() while not completed do wait(delay) local highest = 0 local nextPart = nil for _, obj in pairs(folder:GetChildren()) do if obj.Name:match("^%d+$") then local num = tonumber(obj.Name) if num > highest and num <= maxCheckpoint then highest = num nextPart = obj end end end if nextPart and highest < maxCheckpoint then root.CFrame = nextPart.CFrame + Vector3.new(0, 25, 0) elseif highest >= maxCheckpoint then completed = true end end end) player.CharacterAdded:Connect(function(newChar) char = newChar root = char:WaitForChild("HumanoidRootPart") end)