
Key Required VerifiedUniversal

local player = game.Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("b")
local Workspace = game:GetService("Workspace")
local detectionRange = 750
local heightUnderPlayer = 5
local safeDistanceFromRock = 50
local function hasErrorTool(player)
if player.Backpack:FindFirstChild("Error") or (player.Character and player.Character:FindFirstChild("Error")) then
return true
end
return false
end
local function isTransparent(character)
for _, part in pairs(character:GetChildren()) do
if part:IsA("MeshPart") or part:IsA("Part") then
if part.Transparency == 0.5 then
return true
end
end
end
return false
end
local function isWithinLobbyArea(character)
return game:GetService("Workspace").Lobby:IsAncestorOf(character)
end
local function distanceFromRock(position)
local rock = Workspace:FindFirstChild("rock")
if rock then
return (position - rock.Position).Magnitude
end
return math.huge
end
local function getClosestPlayer(character)
local shortestDistance = math.huge
local closestPlayer = nil
for _, otherPlayer in ipairs(game.Players:GetPlayers()) do
if otherPlayer ~= player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("Head")
and not isTransparent(otherPlayer.Character) and not isWithinLobbyArea(otherPlayer.Character)
and distanceFromRock(otherPlayer.Character.Head.Position) > safeDistanceFromRock
and not hasErrorTool(otherPlayer) then
local distance = (character.Head.Position - otherPlayer.Character.Head.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = otherPlayer
end
end
end
return closestPlayer
end
local function createPlatform(position)
local platform = Instance.new("Part")
platform.Position = position
platform.Size = Vector3.new(10, 1, 10)
platform.Anchored = true
platform.CanCollide = true
platform.BrickColor = BrickColor.new("Really black") -- Set to black color
platform.Transparency = 1 -- Set to invisible
platform.Parent = Workspace
return platform
end
local function continuousTeleportAndActivate(character)
local platform = nil
character.Humanoid.Died:Connect(function()
character:SetPrimaryPartCFrame(Workspace.Lobby.Teleport1.CFrame)
wait(1)
end)
while true do
local closestPlayer = getClosestPlayer(character)
if closestPlayer and closestPlayer.Character and closestPlayer.Character:FindFirstChild("HumanoidRootPart") then
local humanoid = closestPlayer.Character:FindFirstChild("Humanoid")
if humanoid and humanoid.Health <= 0 then
wait(0.1)
closestPlayer = getClosestPlayer(character)
end
character:SetPrimaryPartCFrame(closestPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, -heightUnderPlayer, 0))
if not platform then
platform = createPlatform(character.HumanoidRootPart.Position + Vector3.new(0, 3, 0))
else
platform.Position = character.HumanoidRootPart.Position + Vector3.new(0, 3, 0)
end
local args = {[1] = closestPlayer.Character.Head}
remoteEvent:FireServer(unpack(args))
end
wait(0)
end
end
player.CharacterAdded:Connect(continuousTeleportAndActivate)
local currentCharacter = player.Character or player.CharacterAdded:Wait()
continuousTeleportAndActivate(currentCharacter)No comments yet for this script.


