Teleport System
Key RequiredUniversal

Teleport System

Universal Scriptfireworkwokrkfireworkwokrk 341 views 81 executesUpdated Apr 2, 2026
Unrated
00
Lua Script•353 lines (12902 chars)
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local TitleBar = Instance.new("Frame")
local TitleText = Instance.new("TextLabel")
local Close = Instance.new("TextButton")
local Minimize = Instance.new("TextButton")
local Maximize = Instance.new("TextButton")
local ContentFrame = Instance.new("ScrollingFrame") 
local ListFrame = Instance.new("ScrollingFrame")
local TeleportBtn = Instance.new("TextButton")
local LoopBtn = Instance.new("TextButton")
local DeselectBtn = Instance.new("TextButton")
local ResizeBtn = Instance.new("TextButton") 
local SpeedInput = Instance.new("TextBox")
local SpeedLabel = Instance.new("TextLabel")
local ApplySpeed = Instance.new("TextButton")
local UIListLayout = Instance.new("UIListLayout")

ScreenGui.Name = "DeltaTP_V24_FinalFix"
ScreenGui.Parent = game.CoreGui
ScreenGui.ResetOnSpawn = false

MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.BorderSizePixel = 2
MainFrame.Position = UDim2.new(0.5, -225, 0.5, -150)
MainFrame.Size = UDim2.new(0, 450, 0, 320)
MainFrame.Active = true
MainFrame.ClipsDescendants = true 

TitleBar.Name = "TitleBar"
TitleBar.Parent = MainFrame
TitleBar.Size = UDim2.new(1, 0, 0, 35)
TitleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
TitleBar.ZIndex = 20

TitleText.Name = "TitleText"
TitleText.Parent = TitleBar
TitleText.Size = UDim2.new(1, -100, 1, 0)
TitleText.Position = UDim2.new(0, 12, 0, 0)
TitleText.BackgroundTransparency = 1
TitleText.Text = "TELEPORT SYSTEM"
TitleText.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleText.TextSize = 16 
TitleText.Font = Enum.Font.GothamBold
TitleText.TextXAlignment = Enum.TextXAlignment.Left
TitleText.ZIndex = 21

local function createControlBtn(name, text, pos, color)
    local btn = Instance.new("TextButton")
    btn.Name = name
    btn.Parent = TitleBar
    btn.Position = pos
    btn.Size = UDim2.new(0, 25, 0, 22)
    btn.Text = text
    btn.BackgroundColor3 = color
    btn.TextColor3 = Color3.new(1,1,1)
    btn.ZIndex = 25
    return btn
end

Close = createControlBtn("Close", "X", UDim2.new(1, -30, 0, 6), Color3.fromRGB(200, 0, 0))
Maximize = createControlBtn("Maximize", "□", UDim2.new(1, -60, 0, 6), Color3.fromRGB(40, 40, 180))
Minimize = createControlBtn("Minimize", "-", UDim2.new(1, -90, 0, 6), Color3.fromRGB(60, 60, 60))

ResizeBtn.Name = "ResizeBtn"
ResizeBtn.Parent = MainFrame
ResizeBtn.AnchorPoint = Vector2.new(1, 1)
ResizeBtn.Position = UDim2.new(1, 0, 1, 0)
ResizeBtn.Size = UDim2.new(0, 20, 0, 20)
ResizeBtn.Text = "↘"
ResizeBtn.TextSize = 15
ResizeBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
ResizeBtn.ZIndex = 30 

ContentFrame.Name = "ContentFrame"
ContentFrame.Parent = MainFrame
ContentFrame.Size = UDim2.new(1, 0, 1, -35)
ContentFrame.Position = UDim2.new(0, 0, 0, 35)
ContentFrame.BackgroundTransparency = 1
ContentFrame.ScrollBarThickness = 0
ContentFrame.CanvasSize = UDim2.new(0, 0, 0, 420)
ContentFrame.Active = false 

ListFrame.Name = "ListFrame"
ListFrame.Parent = ContentFrame
ListFrame.Position = UDim2.new(0, 5, 0, 5)
ListFrame.Size = UDim2.new(1, -10, 0, 160) 
ListFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
ListFrame.BorderSizePixel = 0
ListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ListFrame.ScrollBarThickness = 4

UIListLayout.Parent = ListFrame
UIListLayout.Padding = UDim.new(0, 2)

DeselectBtn.Name = "DeselectBtn"
DeselectBtn.Parent = ContentFrame
DeselectBtn.Position = UDim2.new(0, 5, 0, 170)
DeselectBtn.Size = UDim2.new(1, -10, 0, 40) 
DeselectBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
DeselectBtn.Text = "Deselect Player"
DeselectBtn.TextColor3 = Color3.fromRGB(255, 80, 80)
DeselectBtn.Font = Enum.Font.GothamBold
DeselectBtn.TextSize = 16 

TeleportBtn.Name = "TeleportBtn"
TeleportBtn.Parent = ContentFrame
TeleportBtn.Position = UDim2.new(0, 5, 0, 215)
TeleportBtn.Size = UDim2.new(1, -10, 0, 45) 
TeleportBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
TeleportBtn.Text = "Teleport"
TeleportBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TeleportBtn.Font = Enum.Font.GothamBold
TeleportBtn.TextSize = 20

SpeedLabel.Name = "SpeedLabel"
SpeedLabel.Parent = ContentFrame
SpeedLabel.Position = UDim2.new(0, 5, 0, 265)
SpeedLabel.Size = UDim2.new(1, -10, 0, 20)
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.Text = "Loop Teleport Speed (sec):"
SpeedLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
SpeedLabel.Font = Enum.Font.GothamBold
SpeedLabel.TextSize = 14 

SpeedInput.Name = "SpeedInput"
SpeedInput.Parent = ContentFrame
SpeedInput.Position = UDim2.new(0, 5, 0, 290)
SpeedInput.Size = UDim2.new(0.7, -5, 0, 35) 
SpeedInput.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
SpeedInput.Text = "0.1"
SpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedInput.Font = Enum.Font.GothamBold
SpeedInput.TextSize = 18 

ApplySpeed.Name = "ApplySpeed"
ApplySpeed.Parent = ContentFrame
ApplySpeed.Position = UDim2.new(0.7, 5, 0, 290)
ApplySpeed.Size = UDim2.new(0.3, -10, 0, 35) 
ApplySpeed.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
ApplySpeed.Text = "Apply"
ApplySpeed.TextColor3 = Color3.fromRGB(255, 255, 255)
ApplySpeed.Font = Enum.Font.GothamBold
ApplySpeed.TextSize = 15

LoopBtn.Name = "LoopBtn"
LoopBtn.Parent = ContentFrame
LoopBtn.Position = UDim2.new(0, 5, 0, 335)
LoopBtn.Size = UDim2.new(1, -10, 0, 45) 
LoopBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
LoopBtn.Text = "Loop Teleport: OFF"
LoopBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
LoopBtn.Font = Enum.Font.GothamBold
LoopBtn.TextSize = 18

local selectedTarget = nil
local loopActive = false
local tpWaitTime = 0.1
local isFull, isMin, resizing, dragging = false, false, false, false
local dragStart, startPos, oldSize, oldPos = nil, nil, MainFrame.Size, MainFrame.Position

spawn(function()
	while task.wait() do
		local hue = tick() % 5 / 5
		local color = Color3.fromHSV(hue, 0.7, 1)
		TitleText.TextColor3 = color
		MainFrame.BorderColor3 = color
		TeleportBtn.TextColor3 = color
		if loopActive then LoopBtn.TextColor3 = color else LoopBtn.TextColor3 = Color3.new(1,1,1) end
	end
end)

local function EnableDrag(gui)
    gui.InputBegan:Connect(function(input)
        if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) and not isFull then
            if resizing then return end
            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)
end

EnableDrag(MainFrame)
EnableDrag(TitleBar)
EnableDrag(ContentFrame)

game:GetService("UserInputService").InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) 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)
        oldPos = MainFrame.Position
    end
end)

ResizeBtn.InputBegan:Connect(function(input)
    if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) and not isFull and not isMin then
        resizing = true
        dragging = false
    end
end)

game:GetService("UserInputService").InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then resizing = false end
end)

game:GetService("RunService").RenderStepped:Connect(function()
    if resizing and not isFull and not isMin then
        local mousePos = game:GetService("UserInputService"):GetMouseLocation()
        local nX = math.clamp(mousePos.X - MainFrame.AbsolutePosition.X, 300, 900)
        local nY = math.clamp(mousePos.Y - MainFrame.AbsolutePosition.Y, 200, 900)
        MainFrame.Size = UDim2.new(0, nX, 0, nY)
        oldSize = MainFrame.Size
    end
end)

ApplySpeed.MouseButton1Click:Connect(function()
    local val = tonumber(SpeedInput.Text)
    if val then tpWaitTime = math.max(val, 0.01) SpeedInput.Text = tostring(tpWaitTime)
    else tpWaitTime = 0.1 SpeedInput.Text = "0.1" end
end)

local function getTargetRoot(obj)
    if not obj then return nil end
    if obj:IsA("Player") then
        if obj.Character and obj.Character:FindFirstChild("HumanoidRootPart") then
            return obj.Character.HumanoidRootPart
        end
    elseif obj:IsA("Model") and obj:FindFirstChild("HumanoidRootPart") then
        return obj.HumanoidRootPart
    end
    return nil
end

local function doTeleport()
    local myChar = game.Players.LocalPlayer.Character
    if myChar and myChar:FindFirstChild("HumanoidRootPart") and selectedTarget then
        local targetRoot = getTargetRoot(selectedTarget)
        if targetRoot then
            myChar.HumanoidRootPart.CFrame = targetRoot.CFrame
        end
    end
end

local function updateList()
	for _, child in pairs(ListFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
	
    local function addToList(obj, dispName, userName, prefix)
		local btn = Instance.new("TextButton")
		btn.Size = UDim2.new(1, -10, 0, 50) 
		btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
		btn.BorderSizePixel = 0
		btn.Text = ""
		btn.Parent = ListFrame
        
        local displayLabel = Instance.new("TextLabel")
        displayLabel.Size = UDim2.new(1, -10, 0.5, 0)
        displayLabel.Position = UDim2.new(0, 10, 0, 4)
        displayLabel.BackgroundTransparency = 1
        displayLabel.Text = prefix .. " " .. dispName
        displayLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
        displayLabel.Font = Enum.Font.GothamBold
        displayLabel.TextSize = 16 
        displayLabel.TextXAlignment = Enum.TextXAlignment.Left
        displayLabel.Parent = btn

        local userLabel = Instance.new("TextLabel")
        userLabel.Size = UDim2.new(1, -10, 0.5, 0)
        userLabel.Position = UDim2.new(0, 10, 0.5, 0)
        userLabel.BackgroundTransparency = 1
        userLabel.Text = "@" .. userName
        userLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
        userLabel.Font = Enum.Font.Gotham
        userLabel.TextSize = 14 
        userLabel.TextXAlignment = Enum.TextXAlignment.Left
        userLabel.Parent = btn

		btn.MouseButton1Click:Connect(function()
			for _, b in pairs(ListFrame:GetChildren()) do if b:IsA("TextButton") then b.BackgroundColor3 = Color3.fromRGB(30, 30, 30) end end
			btn.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
			selectedTarget = obj
		end)
	end
    
	for _, p in pairs(game.Players:GetPlayers()) do 
        if p ~= game.Players.LocalPlayer then addToList(p, p.DisplayName, p.Name, "[P]") end 
    end
    
	for _, v in pairs(workspace:GetDescendants()) do
		if v:IsA("Humanoid") and not game.Players:GetPlayerFromCharacter(v.Parent) and v.Parent:FindFirstChild("HumanoidRootPart") then
            local isBot = v.Parent:FindFirstChild("IsBot") or v.Parent:FindFirstChild("Configuration") -- Exemplo de detecção de bot
            local prefix = isBot and "[B]" or "[N]"
			addToList(v.Parent, v.Parent.Name, v.Parent.Name:lower(), prefix)
		end
	end
	ListFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y)
end

LoopBtn.MouseButton1Click:Connect(function()
	loopActive = not loopActive
	LoopBtn.Text = "Loop Teleport: " .. (loopActive and "ON" or "OFF")
    if loopActive then
        spawn(function()
            while loopActive do 
                doTeleport() 
                task.wait(tpWaitTime) 
            end
        end)
    end
end)

DeselectBtn.MouseButton1Click:Connect(function()
	selectedTarget = nil
	for _, b in pairs(ListFrame:GetChildren()) do if b:IsA("TextButton") then b.BackgroundColor3 = Color3.fromRGB(30, 30, 30) end end
end)

TeleportBtn.MouseButton1Click:Connect(doTeleport)
Close.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)

Minimize.MouseButton1Click:Connect(function()
	if not isMin then
		isMin = true
		ContentFrame.Visible = false
		ResizeBtn.Visible = false
		MainFrame:TweenSize(UDim2.new(0, MainFrame.Size.X.Offset, 0, 35), "Out", "Quad", 0.2, true)
	else
		isMin = false
		ContentFrame.Visible = true
		ResizeBtn.Visible = true
		MainFrame:TweenSize(isFull and UDim2.new(1, 0, 1, 0) or oldSize, "Out", "Quad", 0.2, true)
	end
end)

Maximize.MouseButton1Click:Connect(function()
	if not isFull then
		isFull = true
		oldSize = MainFrame.Size
		oldPos = MainFrame.Position
		MainFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.2, true)
		MainFrame:TweenSize(UDim2.new(1, 0, 1, 0), "Out", "Quad", 0.2, true)
	else
		isFull = false
		MainFrame:TweenPosition(oldPos, "Out", "Quad", 0.2, true)
		MainFrame:TweenSize(oldSize, "Out", "Quad", 0.2, true)
	end
end)

updateList()

Features & Information

Script by:Firework Wokrk

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts