local player = game.Players.LocalPlayer -- get the local player local workspace = game:GetService("Workspace") -- workspace service -- Function to teleport player to a checkpoint local function goToCheckpoint(number) local checkpoints = workspace:FindFirstChild("Checkpoints") -- find the folder if checkpoints == nil then print("ERROR: Can't find Checkpoints folder in Workspace!") return end -- Look for the part with the number as its name local checkpointPart = checkpoints:FindFirstChild(tostring(number)) if checkpointPart and checkpointPart:IsA("Part") then -- make sure it's a part if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then -- Move player to the part's position, a bit above so they don't get stuck player.Character.HumanoidRootPart.CFrame = checkpointPart.CFrame + Vector3.new(0, 3, 0) print("Teleported to checkpoint number " .. number .. "!") -- feedback for debugging else print("Uh oh, player character or HumanoidRootPart not found!") end else print("Checkpoint " .. number .. " not found or it's not a Part!") end end -- Loop through checkpoints 1 to 150 local function startTeleporting() print("Starting teleport sequence...") -- let me know it’s working for i = 1, 150 do goToCheckpoint(i) wait(0) -- wait a bit between teleports, feels more natural end print("Done teleporting through all checkpoints!") end -- When the player's character loads, start the teleport sequence player.CharacterAdded:Connect(function(character) print("Player character loaded, starting in 1 second...") wait(0) -- give it a sec to make sure everything’s ready startTeleporting() end) -- If the player is already in the game, just start if player.Character then print("Player already in game, starting now!") startTeleporting() end