fly gui keybind e
Key RequiredUniversal

fly gui keybind e

Universal Scriptjoao00vissottojoao00vissotto 2.9K views 24.4K executesUpdated Sep 27, 2026
Unrated
00
Lua Script•244 lines (8871 chars)
-- Evita duplicação limpando qualquer janela antiga
if game:GetService("CoreGui"):FindFirstChild("ModernFlySystem") then
    game:GetService("CoreGui"):FindFirstChild("ModernFlySystem"):Destroy()
end

-- =============================================================================
-- 1. INSTÂNCIAS DA INTERFACE (Design Moderno, Premium e Arredondado)
-- =============================================================================
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local UICorner = Instance.new("UICorner")
local UIStroke = Instance.new("UIStroke")
local Title = Instance.new("TextLabel")
local SpeedLabel = Instance.new("TextLabel")
local SpeedInput = Instance.new("TextBox")
local UICornerInput = Instance.new("UICorner")
local UIStrokeInput = Instance.new("UIStroke")
local ToggleButton = Instance.new("TextButton")
local UICornerButton = Instance.new("UICorner")

ScreenGui.Name = "ModernFlySystem"
ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.ResetOnSpawn = false

-- Janela Principal (Cantos suaves, sem quadrado feio)
MainFrame.Name = "FlyWindow"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 28)
MainFrame.Position = UDim2.new(0.05, 0, 0.4, 0)
MainFrame.Size = UDim2.new(0, 190, 0, 160)
MainFrame.Active = true
MainFrame.Draggable = true

UICorner.CornerRadius = UDim.new(0, 12) -- Bordas arredondadas e limpas
UICorner.Parent = MainFrame

UIStroke.Color = Color3.fromRGB(50, 50, 55)
UIStroke.Thickness = 1.5
UIStroke.Parent = MainFrame

-- Título
Title.Parent = MainFrame
Title.BackgroundTransparency = 1
Title.Size = UDim2.new(1, 0, 0, 35)
Title.Font = Enum.Font.SourceSansBold
Title.Text = "FLY CONTROLLER"
Title.TextColor3 = Color3.fromRGB(240, 240, 245)
Title.TextSize = 14

-- Texto explicativo da velocidade
SpeedLabel.Parent = MainFrame
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.Position = UDim2.new(0, 0, 0.22, 0)
SpeedLabel.Size = UDim2.new(1, 0, 0, 20)
SpeedLabel.Font = Enum.Font.SourceSansSemibold
SpeedLabel.Text = "Velocidade do Voo:"
SpeedLabel.TextColor3 = Color3.fromRGB(150, 150, 155)
SpeedLabel.TextSize = 13

-- Caixa de Entrada de Texto Arredondada (Velocidade)
SpeedInput.Parent = MainFrame
SpeedInput.BackgroundColor3 = Color3.fromRGB(35, 35, 38)
SpeedInput.Position = UDim2.new(0.15, 0, 0.38, 0)
SpeedInput.Size = UDim2.new(0.7, 0, 0, 28)
SpeedInput.Font = Enum.Font.SourceSansBold
SpeedInput.Text = "70" -- Velocidade padrão inicial
SpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedInput.TextSize = 15

UICornerInput.CornerRadius = UDim.new(0, 6)
UICornerInput.Parent = SpeedInput

UIStrokeInput.Color = Color3.fromRGB(65, 65, 70)
UIStrokeInput.Thickness = 1
UIStrokeInput.Parent = SpeedInput

-- Botão de Ligar/Desligar Moderno
ToggleButton.Parent = MainFrame
ToggleButton.BackgroundColor3 = Color3.fromRGB(220, 55, 65) -- Vermelho fosco suave
ToggleButton.Position = UDim2.new(0.1, 0, 0.65, 0)
ToggleButton.Size = UDim2.new(0.8, 0, 0, 32)
ToggleButton.Font = Enum.Font.SourceSansBold
ToggleButton.Text = "DESLIGADO (E)"
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.TextSize = 13

UICornerButton.CornerRadius = UDim.new(0, 6)
UICornerButton.Parent = ToggleButton

-- =============================================================================
-- 2. LÓGICA DE VOO ESTÁVEL (Baseada na Engine Clássica do Infinite Yield)
-- =============================================================================
local FLY_KEY = Enum.KeyCode.E
local flySpeed = 70

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

local flying = false
local bg, bv
local flyConnection

-- Estrutura estável de chaves direcionais (Leitura nativa de PC)
local ctrl = {f = 0, b = 0, l = 0, r = 0}

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.W then ctrl.f = 1 end
    if input.KeyCode == Enum.KeyCode.S then ctrl.b = -1 end
    if input.KeyCode == Enum.KeyCode.A then ctrl.l = -1 end
    if input.KeyCode == Enum.KeyCode.D then ctrl.r = 1 end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then ctrl.f = 0 end
    if input.KeyCode == Enum.KeyCode.S then ctrl.b = 0 end
    if input.KeyCode == Enum.KeyCode.A then ctrl.l = 0 end
    if input.KeyCode == Enum.KeyCode.D then ctrl.r = 0 end
end)

-- Sistema estável de braços fechados
local function setArmsClosed(character)
    if not character then return end
    local ls = character:FindFirstChild("LeftShoulder", true) or character:FindFirstChild("Left Shoulder", true)
    local rs = character:FindFirstChild("RightShoulder", true) or character:FindFirstChild("Right Shoulder", true)
    if ls and rs then
        ls.Transform = CFrame.new(-0.2, -0.2, 0) * CFrame.Angles(0, 0, math.rad(-5))
        rs.Transform = CFrame.new(0.2, -0.2, 0) * CFrame.Angles(0, 0, math.rad(5))
    end
end

-- Motor Principal de Voo 3D Livre Relativo à Câmera
local function startFly()
    local character = LocalPlayer.Character
    if not character or not character:FindFirstChild("HumanoidRootPart") then return end
    local hrp = character.HumanoidRootPart
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    
    if humanoid then
        humanoid.PlatformStand = true
    end
    
    -- Inicializa instâncias físicas estáveis
    bg = Instance.new("BodyGyro")
    bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
    bg.P = 9e4
    bg.cframe = hrp.CFrame
    bg.Parent = hrp
    
    bv = Instance.new("BodyVelocity")
    bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
    bv.velocity = Vector3.new(0, 0, 0)
    bv.Parent = hrp
    
    -- Vincula o voo ao ciclo de renderização físico estável do Roblox
    flyConnection = RunService.RenderStepped:Connect(function()
        if not flying or not character:FindFirstChild("HumanoidRootPart") then return end
        
        setArmsClosed(character)
        bg.cframe = Camera.CFrame
        
        -- Se houver movimento nas teclas W,A,S,D calcula vetor 3D perfeito pela mira
        if ctrl.f + ctrl.b ~= 0 or ctrl.l + ctrl.r ~= 0 then
            bv.velocity = ((Camera.CFrame.LookVector * (ctrl.f + ctrl.b)) + (Camera.CFrame.RightVector * (ctrl.l + ctrl.r))).Unit * flySpeed
        else
            bv.velocity = Vector3.new(0, 0, 0)
        end
        
        -- Injeção Física Direta contra Dano de Queda (Bypass NDS Completo)
        if humanoid then
            humanoid.SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
            humanoid.SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
            pcall(function()
                hrp.AssemblyLinearVelocity = bv.velocity
            end)
        end
    end)
end

local function stopFly()
    flying = false
    if flyConnection then flyConnection:Disconnect() flyConnection = nil end
    if bg then bg:Destroy() end
    if bv then bv:Destroy() end
    
    local character = LocalPlayer.Character
    if character then
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if humanoid then
            humanoid.PlatformStand = false
            humanoid.SetStateEnabled(Enum.HumanoidStateType.FallingDown, true)
            humanoid.SetStateEnabled(Enum.HumanoidStateType.Ragdoll, true)
            humanoid:ChangeState(Enum.HumanoidStateType.Running)
        end
        local hrp = character:FindFirstChild("HumanoidRootPart")
        if hrp then hrp.AssemblyLinearVelocity = Vector3.new(0, 0, 0) end
    end
end

-- Alternar Estado
local function toggleFly()
    flying = not flying
    if flying then
        ToggleButton.Text = "LIGADO (E)"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(45, 175, 105) -- Verde moderno
        startFly()
    else
        ToggleButton.Text = "DESLIGADO (E)"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(220, 55, 65)
        stopFly()
    end
end

-- Ativações e Sincronização da Caixa de Texto
ToggleButton.MouseButton1Click:Connect(toggleFly)

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == FLY_KEY then
        toggleFly()
    end
end)

-- Aplica o valor numérico digitado instantaneamente no voo ativo
SpeedInput.FocusLost:Connect(function()
    local numericValue = tonumber(SpeedInput.Text)
    if numericValue then
        flySpeed = numericValue
    else
        SpeedInput.Text = tostring(flySpeed)
    end
end)

-- Reseta segurança ao morrer
LocalPlayer.CharacterAdded:Connect(function()
    stopFly()
    ToggleButton.Text = "DESLIGADO (E)"
    ToggleButton.BackgroundColor3 = Color3.fromRGB(220, 55, 65)
    ctrl = {f = 0, b = 0, l = 0, r = 0}
end)

Features & Information

fly gui

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts