To part gui
Key RequiredUniversal

To part gui

Universal ScriptOnlyThePowerOnlyThePower 743 views 13 executesUpdated Nov 14, 2025
Unrated
00
Lua Script•235 lines (7505 chars)
-- 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)

Features & Information

Hi

Community Comments (1)

xyrevexxyrevexNov 14, 2025

AI and this already exists

More Scripts for Universal Scripts