Universal TP GUI v1
Key RequiredUniversal

Universal TP GUI v1

Universal Scriptryanscreationzryanscreationz 6.8K views 2.7K executesUpdated May 10, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•129 lines (4767 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

-- Wait a moment to ensure StarterGui is ready
task.wait(1)

-- Safely send purple chat message
local StarterGui = game:GetService("StarterGui")
pcall(function()
    StarterGui:SetCore("ChatMakeSystemMessage", {
        Text = "Thanks for using script! Credit ThatBoiledOne on YT if you wanna showcase. Have fun!";
        Color = Color3.fromRGB(170, 0, 255); -- Purple color
        Font = Enum.Font.SourceSansBold;
        TextSize = 18;
    })
end)

-- Create GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game.CoreGui
ScreenGui.Name = "TPGui"

local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 450, 0, 350)
MainFrame.Position = UDim2.new(0.5, -225, 0.5, -175)
MainFrame.BackgroundColor3 = Color3.fromRGB(245, 245, 245)
MainFrame.BorderSizePixel = 0
MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
MainFrame.ClipsDescendants = true
MainFrame.BackgroundTransparency = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Name = "MainFrame"

local UICorner = Instance.new("UICorner", MainFrame)
UICorner.CornerRadius = UDim.new(0, 12)

local Title = Instance.new("TextLabel", MainFrame)
Title.Size = UDim2.new(1, 0, 0, 50)
Title.Text = "🚀 TP GUI v1"
Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextScaled = true

local PlayerListFrame = Instance.new("ScrollingFrame", MainFrame)
PlayerListFrame.Size = UDim2.new(0.9, 0, 0.6, 0)
PlayerListFrame.Position = UDim2.new(0.05, 0, 0.18, 0)
PlayerListFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
PlayerListFrame.BorderSizePixel = 0
PlayerListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
PlayerListFrame.ScrollBarThickness = 8

local UICorner2 = Instance.new("UICorner", PlayerListFrame)
UICorner2.CornerRadius = UDim.new(0, 8)

local UIListLayout = Instance.new("UIListLayout", PlayerListFrame)
UIListLayout.FillDirection = Enum.FillDirection.Vertical
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)

local TeleportButton = Instance.new("TextButton", MainFrame)
TeleportButton.Size = UDim2.new(0.8, 0, 0.1, 0)
TeleportButton.Position = UDim2.new(0.1, 0, 0.85, 0)
TeleportButton.Text = "Teleport to Selected Player"
TeleportButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
TeleportButton.TextColor3 = Color3.fromRGB(255, 255, 255)
TeleportButton.Font = Enum.Font.GothamSemibold
TeleportButton.TextScaled = true

local UICorner3 = Instance.new("UICorner", TeleportButton)
UICorner3.CornerRadius = UDim.new(0, 8)

local SelectedPlayer = nil

-- Populate player list
local function RefreshPlayerList()
    for _, child in ipairs(PlayerListFrame:GetChildren()) do
        if child:IsA("TextButton") then
            child:Destroy()
        end
    end

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local PlayerButton = Instance.new("TextButton", PlayerListFrame)
            PlayerButton.Size = UDim2.new(1, -10, 0, 40)
            PlayerButton.Text = player.Name
            PlayerButton.BackgroundColor3 = Color3.fromRGB(230, 230, 230)
            PlayerButton.TextColor3 = Color3.fromRGB(0, 0, 0)
            PlayerButton.Font = Enum.Font.Gotham
            PlayerButton.TextScaled = true
            PlayerButton.BorderSizePixel = 0

            local btnCorner = Instance.new("UICorner", PlayerButton)
            btnCorner.CornerRadius = UDim.new(0, 6)

            PlayerButton.MouseButton1Click:Connect(function()
                -- Unhighlight others
                for _, other in ipairs(PlayerListFrame:GetChildren()) do
                    if other:IsA("TextButton") then
                        other.BackgroundColor3 = Color3.fromRGB(230, 230, 230)
                    end
                end
                PlayerButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
                SelectedPlayer = player
            end)
        end
    end

    -- Update scroll size
    task.wait(0.1)
    PlayerListFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 10)
end

RefreshPlayerList()

Players.PlayerAdded:Connect(RefreshPlayerList)
Players.PlayerRemoving:Connect(RefreshPlayerList)

TeleportButton.MouseButton1Click:Connect(function()
    if SelectedPlayer and SelectedPlayer.Character and SelectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
        local root = char:FindFirstChild("HumanoidRootPart")
        if root then
            root.CFrame = SelectedPlayer.Character.HumanoidRootPart.CFrame + Vector3.new(2, 0, 2)
        end
    end
end)

Features & Information

Teleport gui made by me

Community Comments (2)

catlover326catlover326May 11, 2025(edited)

Error in description it should say "Teleport gui made by chatgpt" also just use infinite yield bro

ryanscreationzryanscreationzMay 11, 2025

The ui design was made by me script made by chat gpt

More Scripts for Universal Scripts