
Key RequiredUniversal

-- teleport to part gui
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local old = playerGui:FindFirstChild("TeleportPartGUI")
if old then old:Destroy() end
local gui = Instance.new("ScreenGui", playerGui)
gui.Name = "TeleportPartGUI"
gui.ResetOnSpawn = false
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 230, 0, 230)
frame.Position = UDim2.new(0.5, -115, 0.5, -115)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)
local stroke = Instance.new("UIStroke", frame)
stroke.Thickness = 3
task.spawn(function()
while task.wait(0.1) do
local hue = (tick() % 5) / 5
stroke.Color = Color3.fromHSV(hue, 1, 1)
end
end)
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, -30, 0, 24)
title.Position = UDim2.new(0, 10, 0, 4)
title.BackgroundTransparency = 1
title.Text = "TELEPORT PART"
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextXAlignment = Enum.TextXAlignment.Left
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 24, 0, 24)
closeBtn.Position = UDim2.new(1, -28, 0, 4)
closeBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
closeBtn.MouseButton1Click:Connect(function()
gui:Destroy()
end)
-- TextBox
local box = Instance.new("TextBox", frame)
box.Size = UDim2.new(0.6, 0, 0, 26)
box.Position = UDim2.new(0.05, 0, 0, 34)
box.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
box.Text = ""
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.TextSize = 14
box.Font = Enum.Font.Gotham
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 8)
local enterBtn = Instance.new("TextButton", frame)
enterBtn.Size = UDim2.new(0.25, 0, 0, 26)
enterBtn.Position = UDim2.new(0.68, 0, 0, 34)
enterBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
enterBtn.Text = "Enter"
enterBtn.Font = Enum.Font.GothamBold
enterBtn.TextSize = 14
enterBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
Instance.new("UICorner", enterBtn).CornerRadius = UDim.new(0, 8)
-- Scroll
local scroll = Instance.new("ScrollingFrame", frame)
scroll.Size = UDim2.new(0.9, 0, 0.62, 0)
scroll.Position = UDim2.new(0.05, 0, 0, 70)
scroll.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
scroll.ScrollBarThickness = 4
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
Instance.new("UICorner", scroll).CornerRadius = UDim.new(0, 8)
local layout = Instance.new("UIListLayout", scroll)
layout.Padding = UDim.new(0, 4)
layout.SortOrder = Enum.SortOrder.LayoutOrder
-- Loading inside GUI
local loading = Instance.new("Frame", frame)
loading.Size = UDim2.new(1, 0, 1, 0)
loading.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
loading.ZIndex = 10
Instance.new("UICorner", loading).CornerRadius = UDim.new(0, 10)
local loadText = Instance.new("TextLabel", loading)
loadText.Size = UDim2.new(1, 0, 0, 40)
loadText.Position = UDim2.new(0, 0, 0.5, -20)
loadText.BackgroundTransparency = 1
loadText.Text = "Loading..."
loadText.Font = Enum.Font.GothamBold
loadText.TextSize = 18
loadText.TextColor3 = Color3.fromRGB(255, 255, 255)
loadText.ZIndex = 11
local loadBarBack = Instance.new("Frame", loading)
loadBarBack.Size = UDim2.new(0.8, 0, 0, 6)
loadBarBack.Position = UDim2.new(0.1, 0, 0.5, 20)
loadBarBack.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
Instance.new("UICorner", loadBarBack).CornerRadius = UDim.new(0, 4)
local loadBar = Instance.new("Frame", loadBarBack)
loadBar.Size = UDim2.new(0, 0, 1, 0)
loadBar.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
Instance.new("UICorner", loadBar).CornerRadius = UDim.new(0, 4)
TweenService:Create(loadBar, TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size = UDim2.new(1, 0, 1, 0)}):Play()
TweenService:Create(loadText, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true), {TextTransparency = 0.4}):Play()
task.wait(2)
loading:Destroy()
-- Functions
local function getParts()
local t = {}
for _, v in pairs(workspace:GetChildren()) do
if v:IsA("Part") then
table.insert(t, v)
end
end
return t
end
local function teleportTo(part)
local char = player.Character or player.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
hrp.CFrame = CFrame.new(part.Position + Vector3.new(0, part.Size.Y / 2 + 3, 0))
end
local function highlight(part)
local esp = Instance.new("Highlight")
esp.FillColor = Color3.fromRGB(0, 255, 0)
esp.OutlineColor = Color3.fromRGB(255, 255, 255)
esp.FillTransparency = 0.5
esp.OutlineTransparency = 0
esp.Parent = part
task.delay(3, function()
if esp then esp:Destroy() end
end)
end
local function updateList()
for _, v in pairs(scroll:GetChildren()) do
if v:IsA("Frame") then v:Destroy() end
end
local parts = getParts()
for _, part in ipairs(parts) do
local row = Instance.new("Frame", scroll)
row.Size = UDim2.new(1, -4, 0, 26)
row.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
row.BorderSizePixel = 0
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 6)
local nameBtn = Instance.new("TextButton", row)
nameBtn.Size = UDim2.new(0.7, 0, 1, 0)
nameBtn.BackgroundTransparency = 1
nameBtn.Text = part.Name
nameBtn.Font = Enum.Font.Gotham
nameBtn.TextSize = 12
nameBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
local viewBtn = Instance.new("TextButton", row)
viewBtn.Size = UDim2.new(0.25, 0, 0.8, 0)
viewBtn.Position = UDim2.new(0.73, 0, 0.1, 0)
viewBtn.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
viewBtn.Text = "View"
viewBtn.Font = Enum.Font.GothamBold
viewBtn.TextSize = 12
viewBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
Instance.new("UICorner", viewBtn).CornerRadius = UDim.new(0, 6)
nameBtn.MouseButton1Click:Connect(function()
teleportTo(part)
end)
viewBtn.MouseButton1Click:Connect(function()
highlight(part)
end)
end
scroll.CanvasSize = UDim2.new(0, 0, 0, #getParts() * 40)
end
updateList()
enterBtn.MouseButton1Click:Connect(function()
if box.Text ~= "" then
local text = string.lower(box.Text)
for _, part in pairs(getParts()) do
if string.find(string.lower(part.Name), text) then
teleportTo(part)
break
end
end
box.Text = ""
end
end)
-- Drag GUI (mobile-friendly)
local dragging = false
local dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
update(input)
end
end)



AI and this already exists