Simple Teleport Open Source
Key RequiredUniversal

Simple Teleport Open Source

Universal ScriptScriptideScriptide 574 views 1.2K executesUpdated Mar 31, 2026
Unrated
00
Lua Script•129 lines (4100 chars)
-- =============================================
--  Universal Position Save & Teleport Script
--  Works across all Roblox games
-- =============================================

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local savedPosition = nil

-- ─── GUI Setup ────────────────────────────────────────────────

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "TeleportGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = game:GetService("CoreGui") -- Use CoreGui to persist across maps

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 200, 0, 110)
Frame.Position = UDim2.new(0, 20, 0.5, -55)
Frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Frame.BorderSizePixel = 0
Frame.Active = true
Frame.Draggable = true
Frame.Parent = ScreenGui

local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 8)
Corner.Parent = Frame

-- Title bar
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 30)
Title.Position = UDim2.new(0, 0, 0, 0)
Title.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
Title.BorderSizePixel = 0
Title.Text = "📍 Teleporter"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 14
Title.Font = Enum.Font.GothamBold
Title.Parent = Frame

local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 8)
TitleCorner.Parent = Title

-- Status label
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Size = UDim2.new(1, -10, 0, 20)
StatusLabel.Position = UDim2.new(0, 5, 0, 35)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "No position saved."
StatusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
StatusLabel.TextSize = 11
StatusLabel.Font = Enum.Font.Gotham
StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
StatusLabel.Parent = Frame

-- ─── Button Factory ───────────────────────────────────────────

local function makeButton(text, bgColor, yPos)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, -20, 0, 28)
    btn.Position = UDim2.new(0, 10, 0, yPos)
    btn.BackgroundColor3 = bgColor
    btn.BorderSizePixel = 0
    btn.Text = text
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.TextSize = 13
    btn.Font = Enum.Font.GothamSemibold
    btn.AutoButtonColor = true
    btn.Parent = Frame

    local c = Instance.new("UICorner")
    c.CornerRadius = UDim.new(0, 6)
    c.Parent = btn

    return btn
end

local CopyBtn = makeButton("📋  Copy Position", Color3.fromRGB(40, 120, 200), 62)
local TeleBtn = makeButton("🚀  Teleport",       Color3.fromRGB(50, 160, 80),  96)

-- ─── Helper: get character root ───────────────────────────────

local function getRoot()
    local char = LocalPlayer.Character
    if not char then return nil end
    return char:FindFirstChild("HumanoidRootPart")
            or char:FindFirstChild("UpperTorso")
            or char:FindFirstChild("Torso")
end

-- ─── Button Logic ─────────────────────────────────────────────

-- 1. Copy current position
CopyBtn.MouseButton1Click:Connect(function()
    local root = getRoot()
    if root then
        savedPosition = root.CFrame
        local p = savedPosition.Position
        StatusLabel.Text = string.format(
            "Saved: (%.1f, %.1f, %.1f)", p.X, p.Y, p.Z
        )
        StatusLabel.TextColor3 = Color3.fromRGB(100, 220, 100)
    else
        StatusLabel.Text = "⚠ No character found!"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
    end
end)

-- 2. Teleport to saved position
TeleBtn.MouseButton1Click:Connect(function()
    if not savedPosition then
        StatusLabel.Text = "⚠ Save a position first!"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 180, 50)
        return
    end

    local root = getRoot()
    if root then
        root.CFrame = savedPosition
        StatusLabel.Text = "✅ Teleported!"
        StatusLabel.TextColor3 = Color3.fromRGB(100, 220, 100)
    else
        StatusLabel.Text = "⚠ No character found!"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
    end
end)

Features & Information

Free To Use No Copy Right Issue THis code is just to copy the position and tp back to it
#Teleport#Universal

Community Comments (3)

zoxzzoxzMar 31, 2026

uses ai

Replying to @zoxz
ScriptideScriptideApr 1, 2026

@zoxz works tho -_-

Replying to @Scriptide
zoxzzoxzApr 2, 2026

@Scriptide yeah but its so easy to create just learn lua

More Scripts for Universal Scripts