Taller Lua

Catálogo/Checkpoints de obby

ObbyFácil

Checkpoints de obby

Cualquier parte con el tag Checkpoint guarda el progreso. Al morir, el jugador vuelve ahí en lugar del spawn.

Valores

Este script no tiene valores que ajustar. Cópialo tal cual.

Dónde va

  1. 01

    Crea las piezas

    Añade Parts en el recorrido donde quieras guardar progreso.

  2. 02

    Tag Checkpoint

    Selecciona cada part → Properties → tags (o Tag Editor) → Checkpoint.

  3. 03

    Pega el script

    Un Script en ServerScriptService.

Explorer → ServerScriptServiceScriptCheckpoints

Checkpoints.luaScript
--[[
  Checkpoints de obby · Taller Lua
  Pega este Script en ServerScriptService y pulsa Play.
  Es para TU juego en Roblox Studio — no es un exploit.
  Taggea las partes con: Checkpoint
]]

local Players = game:GetService("Players")
local CollectionService = game:GetService("CollectionService")

local lastCheckpoint = {}

local function hook(part)
	if not part:IsA("BasePart") then
		return
	end
	part.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		if player then
			lastCheckpoint[player.UserId] = part.Position
		end
	end)
end

for _, inst in ipairs(CollectionService:GetTagged("Checkpoint")) do
	hook(inst)
end
CollectionService:GetInstanceAddedSignal("Checkpoint"):Connect(hook)

local function setup(player)
	player.CharacterAdded:Connect(function(character)
		local hrp = character:WaitForChild("HumanoidRootPart")
		local pos = lastCheckpoint[player.UserId]
		if pos then
			task.wait(0.12)
			hrp.CFrame = CFrame.new(pos + Vector3.new(0, 4, 0))
		end
	end)
end

Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do
	setup(player)
end