Multi posiction
Key RequiredUniversal

Multi posiction

Universal ScriptzSUO9hv1H62ju9ZzSUO9hv1H62ju9Z 520 views 3.9K executesUpdated Feb 11, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•165 lines (5869 chars)
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local Title = Instance.new("TextLabel")
local SaveButton = Instance.new("TextButton")
local ScrollFrame = Instance.new("ScrollingFrame")
local UIListLayout = Instance.new("UIListLayout")
local ToggleButton = Instance.new("TextButton")

-- Limpieza de ejecuciones previas
local existing = game.CoreGui:FindFirstChild("UltimateWaypointSystem")
if existing then existing:Destroy() end

ScreenGui.Name = "UltimateWaypointSystem"
ScreenGui.Parent = game.CoreGui

-- Botón Flotante para abrir
ToggleButton.Name = "ToggleButton"
ToggleButton.Parent = ScreenGui
ToggleButton.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
ToggleButton.Position = UDim2.new(0, 10, 0.45, 0)
ToggleButton.Size = UDim2.new(0, 90, 0, 35)
ToggleButton.Text = "Waypoints ✎"
ToggleButton.TextColor3 = Color3.new(1, 1, 1)
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.TextSize = 13
Instance.new("UICorner", ToggleButton)

-- Ventana Principal
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.Position = UDim2.new(0.5, -110, 0.5, -150)
MainFrame.Size = UDim2.new(0, 220, 0, 300)
MainFrame.Visible = false
Instance.new("UICorner", MainFrame)

Title.Parent = MainFrame
Title.Size = UDim2.new(1, 0, 0, 45)
Title.Text = "GESTOR DE PUNTOS"
Title.TextColor3 = Color3.new(1, 1, 1)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.GothamBold
Title.TextSize = 14

-- Botón Guardar
SaveButton.Parent = MainFrame
SaveButton.Position = UDim2.new(0.1, 0, 0.15, 0)
SaveButton.Size = UDim2.new(0.8, 0, 0, 35)
SaveButton.BackgroundColor3 = Color3.fromRGB(39, 174, 96)
SaveButton.Text = "+ GUARDAR AQUÍ"
SaveButton.TextColor3 = Color3.new(1, 1, 1)
SaveButton.Font = Enum.Font.GothamBold
Instance.new("UICorner", SaveButton)

-- Lista con Scroll
ScrollFrame.Parent = MainFrame
ScrollFrame.Position = UDim2.new(0.05, 0, 0.3, 0)
ScrollFrame.Size = UDim2.new(0.9, 0, 0.65, 0)
ScrollFrame.BackgroundTransparency = 1
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrame.ScrollBarThickness = 3

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

--- LÓGICA DE FUNCIONAMIENTO ---

local waypointCount = 0

local function createWaypointRow(cframe)
    waypointCount = waypointCount + 1
    
    local RowFrame = Instance.new("Frame")
    local NameInput = Instance.new("TextBox")
    local TPBtn = Instance.new("TextButton")
    local DelBtn = Instance.new("TextButton")
    
    RowFrame.Size = UDim2.new(1, -5, 0, 45)
    RowFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    RowFrame.Parent = ScrollFrame
    Instance.new("UICorner", RowFrame)
    
    -- Input para el Nombre (Editable)
    NameInput.Size = UDim2.new(0.65, 0, 0.5, 0)
    NameInput.Position = UDim2.new(0.05, 0, 0.1, 0)
    NameInput.BackgroundTransparency = 1
    NameInput.Text = "Punto " .. waypointCount
    NameInput.TextColor3 = Color3.fromRGB(255, 255, 255)
    NameInput.Font = Enum.Font.GothamSemibold
    NameInput.TextSize = 14
    NameInput.TextXAlignment = Enum.TextXAlignment.Left
    NameInput.Parent = RowFrame
    NameInput.ClearTextOnFocus = false

    -- Botón de Teleport (Abajo del nombre)
    TPBtn.Size = UDim2.new(0.65, 0, 0.4, 0)
    TPBtn.Position = UDim2.new(0.05, 0, 0.55, 0)
    TPBtn.BackgroundColor3 = Color3.fromRGB(52, 152, 219)
    TPBtn.Text = "Teletransportar"
    TPBtn.TextColor3 = Color3.new(1, 1, 1)
    TPBtn.Font = Enum.Font.Gotham
    TPBtn.TextSize = 11
    TPBtn.Parent = RowFrame
    Instance.new("UICorner", TPBtn)
    
    -- Botón de Eliminar
    DelBtn.Size = UDim2.new(0.2, 0, 0.8, 0)
    DelBtn.Position = UDim2.new(0.75, 0, 0.1, 0)
    DelBtn.BackgroundColor3 = Color3.fromRGB(192, 57, 43)
    DelBtn.Text = "X"
    DelBtn.TextColor3 = Color3.new(1, 1, 1)
    DelBtn.Font = Enum.Font.GothamBold
    DelBtn.Parent = RowFrame
    Instance.new("UICorner", DelBtn)

    -- Lógica de botones
    TPBtn.MouseButton1Click:Connect(function()
        local char = game.Players.LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            char.HumanoidRootPart.CFrame = cframe
        end
    end)

    DelBtn.MouseButton1Click:Connect(function()
        RowFrame:Destroy()
        task.wait(0.1)
        ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y)
    end)
    
    -- Auto-ajuste de lista
    ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y)
end

-- Eventos principales
SaveButton.MouseButton1Click:Connect(function()
    local char = game.Players.LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        createWaypointRow(char.HumanoidRootPart.CFrame)
    end
end)

ToggleButton.MouseButton1Click:Connect(function()
    MainFrame.Visible = not MainFrame.Visible
end)

-- Sistema de Arrastre (Drag)
local UIS = game:GetService("UserInputService")
local dragging, dragInput, dragStart, startPos
MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true; dragStart = input.Position; startPos = MainFrame.Position
    end
end)
UIS.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)
    end
end)
UIS.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = false
    end
end)

Features & Information

Guardar multiples posiciones Se pueden hacer tp Y borrar las posiciones Y editar nombre de cada posicion

Community Comments (1)

zSUO9hv1H62ju9ZzSUO9hv1H62ju9ZFeb 11, 2026

Not

More Scripts for Universal Scripts