-- 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)