Simple teleport gui (added cframe)
Key RequiredUniversal

Simple teleport gui (added cframe)

Universal Scriptactionmacsenactionmacsen 1.2K views 3.2K executesUpdated Sep 27, 2025
Unrated
00
Lua Script•661 lines (23064 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

-- GUI setup
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "TeleportGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer.PlayerGui

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 370, 0, 560)
Frame.Position = UDim2.new(0.5, -185, 0.5, -280)
Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
Frame.BackgroundTransparency = 0.15
Frame.Active = true
Frame.Draggable = true
Frame.Parent = ScreenGui

-- Rounded corners
local UICorner = Instance.new("UICorner", Frame)
UICorner.CornerRadius = UDim.new(0, 18)

-- Top bar for title and close button
local TopBar = Instance.new("Frame", Frame)
TopBar.Size = UDim2.new(1, 0, 0, 38)
TopBar.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
TopBar.BorderSizePixel = 0

local TopBarCorner = Instance.new("UICorner", TopBar)
TopBarCorner.CornerRadius = UDim.new(0, 18)

local Title = Instance.new("TextLabel", TopBar)
Title.Size = UDim2.new(1, -40, 1, 0)
Title.Position = UDim2.new(0, 12, 0, 0)
Title.Text = "Teleport Menu"
Title.BackgroundTransparency = 1
Title.TextColor3 = Color3.new(1,1,1)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 22
Title.TextXAlignment = Enum.TextXAlignment.Left

local closeBtn = Instance.new("TextButton", TopBar)
closeBtn.Size = UDim2.new(0, 32, 0, 32)
closeBtn.Position = UDim2.new(1, -36, 0, 3)
closeBtn.Text = "✕"
closeBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.TextSize = 22
closeBtn.Font = Enum.Font.GothamBold
closeBtn.AutoButtonColor = true
local closeUICorner = Instance.new("UICorner", closeBtn)
closeUICorner.CornerRadius = UDim.new(1, 0)

-- Tab buttons
local TabContainer = Instance.new("Frame", Frame)
TabContainer.Size = UDim2.new(1, -24, 0, 40)
TabContainer.Position = UDim2.new(0, 12, 0, 44)
TabContainer.BackgroundTransparency = 1

local playersTab = Instance.new("TextButton", TabContainer)
playersTab.Size = UDim2.new(0.5, -2, 1, 0)
playersTab.Position = UDim2.new(0, 0, 0, 0)
playersTab.Text = "Players"
playersTab.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
playersTab.TextColor3 = Color3.new(1,1,1)
playersTab.TextSize = 18
playersTab.Font = Enum.Font.GothamBold
local playersTabCorner = Instance.new("UICorner", playersTab)
playersTabCorner.CornerRadius = UDim.new(0, 8)

local cframeTab = Instance.new("TextButton", TabContainer)
cframeTab.Size = UDim2.new(0.5, -2, 1, 0)
cframeTab.Position = UDim2.new(0.5, 2, 0, 0)
cframeTab.Text = "CFrame"
cframeTab.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
cframeTab.TextColor3 = Color3.new(1,1,1)
cframeTab.TextSize = 18
cframeTab.Font = Enum.Font.GothamBold
local cframeTabCorner = Instance.new("UICorner", cframeTab)
cframeTabCorner.CornerRadius = UDim.new(0, 8)

-- Main content frames
local PlayersContent = Instance.new("Frame", Frame)
PlayersContent.Size = UDim2.new(1, -24, 1, -94)
PlayersContent.Position = UDim2.new(0, 12, 0, 88)
PlayersContent.BackgroundTransparency = 1
PlayersContent.Visible = true

local CFrameContent = Instance.new("Frame", Frame)
CFrameContent.Size = UDim2.new(1, -24, 1, -94)
CFrameContent.Position = UDim2.new(0, 12, 0, 88)
CFrameContent.BackgroundTransparency = 1
CFrameContent.Visible = false

-- PLAYERS TAB CONTENT --
-- Direction selection
local dirLabel = Instance.new("TextLabel", PlayersContent)
dirLabel.Size = UDim2.new(1, 0, 0, 28)
dirLabel.Position = UDim2.new(0, 0, 0, 0)
dirLabel.Text = "Choose teleport direction:"
dirLabel.BackgroundTransparency = 1
dirLabel.TextColor3 = Color3.new(1,1,1)
dirLabel.TextSize = 17
dirLabel.Font = Enum.Font.Gotham

local frontBtn = Instance.new("TextButton", PlayersContent)
frontBtn.Size = UDim2.new(0.48, -3, 0, 32)
frontBtn.Position = UDim2.new(0, 0, 0, 32)
frontBtn.Text = "In Front"
frontBtn.BackgroundColor3 = Color3.fromRGB(60, 160, 80)
frontBtn.TextColor3 = Color3.new(1,1,1)
frontBtn.TextSize = 17
frontBtn.Font = Enum.Font.GothamBold
local frontUICorner = Instance.new("UICorner", frontBtn)
frontUICorner.CornerRadius = UDim.new(0, 8)

local backBtn = Instance.new("TextButton", PlayersContent)
backBtn.Size = UDim2.new(0.48, -3, 0, 32)
backBtn.Position = UDim2.new(0.52, 3, 0, 32)
backBtn.Text = "Behind"
backBtn.BackgroundColor3 = Color3.fromRGB(160, 80, 80)
backBtn.TextColor3 = Color3.new(1,1,1)
backBtn.TextSize = 17
backBtn.Font = Enum.Font.GothamBold
local backUICorner = Instance.new("UICorner", backBtn)
backUICorner.CornerRadius = UDim.new(0, 8)

local errorLabel = Instance.new("TextLabel", PlayersContent)
errorLabel.Size = UDim2.new(1, 0, 0, 22)
errorLabel.Position = UDim2.new(0, 0, 0, 68)
errorLabel.Text = ""
errorLabel.BackgroundTransparency = 1
errorLabel.TextColor3 = Color3.new(1,0.2,0.2)
errorLabel.TextSize = 15
errorLabel.Font = Enum.Font.Gotham

local listLabel = Instance.new("TextLabel", PlayersContent)
listLabel.Size = UDim2.new(1, 0, 0, 24)
listLabel.Position = UDim2.new(0, 0, 0, 94)
listLabel.Text = "Players:"
listLabel.BackgroundTransparency = 1
listLabel.TextColor3 = Color3.new(1,1,1)
listLabel.TextSize = 17
listLabel.Font = Enum.Font.Gotham

local playerFrame = Instance.new("ScrollingFrame", PlayersContent)
playerFrame.Size = UDim2.new(1, 0, 0, 220)
playerFrame.Position = UDim2.new(0, 0, 0, 120)
playerFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
playerFrame.BackgroundTransparency = 0.3
playerFrame.BorderSizePixel = 0
playerFrame.ScrollBarThickness = 6
local playerFrameCorner = Instance.new("UICorner", playerFrame)
playerFrameCorner.CornerRadius = UDim.new(0, 8)

local playerListLayout = Instance.new("UIListLayout", playerFrame)
playerListLayout.SortOrder = Enum.SortOrder.LayoutOrder
playerListLayout.Padding = UDim.new(0, 6)

local tpBtn = Instance.new("TextButton", PlayersContent)
tpBtn.Size = UDim2.new(0.48, -3, 0, 36)
tpBtn.Position = UDim2.new(0, 0, 1, -40)
tpBtn.Text = "Teleport Once"
tpBtn.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
tpBtn.TextColor3 = Color3.new(1,1,1)
tpBtn.TextSize = 18
tpBtn.Font = Enum.Font.GothamBold
local tpUICorner = Instance.new("UICorner", tpBtn)
tpUICorner.CornerRadius = UDim.new(0, 8)

local contBtn = Instance.new("TextButton", PlayersContent)
contBtn.Size = UDim2.new(0.48, -3, 0, 36)
contBtn.Position = UDim2.new(0.52, 3, 1, -40)
contBtn.Text = "Continuous Teleport"
contBtn.BackgroundColor3 = Color3.fromRGB(200, 120, 80)
contBtn.TextColor3 = Color3.new(1,1,1)
contBtn.TextSize = 18
contBtn.Font = Enum.Font.GothamBold
local contUICorner = Instance.new("UICorner", contBtn)
contUICorner.CornerRadius = UDim.new(0, 8)

-- CFRAME TAB CONTENT --
local cframeLabel = Instance.new("TextLabel", CFrameContent)
cframeLabel.Size = UDim2.new(1, 0, 0, 28)
cframeLabel.Position = UDim2.new(0, 0, 0, 0)
cframeLabel.Text = "CFrame Teleport:"
cframeLabel.BackgroundTransparency = 1
cframeLabel.TextColor3 = Color3.new(1,1,1)
cframeLabel.TextSize = 17
cframeLabel.Font = Enum.Font.Gotham

local saveCFrameBtn = Instance.new("TextButton", CFrameContent)
saveCFrameBtn.Size = UDim2.new(1, 0, 0, 36)
saveCFrameBtn.Position = UDim2.new(0, 0, 0, 32)
saveCFrameBtn.Text = "Save Current Position"
saveCFrameBtn.BackgroundColor3 = Color3.fromRGB(80, 160, 80)
saveCFrameBtn.TextColor3 = Color3.new(1,1,1)
saveCFrameBtn.TextSize = 18
saveCFrameBtn.Font = Enum.Font.GothamBold
local saveCFrameCorner = Instance.new("UICorner", saveCFrameBtn)
saveCFrameCorner.CornerRadius = UDim.new(0, 8)

local cframeInfoLabel = Instance.new("TextLabel", CFrameContent)
cframeInfoLabel.Size = UDim2.new(1, 0, 0, 24)
cframeInfoLabel.Position = UDim2.new(0, 0, 0, 78)
cframeInfoLabel.Text = "Saved Positions:"
cframeInfoLabel.BackgroundTransparency = 1
cframeInfoLabel.TextColor3 = Color3.new(1,1,1)
cframeInfoLabel.TextSize = 17
cframeInfoLabel.Font = Enum.Font.Gotham

local cframeListFrame = Instance.new("ScrollingFrame", CFrameContent)
cframeListFrame.Size = UDim2.new(1, 0, 0, 280)
cframeListFrame.Position = UDim2.new(0, 0, 0, 104)
cframeListFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
cframeListFrame.BackgroundTransparency = 0.3
cframeListFrame.BorderSizePixel = 0
cframeListFrame.ScrollBarThickness = 6
local cframeListCorner = Instance.new("UICorner", cframeListFrame)
cframeListCorner.CornerRadius = UDim.new(0, 8)

local cframeListLayout = Instance.new("UIListLayout", cframeListFrame)
cframeListLayout.SortOrder = Enum.SortOrder.LayoutOrder
cframeListLayout.Padding = UDim.new(0, 6)

local clearAllBtn = Instance.new("TextButton", CFrameContent)
clearAllBtn.Size = UDim2.new(1, 0, 0, 32)
clearAllBtn.Position = UDim2.new(0, 0, 1, -36)
clearAllBtn.Text = "Clear All Positions"
clearAllBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
clearAllBtn.TextColor3 = Color3.new(1,1,1)
clearAllBtn.TextSize = 16
clearAllBtn.Font = Enum.Font.GothamBold
local clearAllCorner = Instance.new("UICorner", clearAllBtn)
clearAllCorner.CornerRadius = UDim.new(0, 8)

local cframeErrorLabel = Instance.new("TextLabel", CFrameContent)
cframeErrorLabel.Size = UDim2.new(1, 0, 0, 20)
cframeErrorLabel.Position = UDim2.new(0, 0, 1, -60)
cframeErrorLabel.Text = ""
cframeErrorLabel.BackgroundTransparency = 1
cframeErrorLabel.TextColor3 = Color3.new(1,0.2,0.2)
cframeErrorLabel.TextSize = 14
cframeErrorLabel.Font = Enum.Font.Gotham

-- Tab switching logic
local currentTab = "Players"

local function switchTab(tabName)
    if tabName == "Players" then
        PlayersContent.Visible = true
        CFrameContent.Visible = false
        playersTab.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
        cframeTab.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
    elseif tabName == "CFrame" then
        PlayersContent.Visible = false
        CFrameContent.Visible = true
        playersTab.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
        cframeTab.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
    end
    currentTab = tabName
end

playersTab.MouseButton1Click:Connect(function()
    switchTab("Players")
end)

cframeTab.MouseButton1Click:Connect(function()
    switchTab("CFrame")
end)

-- PLAYERS TAB LOGIC --
local direction = nil
local selectedPlayer = nil
local teleporting = false

frontBtn.MouseButton1Click:Connect(function()
    direction = "Front"
    frontBtn.BackgroundColor3 = Color3.fromRGB(60, 220, 100)
    backBtn.BackgroundColor3 = Color3.fromRGB(160, 80, 80)
    errorLabel.Text = ""
end)

backBtn.MouseButton1Click:Connect(function()
    direction = "Back"
    backBtn.BackgroundColor3 = Color3.fromRGB(220, 100, 100)
    frontBtn.BackgroundColor3 = Color3.fromRGB(60, 160, 80)
    errorLabel.Text = ""
end)

local function teleportToPlayer(target, dir)
    local char = LocalPlayer.Character
    local targetChar = target and target.Character
    if char and targetChar and targetChar:FindFirstChild("HumanoidRootPart") then
        local root = char:FindFirstChild("HumanoidRootPart")
        local targetRoot = targetChar.HumanoidRootPart
        if root then
            local offset = dir == "Front" and -3 or 3
            root.CFrame = targetRoot.CFrame * CFrame.new(0, 0, offset)
        end
    end
end

local function addPlayerButton(player)
    local btn = Instance.new("TextButton", playerFrame)
    btn.Size = UDim2.new(1, -12, 0, 48)
    btn.Text = ""
    btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.LayoutOrder = player.UserId
    btn.AutoButtonColor = true
    local btnCorner = Instance.new("UICorner", btn)
    btnCorner.CornerRadius = UDim.new(0, 10)

    local thumbType = Enum.ThumbnailType.HeadShot
    local thumbSize = Enum.ThumbnailSize.Size48x48
    local content, _ = Players:GetUserThumbnailAsync(player.UserId, thumbType, thumbSize)
    local img = Instance.new("ImageLabel", btn)
    img.Size = UDim2.new(0, 38, 0, 38)
    img.Position = UDim2.new(0, 5, 0.5, -19)
    img.Image = content
    img.BackgroundTransparency = 1

    local nameLabel = Instance.new("TextLabel", btn)
    nameLabel.Size = UDim2.new(1, -50, 1, 0)
    nameLabel.Position = UDim2.new(0, 48, 0, 0)
    nameLabel.Text = player.Name
    nameLabel.BackgroundTransparency = 1
    nameLabel.TextColor3 = Color3.new(1,1,1)
    nameLabel.Font = Enum.Font.Gotham
    nameLabel.TextSize = 18
    nameLabel.TextXAlignment = Enum.TextXAlignment.Left

    btn.MouseButton1Click:Connect(function()
        selectedPlayer = player
        for _, b in ipairs(playerFrame:GetChildren()) do
            if b:IsA("TextButton") then
                b.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
            end
        end
        btn.BackgroundColor3 = Color3.fromRGB(80, 120, 180)
        errorLabel.Text = ""
    end)
    
    -- Update scroll canvas size
    local playerCount = #Players:GetPlayers() - 1 -- Subtract 1 for LocalPlayer
    playerFrame.CanvasSize = UDim2.new(0, 0, 0, playerCount * 54)
end

local function updatePlayerListSize()
    local playerCount = 0
    for _, child in ipairs(playerFrame:GetChildren()) do
        if child:IsA("TextButton") then
            playerCount = playerCount + 1
        end
    end
    playerFrame.CanvasSize = UDim2.new(0, 0, 0, playerCount * 54)
end

for _, player in ipairs(Players:GetPlayers()) do
    if player ~= LocalPlayer then
        addPlayerButton(player)
    end
end
updatePlayerListSize()

Players.PlayerAdded:Connect(function(player)
    if player ~= LocalPlayer then
        addPlayerButton(player)
        updatePlayerListSize()
    end
end)

Players.PlayerRemoving:Connect(function(player)
    for _, btn in ipairs(playerFrame:GetChildren()) do
        if btn:IsA("TextButton") then
            for _, child in ipairs(btn:GetChildren()) do
                if child:IsA("TextLabel") and child.Text == player.Name then
                    btn:Destroy()
                    updatePlayerListSize()
                end
            end
        end
    end
    if selectedPlayer == player then
        selectedPlayer = nil
    end
end)

tpBtn.MouseButton1Click:Connect(function()
    if not selectedPlayer then
        errorLabel.Text = "Select a player first!"
        return
    end
    if not direction then
        errorLabel.Text = "Choose a direction first!"
        return
    end
    teleportToPlayer(selectedPlayer, direction)
end)

local contConnection = nil
contBtn.MouseButton1Click:Connect(function()
    if teleporting then
        teleporting = false
        contBtn.Text = "Continuous Teleport"
        errorLabel.Text = ""
        if contConnection then
            contConnection:Disconnect()
            contConnection = nil
        end
        return
    end
    if not selectedPlayer then
        errorLabel.Text = "Select a player first!"
        return
    end
    if not direction then
        errorLabel.Text = "Choose a direction first!"
        return
    end
    teleporting = true
    contBtn.Text = "Stop Teleporting"
    errorLabel.Text = ""
    contConnection = game:GetService("RunService").RenderStepped:Connect(function()
        teleportToPlayer(selectedPlayer, direction)
    end)
end)

-- CFRAME TAB LOGIC --
local savedCFrames = {}
local cframeCounter = 0

local function updateCFrameList()
    cframeListFrame.CanvasSize = UDim2.new(0, 0, 0, #savedCFrames * 54 + (#savedCFrames - 1) * 6)
end

local function createEditableLabel(parent, text, onTextChanged)
    local labelFrame = Instance.new("Frame", parent)
    labelFrame.Size = UDim2.new(1, -140, 1, 0)
    labelFrame.Position = UDim2.new(0, 10, 0, 0)
    labelFrame.BackgroundTransparency = 1

    local displayLabel = Instance.new("TextLabel", labelFrame)
    displayLabel.Size = UDim2.new(1, 0, 1, 0)
    displayLabel.Text = text
    displayLabel.BackgroundTransparency = 1
    displayLabel.TextColor3 = Color3.new(1,1,1)
    displayLabel.Font = Enum.Font.Gotham
    displayLabel.TextSize = 16
    displayLabel.TextXAlignment = Enum.TextXAlignment.Left

    local textBox = Instance.new("TextBox", labelFrame)
    textBox.Size = UDim2.new(1, 0, 1, 0)
    textBox.Text = text
    textBox.BackgroundColor3 = Color3.fromRGB(60, 60, 75)
    textBox.TextColor3 = Color3.new(1,1,1)
    textBox.Font = Enum.Font.Gotham
    textBox.TextSize = 16
    textBox.TextXAlignment = Enum.TextXAlignment.Left
    textBox.Visible = false
    textBox.ClearTextOnFocus = false
    local textBoxCorner = Instance.new("UICorner", textBox)
    textBoxCorner.CornerRadius = UDim.new(0, 4)

    local isEditing = false

    displayLabel.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            isEditing = true
            displayLabel.Visible = false
            textBox.Visible = true
            textBox:CaptureFocus()
        end
    end)

    textBox.FocusLost:Connect(function()
        isEditing = false
        local newText = textBox.Text
        if newText ~= "" then
            displayLabel.Text = newText
            if onTextChanged then
                onTextChanged(newText)
            end
        end
        textBox.Visible = false
        displayLabel.Visible = true
    end)

    return displayLabel, textBox
end

local function addCFrameEntry(cframe, name)
    cframeCounter = cframeCounter + 1
    local entry = {
        cframe = cframe,
        name = name or ("Position " .. cframeCounter),
        id = cframeCounter
    }
    table.insert(savedCFrames, entry)

    local entryFrame = Instance.new("Frame", cframeListFrame)
    entryFrame.Size = UDim2.new(1, -12, 0, 48)
    entryFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
    entryFrame.BorderSizePixel = 0
    entryFrame.LayoutOrder = entry.id
    local entryCorner = Instance.new("UICorner", entryFrame)
    entryCorner.CornerRadius = UDim.new(0, 8)

    local nameLabel, nameTextBox = createEditableLabel(entryFrame, entry.name, function(newName)
        entry.name = newName
        for i, v in ipairs(savedCFrames) do
            if v.id == entry.id then
                v.name = newName
                break
            end
        end
    end)

    local tpCFrameBtn = Instance.new("TextButton", entryFrame)
    tpCFrameBtn.Size = UDim2.new(0, 70, 0, 28)
    tpCFrameBtn.Position = UDim2.new(1, -108, 0.5, -14)
    tpCFrameBtn.Text = "Teleport"
    tpCFrameBtn.BackgroundColor3 = Color3.fromRGB(80, 160, 80)
    tpCFrameBtn.TextColor3 = Color3.new(1,1,1)
    tpCFrameBtn.TextSize = 14
    tpCFrameBtn.Font = Enum.Font.GothamBold
    local tpCFrameCorner = Instance.new("UICorner", tpCFrameBtn)
    tpCFrameCorner.CornerRadius = UDim.new(0, 6)

    local deleteCFrameBtn = Instance.new("TextButton", entryFrame)
    deleteCFrameBtn.Size = UDim2.new(0, 28, 0, 28)
    deleteCFrameBtn.Position = UDim2.new(1, -32, 0.5, -14)
    deleteCFrameBtn.Text = "✕"
    deleteCFrameBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
    deleteCFrameBtn.TextColor3 = Color3.new(1,1,1)
    deleteCFrameBtn.TextSize = 16
    deleteCFrameBtn.Font = Enum.Font.GothamBold
    local deleteCFrameCorner = Instance.new("UICorner", deleteCFrameBtn)
    deleteCFrameCorner.CornerRadius = UDim.new(0, 6)

    tpCFrameBtn.MouseButton1Click:Connect(function()
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            char.HumanoidRootPart.CFrame = entry.cframe
            cframeErrorLabel.Text = "Teleported to " .. entry.name
            cframeErrorLabel.TextColor3 = Color3.new(0.2, 1, 0.2)
            wait(2)
            cframeErrorLabel.Text = ""
        else
            cframeErrorLabel.Text = "Character not found!"
            cframeErrorLabel.TextColor3 = Color3.new(1, 0.2, 0.2)
        end
    end)

    deleteCFrameBtn.MouseButton1Click:Connect(function()
        for i, v in ipairs(savedCFrames) do
            if v.id == entry.id then
                table.remove(savedCFrames, i)
                break
            end
        end
        entryFrame:Destroy()
        updateCFrameList()
        cframeErrorLabel.Text = "Deleted " .. entry.name
        cframeErrorLabel.TextColor3 = Color3.new(1, 0.8, 0.2)
    end)

    updateCFrameList()
end

saveCFrameBtn.MouseButton1Click:Connect(function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local currentCFrame = char.HumanoidRootPart.CFrame
        local positionName = "Position " .. (cframeCounter + 1)
        addCFrameEntry(currentCFrame, positionName)
        cframeErrorLabel.Text = "Position saved!"
        cframeErrorLabel.TextColor3 = Color3.new(0.2, 1, 0.2)
    else
        cframeErrorLabel.Text = "Character not found!"
        cframeErrorLabel.TextColor3 = Color3.new(1, 0.2, 0.2)
    end
end)

clearAllBtn.MouseButton1Click:Connect(function()
    for _, child in ipairs(cframeListFrame:GetChildren()) do
        if child:IsA("Frame") then
            child:Destroy()
        end
    end
    savedCFrames = {}
    cframeCounter = 0
    updateCFrameList()
    cframeErrorLabel.Text = "All positions cleared!"
    cframeErrorLabel.TextColor3 = Color3.new(1, 0.8, 0.2)
end)

-- Warning popup
local warnFrame = Instance.new("Frame", ScreenGui)
warnFrame.Size = UDim2.new(0, 260, 0, 120)
warnFrame.Position = UDim2.new(0.5, -130, 0.5, -60)
warnFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
warnFrame.Visible = false
local warnCorner = Instance.new("UICorner", warnFrame)
warnCorner.CornerRadius = UDim.new(0, 14)

local warnLabel = Instance.new("TextLabel", warnFrame)
warnLabel.Size = UDim2.new(1, -20, 0, 60)
warnLabel.Position = UDim2.new(0, 10, 0, 10)
warnLabel.Text = "Are you sure you want to close the GUI?"
warnLabel.BackgroundTransparency = 1
warnLabel.TextColor3 = Color3.new(1,1,1)
warnLabel.TextSize = 18
warnLabel.TextWrapped = true
warnLabel.Font = Enum.Font.Gotham

local yesBtn = Instance.new("TextButton", warnFrame)
yesBtn.Size = UDim2.new(0.45, -5, 0, 32)
yesBtn.Position = UDim2.new(0, 10, 1, -38)
yesBtn.Text = "Yes"
yesBtn.BackgroundColor3 = Color3.fromRGB(80, 160, 80)
yesBtn.TextColor3 = Color3.new(1,1,1)
yesBtn.TextSize = 18
yesBtn.Font = Enum.Font.GothamBold
local yesCorner = Instance.new("UICorner", yesBtn)
yesCorner.CornerRadius = UDim.new(0, 8)

local noBtn = Instance.new("TextButton", warnFrame)
noBtn.Size = UDim2.new(0.45, -5, 0, 32)
noBtn.Position = UDim2.new(0.55, 5, 1, -38)
noBtn.Text = "No"
noBtn.BackgroundColor3 = Color3.fromRGB(160, 80, 80)
noBtn.TextColor3 = Color3.new(1,1,1)
noBtn.TextSize = 18
noBtn.Font = Enum.Font.GothamBold
local noCorner = Instance.new("UICorner", noBtn)
noCorner.CornerRadius = UDim.new(0, 8)

closeBtn.MouseButton1Click:Connect(function()
    warnFrame.Visible = true
end)

yesBtn.MouseButton1Click:Connect(function()
    ScreenGui:Destroy()
end)

noBtn.MouseButton1Click:Connect(function()
    warnFrame.Visible = false
end)

local watermark = Instance.new("TextLabel", Frame)
watermark.Size = UDim2.new(0, 160, 0, 20)
watermark.Position = UDim2.new(1, -170, 1, -26)
watermark.BackgroundTransparency = 1
watermark.Text = "made by: actionmacsen"
watermark.TextColor3 = Color3.fromRGB(180, 180, 180)
watermark.TextSize = 14
watermark.Font = Enum.Font.GothamSemibold
watermark.TextXAlignment = Enum.TextXAlignment.Right
watermark.TextYAlignment = Enum.TextYAlignment.Bottom

Features & Information

Teleport either behind or infront of someone and!!! do it once or continuously!

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts