Fly guy v1
Key RequiredUniversal

Fly guy v1

Universal ScriptJuanchoXDJuanchoXD 460 views 6.7K executesUpdated Oct 4, 2026
Unrated
00
Lua Script•229 lines (7756 chars)
-- ========================================================
-- FLY GUY V1 
-- ========================================================
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer

-- 1. ASEGURAR QUE SI SE EJECUTA OTRA VEZ, SE BORRE LA ANTERIOR
if player.PlayerGui:FindFirstChild("FlyGuyGUI") then
    player.PlayerGui.FlyGuyGUI:Destroy()
end

-- Crear la ScreenGui principal
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyGuyGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

-- Ventana Principal (Estilo Cyberpunk / Moderno)
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 280, 0, 150)
mainFrame.Position = UDim2.new(0.5, -140, 0.4, -75)
mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

-- Esquinas redondeadas para la ventana principal
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 8)
mainCorner.Parent = mainFrame

-- Sombra o borde elegante con UIStroke
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(80, 100, 255)
mainStroke.Thickness = 2
mainStroke.Parent = mainFrame

-- Barra Superior / Título
local titleBar = Instance.new("TextLabel")
titleBar.Size = UDim2.new(1, -40, 0, 36)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundTransparency = 1
titleBar.Text = "   Fly Guy v1"
titleBar.TextColor3 = Color3.fromRGB(130, 170, 255)
titleBar.TextSize = 16
titleBar.Font = Enum.Font.GothamBold
titleBar.TextXAlignment = Enum.TextXAlignment.Left
titleBar.Parent = mainFrame

-- Botón Minimizar / Cerrar ("X") limpio
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 40, 0, 36)
closeButton.Position = UDim2.new(1, -40, 0, 0)
closeButton.BackgroundTransparency = 1
closeButton.Text = "X"
closeButton.TextColor3 = Color3.fromRGB(255, 90, 90)
closeButton.TextSize = 15
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = mainFrame

-- Línea separadora decorativa
local divider = Instance.new("Frame")
divider.Size = UDim2.new(1, -20, 0, 1)
divider.Position = UDim2.new(0, 10, 0, 36)
divider.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
divider.BorderSizePixel = 0
divider.Parent = mainFrame

-- Contenedor interior del panel
local innerPanel = Instance.new("Frame")
innerPanel.Size = UDim2.new(1, -20, 0, 95)
innerPanel.Position = UDim2.new(0, 10, 0, 45)
innerPanel.BackgroundTransparency = 1
innerPanel.Parent = mainFrame

-- Botón ON / OFF
local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0, 100, 0, 50)
toggleButton.Position = UDim2.new(0, 5, 0, 22)
toggleButton.BackgroundColor3 = Color3.fromRGB(220, 50, 50) -- Rojo (OFF)
toggleButton.Text = "OFF"
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.TextSize = 18
toggleButton.Font = Enum.Font.GothamBold
toggleButton.Parent = innerPanel

local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 6)
toggleCorner.Parent = toggleButton

-- Caja de Velocidad
local speedBox = Instance.new("TextBox")
speedBox.Size = UDim2.new(0, 135, 0, 50)
speedBox.Position = UDim2.new(1, -135, 0, 22)
speedBox.BackgroundColor3 = Color3.fromRGB(28, 28, 38)
speedBox.Text = "50"
speedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
speedBox.TextSize = 18
speedBox.Font = Enum.Font.GothamBold
speedBox.ClearTextOnFocus = false
speedBox.Parent = innerPanel

local speedCorner = Instance.new("UICorner")
speedCorner.CornerRadius = UDim.new(0, 6)
speedCorner.Parent = speedBox

-- Etiqueta pequeña para la velocidad
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0, 135, 0, 18)
speedLabel.Position = UDim2.new(1, -135, 0, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Velocidad"
speedLabel.TextColor3 = Color3.fromRGB(150, 150, 170)
speedLabel.TextSize = 12
speedLabel.Font = Enum.Font.GothamMedium
speedLabel.Parent = innerPanel

-- Lógica de Minimizar GUI
local minimized = false
closeButton.MouseButton1Click:Connect(function()
    minimized = not minimized
    innerPanel.Visible = not minimized
    if minimized then
        mainFrame.Size = UDim2.new(0, 280, 0, 36)
        closeButton.Text = "+"
    else
        mainFrame.Size = UDim2.new(0, 280, 0, 150)
        closeButton.Text = "X"
    end
end)

-- Variables de Vuelo
local flying = false
local bv, bg
local cam = workspace.CurrentCamera

local function iniciarVuelo()
    local char = player.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    local rootPart = char.HumanoidRootPart
    
    bv = Instance.new("BodyVelocity")
    bv.Velocity = Vector3.new(0, 0, 0)
    bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
    bv.Parent = rootPart
    
    bg = Instance.new("BodyGyro")
    bg.CFrame = rootPart.CFrame
    bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
    bg.P = 9000
    bg.Parent = rootPart
    
    flying = true
    
    task.spawn(function()
        while flying and char and char:FindFirstChild("HumanoidRootPart") do
            RunService.RenderStepped:Wait()
            local speed = tonumber(speedBox.Text) or 50
            local moveDir = Vector3.new(0,0,0)
            
            if UserInputService:IsKeyDown(Enum.KeyCode.W) or UserInputService:IsKeyDown(Enum.KeyCode.Up) then
                moveDir = moveDir + cam.CoordinateFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) or UserInputService:IsKeyDown(Enum.KeyCode.Down) then
                moveDir = moveDir - cam.CoordinateFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) or UserInputService:IsKeyDown(Enum.KeyCode.Left) then
                moveDir = moveDir - cam.CoordinateFrame.RightVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) or UserInputService:IsKeyDown(Enum.KeyCode.Right) then
                moveDir = moveDir + cam.CoordinateFrame.RightVector
            end
            
            if moveDir.Magnitude > 0 then
                bv.Velocity = moveDir.Unit * speed
            else
                bv.Velocity = Vector3.new(0, 0.1, 0)
            end
            bg.CFrame = cam.CFrame
        end
    end)
end

local function detenerVuelo()
    flying = false
    if bv then bv:Destroy() end
    if bg then bg:Destroy() end
end

-- Botón ON/OFF funcionamiento
toggleButton.MouseButton1Click:Connect(function()
    if not flying then
        iniciarVuelo()
        toggleButton.Text = "ON"
        toggleButton.BackgroundColor3 = Color3.fromRGB(50, 205, 90) -- Verde brillante
    else
        detenerVuelo()
        toggleButton.Text = "OFF"
        toggleButton.BackgroundColor3 = Color3.fromRGB(220, 50, 50) -- Rojo
    end
end)

-- Sistema Anti-Muerte
player.CharacterAdded:Connect(function(newChar)
    detenerVuelo()
    toggleButton.Text = "OFF"
    toggleButton.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
    
    local humanoid = newChar:WaitForChild("Humanoid")
    humanoid.Died:Connect(function()
        detenerVuelo()
        toggleButton.Text = "OFF"
        toggleButton.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
    end)
end)

if player.Character and player.Character:FindFirstChild("Humanoid") then
    player.Character.Humanoid.Died:Connect(function()
        detenerVuelo()
        toggleButton.Text = "OFF"
        toggleButton.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
    end)
end

print("¡Fly Guy v1 (Estilo Pro) cargado correctamente, bro!")

Features & Information

It's just a "fly guy" have fun, my friend.

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts