local num = 0 local start = true -- editable local delay = .3 -- editable local checkpointstart = 1 -- editable if start then local process = game.Players.LocalPlayer:FindFirstChild("checkpointaa") or Instance.new("BoolValue", game.Players.LocalPlayer) process.Name = "checkpointaa" process.Value = true num = (checkpointstart - 1) or 0 while task.wait(delay) do if not process or not process.Value then return end num += 1 local folder = game.Workspace:FindFirstChild("Checkpoints") or game.Workspace:FindFirstChild("Checkpoint") or game.Workspace:FindFirstChild("Stages") if not folder then pcall(function() game.Players.LocalPlayer.Character:MoveTo(game.Workspace["Checkpoint"..tostring(num)].Position) end) pcall(function() game.Players.LocalPlayer.Character:MoveTo(game.Workspace[tostring(num)].Position) end) else pcall(function() if typeof(folder[num]) ~= "Model" then game.Players.LocalPlayer.Character:MoveTo(folder[num].Position) end end) pcall(function() game.Players.LocalPlayer.Character:MoveTo(folder[num].Spawn.Position) end) end end else game.Players.LocalPlayer:FindFirstChild("checkpointaa").Value = false end