Gotta 4
Key RequiredUniversal

Gotta 4

Universal ScriptCryptoCodeSupremeCryptoCodeSupreme 131 views 464 executesUpdated Jun 26, 2026
Unrated
00
Lua Script•594 lines (22440 chars)
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local MinimizeBtn = Instance.new("TextButton")
local CloseBtn = Instance.new("TextButton")
local ToggleBall = Instance.new("TextButton") -- A bolinha flutuante

-- Barra de Abas (3 Abas agora)
local TabBar = Instance.new("Frame")
local TabInicioBtn = Instance.new("TextButton")
local TabLoopBtn = Instance.new("TextButton")
local TabEditBtn = Instance.new("TextButton")

-- TELA 1: INÍCIO (Original)
local InicioFrame = Instance.new("Frame")
local BackgroundInicio = Instance.new("ImageLabel") 
local Title = Instance.new("TextLabel")
local PosLabel = Instance.new("TextLabel")
local SaveInput = Instance.new("TextBox")
local SaveBtn = Instance.new("TextButton")
local TpCurrentBtn = Instance.new("TextButton") 
local ClearAllBtn = Instance.new("TextButton")
local ScrollFrame = Instance.new("ScrollingFrame")
local UIListLayout = Instance.new("UIListLayout")

-- TELA 2: LOOP GOTOS
local LoopFrame = Instance.new("Frame")
local BackgroundLoop = Instance.new("ImageLabel")
local LoopTitle = Instance.new("TextLabel")
local StopLoopBtn = Instance.new("TextButton") 
local ScrollFrameLoop = Instance.new("ScrollingFrame")
local UIListLayoutLoop = Instance.new("UIListLayout")

-- TELA 3: EDITAR COORDENADAS (Nova)
local EditFrame = Instance.new("Frame")
local BackgroundEdit = Instance.new("ImageLabel")
local EditTitle = Instance.new("TextLabel")
local EditNameInput = Instance.new("TextBox")
local InputX = Instance.new("TextBox")
local InputY = Instance.new("TextBox")
local InputZ = Instance.new("TextBox")
local SaveManualBtn = Instance.new("TextButton")

-- Configurando a Tela Principal
ScreenGui.Name = "TeleportSystemGui"
ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false

MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.Position = UDim2.new(0.05, 0, 0.2, 0)
MainFrame.Size = UDim2.new(0, 250, 0, 410) 
MainFrame.Active = true
MainFrame.Draggable = true 
MainFrame.BackgroundTransparency = 1 
MainFrame.Visible = true

-- =========================================================================
-- BOLINHA FLUTUANTE (MINIMIZADO)
-- =========================================================================
ToggleBall.Name = "ToggleBall"
ToggleBall.Parent = ScreenGui
ToggleBall.Position = UDim2.new(0.1, 0, 0.1, 0)
ToggleBall.Size = UDim2.new(0, 55, 0, 55)
ToggleBall.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ToggleBall.Text = "🤑"
ToggleBall.TextSize = 25
ToggleBall.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBall.Visible = false -- Começa escondida
ToggleBall.Active = true
ToggleBall.Draggable = true

-- Deixa a bolinha redonda de verdade
local UICornerBall = Instance.new("UICorner")
UICornerBall.CornerRadius = UDim.new(1, 0)
UICornerBall.Parent = ToggleBall

-- =========================================================================
-- BARRA DE ABAS (TOP NAV + CONTROLES)
-- =========================================================================
TabBar.Name = "TabBar"
TabBar.Parent = MainFrame
TabBar.Size = UDim2.new(1, 0, 0, 30)
TabBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
TabBar.ZIndex = 5

-- Botões das Abas (Largura dividida por 3 = ~66px)
TabInicioBtn.Name = "TabInicioBtn"
TabInicioBtn.Parent = TabBar
TabInicioBtn.Size = UDim2.new(0, 66, 1, 0)
TabInicioBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
TabInicioBtn.Text = "Início"
TabInicioBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TabInicioBtn.Font = Enum.Font.SourceSansBold
TabInicioBtn.TextSize = 13
TabInicioBtn.ZIndex = 6

TabLoopBtn.Name = "TabLoopBtn"
TabLoopBtn.Parent = TabBar
TabLoopBtn.Position = UDim2.new(0, 66, 0, 0)
TabLoopBtn.Size = UDim2.new(0, 66, 1, 0)
TabLoopBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
TabLoopBtn.Text = "Loops"
TabLoopBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
TabLoopBtn.Font = Enum.Font.SourceSansBold
TabLoopBtn.TextSize = 13
TabLoopBtn.ZIndex = 6

TabEditBtn.Name = "TabEditBtn"
TabEditBtn.Parent = TabBar
TabEditBtn.Position = UDim2.new(0, 132, 0, 0)
TabEditBtn.Size = UDim2.new(0, 66, 1, 0)
TabEditBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
TabEditBtn.Text = "Editar"
TabEditBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
TabEditBtn.Font = Enum.Font.SourceSansBold
TabEditBtn.TextSize = 13
TabEditBtn.ZIndex = 6

-- Botões de fechar e minimizar no canto direito
MinimizeBtn.Name = "MinimizeBtn"
MinimizeBtn.Parent = TabBar
MinimizeBtn.Position = UDim2.new(1, -50, 0, 0)
MinimizeBtn.Size = UDim2.new(0, 25, 1, 0)
MinimizeBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
MinimizeBtn.Text = "-"
MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeBtn.Font = Enum.Font.SourceSansBold
MinimizeBtn.TextSize = 16
MinimizeBtn.ZIndex = 6

CloseBtn.Name = "CloseBtn"
CloseBtn.Parent = TabBar
CloseBtn.Position = UDim2.new(1, -25, 0, 0)
CloseBtn.Size = UDim2.new(0, 25, 1, 0)
CloseBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.TextSize = 14
CloseBtn.ZIndex = 6

-- =========================================================================
-- ESTRUTURA DA TELA 1: INÍCIO
-- =========================================================================
InicioFrame.Name = "InicioFrame"
InicioFrame.Parent = MainFrame
InicioFrame.Position = UDim2.new(0, 0, 0, 30)
InicioFrame.Size = UDim2.new(1, 0, 1, -30)
InicioFrame.BackgroundTransparency = 1
InicioFrame.Visible = true

BackgroundInicio.Name = "BackgroundInicio"
BackgroundInicio.Parent = InicioFrame
BackgroundInicio.Size = UDim2.new(1, 0, 1, 0)
BackgroundInicio.BackgroundTransparency = 1
BackgroundInicio.ScaleType = Enum.ScaleType.Crop
BackgroundInicio.ZIndex = 0

Title.Name = "Title"
Title.Parent = InicioFrame
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Title.Text = "Gotta 3 🤑 (Início)"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 18
Title.Font = Enum.Font.SourceSansBold
Title.ZIndex = 2

PosLabel.Name = "PosLabel"
PosLabel.Parent = InicioFrame
PosLabel.Position = UDim2.new(0, 10, 0, 40)
PosLabel.Size = UDim2.new(1, -20, 0, 30)
PosLabel.Text = "Posição: X: 0, Y: 0, Z: 0"
PosLabel.TextColor3 = Color3.fromRGB(0, 255, 128)
PosLabel.TextSize = 12
PosLabel.Font = Enum.Font.SourceSansSemibold
PosLabel.ZIndex = 2

SaveInput.Name = "SaveInput"
SaveInput.Parent = InicioFrame
SaveInput.Position = UDim2.new(0, 10, 0, 75)
SaveInput.Size = UDim2.new(1, -20, 0, 30)
SaveInput.PlaceholderText = "Nome do Teleporte..."
SaveInput.Text = ""
SaveInput.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
SaveInput.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveInput.ZIndex = 2

SaveBtn.Name = "SaveBtn"
SaveBtn.Parent = InicioFrame
SaveBtn.Position = UDim2.new(0, 10, 0, 110)
SaveBtn.Size = UDim2.new(0, 110, 0, 30)
SaveBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
SaveBtn.Text = "Salvar Posição"
SaveBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveBtn.ZIndex = 2

ClearAllBtn.Name = "ClearAllBtn"
ClearAllBtn.Parent = InicioFrame
ClearAllBtn.Position = UDim2.new(0, 130, 0, 110)
ClearAllBtn.Size = UDim2.new(0, 110, 0, 30)
ClearAllBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
ClearAllBtn.Text = "Apagar Todos"
ClearAllBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ClearAllBtn.ZIndex = 2

TpCurrentBtn.Name = "TpCurrentBtn"
TpCurrentBtn.Parent = InicioFrame
TpCurrentBtn.Position = UDim2.new(0, 10, 0, 145)
TpCurrentBtn.Size = UDim2.new(1, -20, 0, 30)
TpCurrentBtn.BackgroundColor3 = Color3.fromRGB(40, 160, 80)
TpCurrentBtn.Text = "Teleportar para Pos. Atual (Reset)"
TpCurrentBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TpCurrentBtn.ZIndex = 2

ScrollFrame.Name = "ScrollFrame"
ScrollFrame.Parent = InicioFrame
ScrollFrame.Position = UDim2.new(0, 10, 0, 185)
ScrollFrame.Size = UDim2.new(1, -20, 0, 185)
ScrollFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrame.ScrollBarThickness = 6
ScrollFrame.ZIndex = 2

UIListLayout.Parent = ScrollFrame
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)

-- =========================================================================
-- ESTRUTURA DA TELA 2: LOOP GOTOS
-- =========================================================================
LoopFrame.Name = "LoopFrame"
LoopFrame.Parent = MainFrame
LoopFrame.Position = UDim2.new(0, 0, 0, 30)
LoopFrame.Size = UDim2.new(1, 0, 1, -30)
LoopFrame.BackgroundTransparency = 1
LoopFrame.Visible = false

BackgroundLoop.Name = "BackgroundLoop"
BackgroundLoop.Parent = LoopFrame
BackgroundLoop.Size = UDim2.new(1, 0, 1, 0)
BackgroundLoop.BackgroundTransparency = 1
BackgroundLoop.ScaleType = Enum.ScaleType.Crop
BackgroundLoop.ZIndex = 0

LoopTitle.Name = "LoopTitle"
LoopTitle.Parent = LoopFrame
LoopTitle.Size = UDim2.new(1, 0, 0, 30)
LoopTitle.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
LoopTitle.Text = "Loop Teleports 🔄"
LoopTitle.TextColor3 = Color3.fromRGB(255, 100, 100)
LoopTitle.TextSize = 18
LoopTitle.Font = Enum.Font.SourceSansBold
LoopTitle.ZIndex = 2

StopLoopBtn.Name = "StopLoopBtn"
StopLoopBtn.Parent = LoopFrame
StopLoopBtn.Position = UDim2.new(0, 10, 0, 45)
StopLoopBtn.Size = UDim2.new(1, -20, 0, 35)
StopLoopBtn.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
StopLoopBtn.Text = "⚠️ PARAR LOOP REPETIDOR"
StopLoopBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
StopLoopBtn.Font = Enum.Font.SourceSansBold
StopLoopBtn.TextSize = 14
StopLoopBtn.ZIndex = 2

ScrollFrameLoop.Name = "ScrollFrameLoop"
ScrollFrameLoop.Parent = LoopFrame
ScrollFrameLoop.Position = UDim2.new(0, 10, 0, 95)
ScrollFrameLoop.Size = UDim2.new(1, -20, 0, 275)
ScrollFrameLoop.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
ScrollFrameLoop.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrameLoop.ScrollBarThickness = 6
ScrollFrameLoop.ZIndex = 2

UIListLayoutLoop.Parent = ScrollFrameLoop
UIListLayoutLoop.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayoutLoop.Padding = UDim.new(0, 5)

-- =========================================================================
-- ESTRUTURA DA TELA 3: EDITAR COORDENADAS (MANUAL)
-- =========================================================================
EditFrame.Name = "EditFrame"
EditFrame.Parent = MainFrame
EditFrame.Position = UDim2.new(0, 0, 0, 30)
EditFrame.Size = UDim2.new(1, 0, 1, -30)
EditFrame.BackgroundTransparency = 1
EditFrame.Visible = false

BackgroundEdit.Name = "BackgroundEdit"
BackgroundEdit.Parent = EditFrame
BackgroundEdit.Size = UDim2.new(1, 0, 1, 0)
BackgroundEdit.BackgroundTransparency = 1
BackgroundEdit.ScaleType = Enum.ScaleType.Crop
BackgroundEdit.ZIndex = 0

EditTitle.Name = "EditTitle"
EditTitle.Parent = EditFrame
EditTitle.Size = UDim2.new(1, 0, 0, 30)
EditTitle.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
EditTitle.Text = "Digitar Coordenadas 🛠️"
EditTitle.TextColor3 = Color3.fromRGB(100, 200, 255)
EditTitle.TextSize = 18
EditTitle.Font = Enum.Font.SourceSansBold
EditTitle.ZIndex = 2

EditNameInput.Name = "EditNameInput"
EditNameInput.Parent = EditFrame
EditNameInput.Position = UDim2.new(0, 10, 0, 50)
EditNameInput.Size = UDim2.new(1, -20, 0, 35)
EditNameInput.PlaceholderText = "Nome do local manual..."
EditNameInput.Text = ""
EditNameInput.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
EditNameInput.TextColor3 = Color3.fromRGB(255, 255, 255)
EditNameInput.ZIndex = 2

-- Caixa X
InputX.Name = "InputX"
InputX.Parent = EditFrame
InputX.Position = UDim2.new(0, 10, 0, 100)
InputX.Size = UDim2.new(1, -20, 0, 35)
InputX.PlaceholderText = "Coordenada X (Ex: 154.2)"
InputX.Text = ""
InputX.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
InputX.TextColor3 = Color3.fromRGB(255, 100, 100)
InputX.ZIndex = 2

-- Caixa Y
InputY.Name = "InputY"
InputY.Parent = EditFrame
InputY.Position = UDim2.new(0, 10, 0, 150)
InputY.Size = UDim2.new(1, -20, 0, 35)
InputY.PlaceholderText = "Coordenada Y (Ex: 25.0)"
InputY.Text = ""
InputY.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
InputY.TextColor3 = Color3.fromRGB(100, 255, 100)
InputY.ZIndex = 2

-- Caixa Z
InputZ.Name = "InputZ"
InputZ.Parent = EditFrame
InputZ.Position = UDim2.new(0, 10, 0, 200)
InputZ.Size = UDim2.new(1, -20, 0, 35)
InputZ.PlaceholderText = "Coordenada Z (Ex: -320.7)"
InputZ.Text = ""
InputZ.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
InputZ.TextColor3 = Color3.fromRGB(100, 100, 255)
InputZ.ZIndex = 2

-- Botão de Salvar Manual
SaveManualBtn.Name = "SaveManualBtn"
SaveManualBtn.Parent = EditFrame
SaveManualBtn.Position = UDim2.new(0, 10, 0, 255)
SaveManualBtn.Size = UDim2.new(1, -20, 0, 40)
SaveManualBtn.BackgroundColor3 = Color3.fromRGB(40, 160, 80)
SaveManualBtn.Text = "💾 Salvar Coordenada Manual"
SaveManualBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveManualBtn.Font = Enum.Font.SourceSansBold
SaveManualBtn.TextSize = 14
SaveManualBtn.ZIndex = 2

-- =========================================================================
-- DOWNLOAD DAS TRÊS IMAGENS INDEPENDENTES
-- =========================================================================
local ImgInicioUrl = "https://cdn.discordapp.com/attachments/1312861768539701350/1520116746718023770/ff6a07b712ac0a814d3a00aa09f6de91.jpg?ex=6a40068a&is=6a3eb50a&hm=eeb3075c7031e0e3eb02d6b5a13dcd0b687d0f5114ff9b5fc0d372dc6eed85d0&"
local ImgLoopUrl = "https://cdn.discordapp.com/attachments/1312861768539701350/1520128113697230940/297068f0428d077d9ac4a00f56d99147.jpg?ex=6a401120&is=6a3ebfa0&hm=b3b9133a2c9a411812be27717b0805ad2cb75820776dabb44a5a4d20e452c546&"
local ImgEditUrl = "https://cdn.discordapp.com/attachments/1312861768539701350/1520129979529298072/0f980305c35044887fd71db254c7d727.jpg?ex=6a4012dd&is=6a3ec15d&hm=3d841c9b5fa10936aed8ffec01758bbffce89540b9867db1831c2208cf38e3d0&"

local FileInicio = "gotta3_inicio.jpg"
local FileLoop = "gotta3_loop.jpg"
local FileEdit = "gotta3_edit.jpg"

local function carregarImagens()
    -- Aba 1
    local s1, r1 = pcall(function() return game:HttpGet(ImgInicioUrl) end)
    if s1 and r1 then writefile(FileInicio, r1) BackgroundInicio.Image = getcustomasset(FileInicio)
    elseif isfile(FileInicio) then BackgroundInicio.Image = getcustomasset(FileInicio) end
    
    -- Aba 2
    local s2, r2 = pcall(function() return game:HttpGet(ImgLoopUrl) end)
    if s2 and r2 then writefile(FileLoop, r2) BackgroundLoop.Image = getcustomasset(FileLoop)
    elseif isfile(FileLoop) then BackgroundLoop.Image = getcustomasset(FileLoop) end

    -- Aba 3 (Nova imagem de edição)
    local s3, r3 = pcall(function() return game:HttpGet(ImgEditUrl) end)
    if s3 and r3 then writefile(FileEdit, r3) BackgroundEdit.Image = getcustomasset(FileEdit)
    elseif isfile(FileEdit) then BackgroundEdit.Image = getcustomasset(FileEdit) end
end
task.spawn(carregarImagens)

-- =========================================================================
-- ALTERNADOR DE ABAS (LOGICA VISUAL)
-- =========================================================================
local function resetTabs()
    InicioFrame.Visible = false; LoopFrame.Visible = false; EditFrame.Visible = false
    TabInicioBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 25); TabInicioBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    TabLoopBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 25); TabLoopBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
    TabEditBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 25); TabEditBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
end

TabInicioBtn.MouseButton1Click:Connect(function()
    resetTabs()
    InicioFrame.Visible = true
    TabInicioBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
    TabInicioBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)

TabLoopBtn.MouseButton1Click:Connect(function()
    resetTabs()
    LoopFrame.Visible = true
    TabLoopBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
    TabLoopBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)

TabEditBtn.MouseButton1Click:Connect(function()
    resetTabs()
    EditFrame.Visible = true
    TabEditBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
    TabEditBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)

-- =========================================================================
-- LOGICA DE MINIMIZAR E FECHAR (BOLA FLUTUANTE)
-- =========================================================================
MinimizeBtn.MouseButton1Click:Connect(function()
    MainFrame.Visible = false
    ToggleBall.Visible = true -- Revela a bolinha para reabrir
end)

ToggleBall.MouseButton1Click:Connect(function()
    ToggleBall.Visible = false
    MainFrame.Visible = true -- Reabre o menu principal
end)

CloseBtn.MouseButton1Click:Connect(function()
    ScreenGui:Destroy() -- Deleta o menu por completo
end)

-- =========================================================================
-- NÚCLEO LOGICO DOS TELEPORTES E LOOPS
-- =========================================================================
local Player = game.Players.LocalPlayer
local saves = {}
local checkpointCFrame = nil 
local loopAtivo = false
local cframeLoopAlvo = nil

-- Loop eterno de background
task.spawn(function()
    while true do
        task.wait(0.1)
        if loopAtivo and cframeLoopAlvo and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
            Player.Character.HumanoidRootPart.CFrame = cframeLoopAlvo
        end
    end
end)

StopLoopBtn.MouseButton1Click:Connect(function()
    loopAtivo = false
    cframeLoopAlvo = nil
end)

-- Coleta posição atual para o monitor
task.spawn(function()
    while task.wait(0.2) do
        if Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
            local root = Player.Character.HumanoidRootPart
            checkpointCFrame = root.CFrame
            PosLabel.Text = string.format("Posição: X: %.1f, Y: %.1f, Z: %.1f", root.Position.X, root.Position.Y, root.Position.Z)
        end
    end
end)

-- Sistema de Redesenhar as Listas de TP
local function atualizarLista()
    for _, child in pairs(ScrollFrame:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end
    for _, child in pairs(ScrollFrameLoop:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end

    for name, cframe in pairs(saves) do
        -- Criando na Aba Inicio
        local ItemFrame = Instance.new("Frame")
        local TpBtn = Instance.new("TextButton")
        local DelBtn = Instance.new("TextButton")

        ItemFrame.Size = UDim2.new(1, 0, 0, 30)
        ItemFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        ItemFrame.Parent = ScrollFrame
        ItemFrame.ZIndex = 3

        TpBtn.Size = UDim2.new(0, 150, 1, 0)
        TpBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        TpBtn.Text = "  " .. name
        TpBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        TpBtn.TextXAlignment = Enum.TextXAlignment.Left
        TpBtn.Parent = ItemFrame
        TpBtn.ZIndex = 4

        TpBtn.MouseButton1Click:Connect(function()
            if Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
                Player.Character.HumanoidRootPart.CFrame = cframe
            end
        end)

        DelBtn.Size = UDim2.new(0, 30, 1, 0)
        DelBtn.Position = UDim2.new(1, -30, 0, 0)
        DelBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40)
        DelBtn.Text = "X"
        DelBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        DelBtn.Parent = ItemFrame
        DelBtn.ZIndex = 4

        DelBtn.MouseButton1Click:Connect(function()
            saves[name] = nil
            atualizarLista()
        end)

        -- Criando na Aba Loops
        local ItemFrameLoop = Instance.new("Frame")
        local TpLoopBtnAction = Instance.new("TextButton")

        ItemFrameLoop.Size = UDim2.new(1, 0, 0, 30)
        ItemFrameLoop.BackgroundColor3 = Color3.fromRGB(35, 35, 50)
        ItemFrameLoop.Parent = ScrollFrameLoop
        ItemFrameLoop.ZIndex = 3

        TpLoopBtnAction.Size = UDim2.new(1, 0, 1, 0)
        TpLoopBtnAction.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        TpLoopBtnAction.Text = "  🔄 Iniciar Loop: " .. name
        TpLoopBtnAction.TextColor3 = Color3.fromRGB(255, 230, 100)
        TpLoopBtnAction.TextXAlignment = Enum.TextXAlignment.Left
        TpLoopBtnAction.Parent = ItemFrameLoop
        TpLoopBtnAction.ZIndex = 4

        TpLoopBtnAction.MouseButton1Click:Connect(function()
            cframeLoopAlvo = cframe
            loopAtivo = true
        end)
    end
    ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y)
    ScrollFrameLoop.CanvasSize = UDim2.new(0, 0, 0, UIListLayoutLoop.AbsoluteContentSize.Y)
end

-- =========================================================================
-- NOVO: LOGICA DA ABA DE EDITAR COORDENADAS MANUAIS
-- =========================================================================
SaveManualBtn.MouseButton1Click:Connect(function()
    local name = EditNameInput.Text
    local numX = tonumber(InputX.Text)
    local numY = tonumber(InputY.Text)
    local numZ = tonumber(InputZ.Text)

    if name == "" then name = "Manual " .. math.random(1, 999) end

    -- Só executa se o usuário tiver digitado números válidos nas 3 caixas
    if numX and numY and numZ then
        -- Monta um CFrame usando os números digitados
        local cframeGerado = CFrame.new(numX, numY, numZ)
        saves[name] = cframeGerado
        
        -- Limpa as caixas de texto após salvar
        EditNameInput.Text = ""
        InputX.Text = ""
        InputY.Text = ""
        InputZ.Text = ""
        
        atualizarLista()
    end
end)

-- Botões Gerais de salvar automático e apagar tudo
TpCurrentBtn.MouseButton1Click:Connect(function()
    if checkpointCFrame and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
        Player.Character.HumanoidRootPart.CFrame = checkpointCFrame
    end
end)

SaveBtn.MouseButton1Click:Connect(function()
    local name = SaveInput.Text
    if name == "" then name = "Teleporte " .. math.random(1, 999) end
    if Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
        saves[name] = Player.Character.HumanoidRootPart.CFrame
        SaveInput.Text = "" 
        atualizarLista()
    end
end)

ClearAllBtn.MouseButton1Click:Connect(function()
    loopAtivo = false
    saves = {}
    atualizarLista()
end)

Features & Information

Hmm, this is Gotta 4, man. It's literally a better version of Gotta 3. Why wouldn't you use it?
#Tp#Goto#Universal#Op#Loop goto

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts