
KeylessUniversal

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "TeleportGUI"
gui.ResetOnSpawn = false
-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0.5, 0, 0, 180)
mainFrame.Position = UDim2.new(0.5, 0, 0.35, 0)
mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.BackgroundTransparency = 0.1
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = gui
-- Title Bar (Drag Handle)
local titleBar = Instance.new("TextLabel")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
titleBar.Text = " Teleport GUI"
titleBar.TextColor3 = Color3.new(1, 1, 1)
titleBar.TextScaled = true
titleBar.TextXAlignment = Enum.TextXAlignment.Left
titleBar.Font = Enum.Font.GothamBold
titleBar.Parent = mainFrame
-- Control Buttons Container
local buttonContainer = Instance.new("Frame")
buttonContainer.Name = "ButtonContainer"
buttonContainer.Size = UDim2.new(0.2, 0, 1, 0)
buttonContainer.Position = UDim2.new(0.8, 0, 0, 0)
buttonContainer.BackgroundTransparency = 1
buttonContainer.Parent = titleBar
-- Minimize Button
local minimizeButton = Instance.new("TextButton")
minimizeButton.Name = "MinimizeButton"
minimizeButton.Size = UDim2.new(0.5, 0, 1, 0)
minimizeButton.Position = UDim2.new(0, 0, 0, 0)
minimizeButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
minimizeButton.Text = "-"
minimizeButton.TextColor3 = Color3.new(1, 1, 1)
minimizeButton.TextScaled = true
minimizeButton.Font = Enum.Font.GothamBold
minimizeButton.Parent = buttonContainer
-- Close Button
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0.5, 0, 1, 0)
closeButton.Position = UDim2.new(0.5, 0, 0, 0)
closeButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = buttonContainer
-- Content Frame
local contentFrame = Instance.new("Frame")
contentFrame.Name = "ContentFrame"
contentFrame.Size = UDim2.new(1, 0, 1, -30)
contentFrame.Position = UDim2.new(0, 0, 0, 30)
contentFrame.BackgroundTransparency = 1
contentFrame.Parent = mainFrame
-- Input Box
local inputBox = Instance.new("TextBox")
inputBox.Name = "InputBox"
inputBox.Size = UDim2.new(0.9, 0, 0.2, 0)
inputBox.Position = UDim2.new(0.05, 0, 0.15, 0)
inputBox.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
inputBox.PlaceholderText = "Enter name or 'random'"
inputBox.Text = ""
inputBox.TextColor3 = Color3.new(1, 1, 1)
inputBox.TextScaled = true
inputBox.ClearTextOnFocus = false
inputBox.Parent = contentFrame
-- Teleport Button
local teleportButton = Instance.new("TextButton")
teleportButton.Name = "TeleportButton"
teleportButton.Size = UDim2.new(0.9, 0, 0.2, 0)
teleportButton.Position = UDim2.new(0.05, 0, 0.4, 0)
teleportButton.BackgroundColor3 = Color3.fromRGB(80, 80, 255)
teleportButton.Text = "TELEPORT"
teleportButton.TextColor3 = Color3.new(1, 1, 1)
teleportButton.TextScaled = true
teleportButton.Font = Enum.Font.GothamBold
teleportButton.Parent = contentFrame
-- Status Message
local statusMessage = Instance.new("TextLabel")
statusMessage.Name = "StatusMessage"
statusMessage.Size = UDim2.new(0.9, 0, 0.2, 0)
statusMessage.Position = UDim2.new(0.05, 0, 0.65, 0)
statusMessage.BackgroundTransparency = 1
statusMessage.Text = ""
statusMessage.TextColor3 = Color3.new(1, 1, 1)
statusMessage.TextScaled = true
statusMessage.Font = Enum.Font.Gotham
statusMessage.Parent = contentFrame
-- Dragging functionality
local dragging, dragInput, dragStart, startPos
local isMinimized = false
local originalSize = mainFrame.Size
local minimizedSize = UDim2.new(mainFrame.Size.X.Scale, 0, 0, 30)
local function updateStatus(text)
statusMessage.Text = text
task.wait(2)
statusMessage.Text = ""
end
local function teleportToPlayer(targetPlayer)
if targetPlayer and targetPlayer.Character then
local humanoidRootPart = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
local localChar = player.Character
local localRoot = localChar and localChar:FindFirstChild("HumanoidRootPart")
if humanoidRootPart and localRoot then
localRoot.CFrame = humanoidRootPart.CFrame
updateStatus("Teleported to "..targetPlayer.DisplayName)
else
updateStatus("Target not available")
end
else
updateStatus("Player not found")
end
end
local function findBestMatch(searchTerm)
local allPlayers = Players:GetPlayers()
local matches = {}
if string.lower(searchTerm) == "random" then
local validPlayers = {}
for _, p in ipairs(allPlayers) do
if p ~= player then table.insert(validPlayers, p) end
end
if #validPlayers > 0 then
return validPlayers[math.random(#validPlayers)]
end
return nil
end
searchTerm = string.lower(searchTerm)
for _, p in ipairs(allPlayers) do
if p ~= player then
local displayLower = string.lower(p.DisplayName)
local nameLower = string.lower(p.Name)
local displayPos = string.find(displayLower, searchTerm, 1, true)
local namePos = string.find(nameLower, searchTerm, 1, true)
local earliestPos = math.huge
if displayPos then earliestPos = math.min(earliestPos, displayPos) end
if namePos then earliestPos = math.min(earliestPos, namePos) end
if earliestPos ~= math.huge then
table.insert(matches, {
player = p,
pos = earliestPos,
length = math.min(#displayLower, #nameLower)
})
end
end
end
if #matches > 0 then
table.sort(matches, function(a, b)
if a.pos == b.pos then
return a.length < b.length
end
return a.pos < b.pos
end)
return matches[1].player
end
return nil
end
-- Minimize functionality
minimizeButton.Activated:Connect(function()
isMinimized = not isMinimized
mainFrame.Size = isMinimized and minimizedSize or originalSize
minimizeButton.Text = isMinimized and "+" or "-"
contentFrame.Visible = not isMinimized
minimizeButton.BackgroundColor3 = isMinimized
and Color3.fromRGB(255, 50, 50)
or Color3.fromRGB(200, 50, 50)
end)
-- Close functionality
closeButton.Activated:Connect(function()
gui:Destroy()
end)
-- Teleport functionality
teleportButton.Activated:Connect(function()
local searchText = inputBox.Text
if searchText == "" then return end
local target = findBestMatch(searchText)
if target then
teleportToPlayer(target)
else
updateStatus("No matching players found")
end
end)
-- Dragging functionality
titleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
titleBar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if dragging and input == dragInput then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
gui.Parent = player:WaitForChild("PlayerGui")No comments yet for this script.



