I’m not a proficient scripter so I can’t make an actual script, however I do have an outline that you can try to script.
When and if a player’s position goes under the checkpoint’s position, the script kills the humanoid. For the fast respawn, you can just search up a youtube tutorial or use a free script.
FallenPartsDestroyHeight looks as good part for to help this, but when you have obby with 10 floors is not working because base is down. So you fall and fall to last Floor.
The player dies if he falls from a height greater than the height you specify for him in the code
This code when placed inside a LocalScript in StarterPlayer in StarterCharacterScripts
local Root = script.Parent:WaitForChild("HumanoidRootPart")
local Humanoid = script.Parent:WaitForChild("Humanoid")
local Enable = false
local EndPosition = 0
Humanoid.StateChanged:Connect(function(oldState, newState)
if newState ~= Enum.HumanoidStateType.Freefall then
Enable = false
end
end)
function onFreeFall()
print(Root.Position.Y)
EndPosition = Root.CFrame * Vector3.new(0, -Humanoid.JumpPower, 0)
print(EndPosition.Y)
Enable = true
while Enable == true do
wait(0.01)
if Root.Position.Y <= EndPosition.Y then
Humanoid.Health = 0
end
end
end
Humanoid.FreeFalling:connect(onFreeFall)
Replace Humanoid.JumpPower the altitude at which you want the player to die