local player = game.Players.LocalPlayer local backpack = player:WaitForChild("Backpack") local tool = Instance.new("Tool") tool.Name = "TP Tool" tool.RequiresHandle = true tool.CanBeDropped = false local handle = Instance.new("Part") handle.Name = "Handle" handle.Size = Vector3.new(1,1,1) handle.Color = Color3.fromRGB(128, 128, 128) handle.Material = Enum.Material.Plastic handle.CanCollide = false handle.Anchored = false handle.Parent = tool tool.Parent = backpack local mouse = player:GetMouse() local maxDistance = 1000 tool.Activated:Connect(function() local targetPos = mouse.Hit.p local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local hrp = char.HumanoidRootPart local distance = (targetPos - hrp.Position).Magnitude if distance <= maxDistance then hrp.CFrame = CFrame.new(targetPos + Vector3.new(0,5,0)) else print("Teleport too far!") end end)