Camino permanente
Key RequiredUniversal

Camino permanente

Universal ScriptzSUO9hv1H62ju9ZzSUO9hv1H62ju9Z 597 views 1.7K executesUpdated Feb 11, 2026
Unrated
00
Lua Script•175 lines (6406 chars)
--[[
    AIR-WALK V5.2: CAMINO PERMANENTE + LIMPIEZA (SIN RESET)
--]]

local CONFIG = {
    Dimensiones = { Tamano = Vector3.new(6, 0.6, 6) },
    Propiedades = {
        Material = Enum.Material.Neon,
        Color = Color3.fromRGB(0, 255, 255),
        TransparenciaInicial = 0.5,
    },
    AjusteY = 3.2
}

local Player = game.Players.LocalPlayer
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local SistemaActivo = false
local Minimizado = false
local AlturaDeseada = 0
local ultimaPlataforma = nil
local Character, Root

local Folder = workspace:FindFirstChild("AirWalk_Folder") or Instance.new("Folder", workspace)
Folder.Name = "AirWalk_Folder"

local function ActualizarReferencias()
    Character = Player.Character or Player.CharacterAdded:Wait()
    Root = Character:WaitForChild("HumanoidRootPart")
end
ActualizarReferencias()
Player.CharacterAdded:Connect(ActualizarReferencias)

-- --- INTERFAZ ---
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
ScreenGui.Name = "AirWalk_Fixed"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true

local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 160, 0, 220) -- Tamaño reducido al quitar un botón
MainFrame.Position = UDim2.new(0.5, -80, 0.5, -110)
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Active = true
Instance.new("UICorner", MainFrame)

local TitleBar = Instance.new("TextButton", MainFrame)
TitleBar.Size = UDim2.new(1, 0, 0, 35)
TitleBar.Text = "  AIR WALK PRO"
TitleBar.TextColor3 = Color3.new(1, 1, 1)
TitleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
TitleBar.TextXAlignment = Enum.TextXAlignment.Left
TitleBar.Font = Enum.Font.GothamBold
TitleBar.TextSize = 12
TitleBar.AutoButtonColor = false
Instance.new("UICorner", TitleBar)

local MiniBtn = Instance.new("TextButton", TitleBar)
MiniBtn.Size = UDim2.new(0, 30, 0, 30)
MiniBtn.Position = UDim2.new(1, -32, 0, 2)
MiniBtn.Text = "-"
MiniBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
MiniBtn.TextColor3 = Color3.new(1, 1, 1)
MiniBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", MiniBtn)

-- --- LÓGICA DE ARRASTRAR (FIJADA) ---
local dragging, dragInput, dragStart, startPos
local function update(input)
    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

TitleBar.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
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)

TitleBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and input == dragInput then update(input) end
end)

-- --- BOTONES ---
local ButtonContainer = Instance.new("Frame", MainFrame)
ButtonContainer.Size = UDim2.new(1, 0, 1, -35)
ButtonContainer.Position = UDim2.new(0, 0, 0, 35)
ButtonContainer.BackgroundTransparency = 1

local List = Instance.new("UIListLayout", ButtonContainer)
List.Padding = UDim.new(0, 5)
List.HorizontalAlignment = Enum.HorizontalAlignment.Center
Instance.new("UIPadding", ButtonContainer).PaddingTop = UDim.new(0, 10)

local function crearBoton(texto, color)
    local btn = Instance.new("TextButton", ButtonContainer)
    btn.Size = UDim2.new(0, 140, 0, 35) -- Un poco más altos para llenar mejor el espacio
    btn.Text = texto
    btn.BackgroundColor3 = color
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 11
    Instance.new("UICorner", btn)
    return btn
end

local btnToggle = crearBoton("ESTADO: OFF", Color3.fromRGB(180, 50, 50))
local btnSubir  = crearBoton("↑ SUBIR (Q)", Color3.fromRGB(40, 120, 180))
local btnBajar  = crearBoton("↓ BAJAR (E)", Color3.fromRGB(130, 60, 160))
local btnClear  = crearBoton("LIMPIAR CAMINO", Color3.fromRGB(200, 0, 0))

-- Minimizar
MiniBtn.MouseButton1Click:Connect(function()
    Minimizado = not Minimizado
    local targetSize = Minimizado and UDim2.new(0, 160, 0, 35) or UDim2.new(0, 160, 0, 220)
    MiniBtn.Text = Minimizado and "+" or "-"
    TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = targetSize}):Play()
end)

-- Lógica de Funciones
btnToggle.MouseButton1Click:Connect(function()
    SistemaActivo = not SistemaActivo
    btnToggle.Text = SistemaActivo and "ESTADO: ON" or "ESTADO: OFF"
    btnToggle.BackgroundColor3 = SistemaActivo and Color3.fromRGB(40, 180, 100) or Color3.fromRGB(180, 50, 50)
    if SistemaActivo then AlturaDeseada = Root.Position.Y - CONFIG.AjusteY end
end)

btnSubir.MouseButton1Click:Connect(function() AlturaDeseada = AlturaDeseada + 3 end)
btnBajar.MouseButton1Click:Connect(function() AlturaDeseada = AlturaDeseada - 3 end)

btnClear.MouseButton1Click:Connect(function()
    Folder:ClearAllChildren()
    ultimaPlataforma = nil
end)

-- Atajos
UserInputService.InputBegan:Connect(function(i, gpe)
    if gpe then return end
    if i.KeyCode == Enum.KeyCode.Q then AlturaDeseada = AlturaDeseada + 3
    elseif i.KeyCode == Enum.KeyCode.E then AlturaDeseada = AlturaDeseada - 3 end
end)

-- Bucle de construcción
RunService.Heartbeat:Connect(function()
    if not SistemaActivo or not Root then return end
    local pos = Root.Position
    local platformPos = Vector3.new(pos.X, AlturaDeseada, pos.Z)
    
    if not ultimaPlataforma or (Vector2.new(pos.X, pos.Z) - Vector2.new(ultimaPlataforma.Position.X, ultimaPlataforma.Position.Z)).Magnitude > 3 then
        local p = Instance.new("Part")
        p.Size = CONFIG.Dimensiones.Tamano
        p.Position = platformPos
        p.Anchored = true
        p.Material = CONFIG.Propiedades.Material
        p.Color = CONFIG.Propiedades.Color
        p.Transparency = CONFIG.Propiedades.TransparenciaInicial
        p.Parent = Folder
        ultimaPlataforma = p
    end
end)

Features & Information

Se mantiene en el aire Puedes caminar normal sin caerte Subes y bajas y no te caeras Y lo puedes eliminar

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts