local Players = game:GetService("Players") local player = Players.LocalPlayer -- Create Tool local tool = Instance.new("Tool") tool.Name = "Teleport Behind" tool.RequiresHandle = false tool.Parent = player:WaitForChild("Backpack") -- Cooldown local cooldown = false local cooldownTime = 1.2 -- Function to get nearest player local function getNearestPlayer() local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then return nil end local root = character.HumanoidRootPart local nearest = nil local shortestDistance = math.huge for _, otherPlayer in pairs(Players:GetPlayers()) do if otherPlayer ~= player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("HumanoidRootPart") then local otherRoot = otherPlayer.Character.HumanoidRootPart local distance = (root.Position - otherRoot.Position).Magnitude if distance < shortestDistance then shortestDistance = distance nearest = otherPlayer end end end return nearest end -- Tool activation tool.Activated:Connect(function() if cooldown then return end cooldown = true local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then return end local target = getNearestPlayer() if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then local targetRoot = target.Character.HumanoidRootPart local myRoot = character.HumanoidRootPart -- Position behind target local behindPosition = targetRoot.CFrame * CFrame.new(0, 0, 3) myRoot.CFrame = behindPosition end -- Cooldown task.wait(cooldownTime) cooldown = false end)