Fly script 0912
Key RequiredUniversal

Fly script 0912

Universal ScriptLightnin_700Lightnin_700 679 views 257 executesUpdated Jan 1, 2026
0.0/ 5(3 votes)
030% Positive
Lua Script•312 lines (10125 chars)
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

-- Player references
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local humanoid = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
local mouse = player:GetMouse()

-- GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyToggleUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local button = Instance.new("TextButton")
button.Name = "ToggleButton"
button.Size = UDim2.new(0, 30, 0, 30)
button.Position = UDim2.new(0, 20, 0, 100)
button.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
button.Text = "🪽"
button.TextColor3 = Color3.new(1, 1, 1)
button.Font = Enum.Font.SourceSansBold
button.TextScaled = true
button.Active = true
button.Draggable = true
button.Parent = screenGui

-- Flying variables
local flying = false
local deb = true
local ctrl = {f = 0, b = 0, l = 0, r = 0}
local lastctrl = {f = 0, b = 0, l = 0, r = 0}
local flySpeed = 100
local KeyDownFunction = nil
local KeyUpFunction = nil

-- Fly Pad GUI (mobile-friendly)
local Fly_Pad = Instance.new("ImageButton")
local UIGradient = Instance.new("UIGradient")
local FlyAButton = Instance.new("TextButton")
local FlyDButton = Instance.new("TextButton")
local FlyWButton = Instance.new("TextButton")
local FlySButton = Instance.new("TextButton")

Fly_Pad.Name = "Fly_Pad"
Fly_Pad.Parent = screenGui
Fly_Pad.AnchorPoint = Vector2.new(0, 1)
Fly_Pad.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Fly_Pad.BackgroundTransparency = 0.7
Fly_Pad.Position = UDim2.new(0, 20, 1, -20)
Fly_Pad.Size = UDim2.new(0, 120, 0, 120)
Fly_Pad.Visible = false
Fly_Pad.Image = "rbxassetid://3570695787"
Fly_Pad.ImageColor3 = Color3.fromRGB(0, 0, 0)
Fly_Pad.ImageTransparency = 0.5
Fly_Pad.ScaleType = Enum.ScaleType.Slice
Fly_Pad.SliceCenter = Rect.new(100, 100, 100, 100)
Fly_Pad.SliceScale = 0.12

UIGradient.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
    ColorSequenceKeypoint.new(1, Color3.fromRGB(197, 197, 197))
}
UIGradient.Parent = Fly_Pad

local buttonSize = UDim2.new(0, 40, 0, 40)
local buttonTransparency = 0.3

FlyAButton.Name = "FlyAButton"
FlyAButton.Parent = Fly_Pad
FlyAButton.AnchorPoint = Vector2.new(0.5, 0.5)
FlyAButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
FlyAButton.BackgroundTransparency = buttonTransparency
FlyAButton.Position = UDim2.new(0.2, 0, 0.5, 0)
FlyAButton.Size = buttonSize
FlyAButton.Font = Enum.Font.SourceSans
FlyAButton.Text = "A"
FlyAButton.TextColor3 = Color3.fromRGB(0, 0, 0)
FlyAButton.TextScaled = true
FlyAButton.TextWrapped = true

FlyDButton.Name = "FlyDButton"
FlyDButton.Parent = Fly_Pad
FlyDButton.AnchorPoint = Vector2.new(0.5, 0.5)
FlyDButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
FlyDButton.BackgroundTransparency = buttonTransparency
FlyDButton.Position = UDim2.new(0.8, 0, 0.5, 0)
FlyDButton.Size = buttonSize
FlyDButton.Font = Enum.Font.SourceSans
FlyDButton.Text = "D"
FlyDButton.TextColor3 = Color3.fromRGB(0, 0, 0)
FlyDButton.TextScaled = true
FlyDButton.TextWrapped = true

FlyWButton.Name = "FlyWButton"
FlyWButton.Parent = Fly_Pad
FlyWButton.AnchorPoint = Vector2.new(0.5, 0.5)
FlyWButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
FlyWButton.BackgroundTransparency = buttonTransparency
FlyWButton.Position = UDim2.new(0.5, 0, 0.2, 0)
FlyWButton.Size = buttonSize
FlyWButton.Font = Enum.Font.SourceSans
FlyWButton.Text = "W"
FlyWButton.TextColor3 = Color3.fromRGB(0, 0, 0)
FlyWButton.TextScaled = true
FlyWButton.TextWrapped = true

FlySButton.Name = "FlySButton"
FlySButton.Parent = Fly_Pad
FlySButton.AnchorPoint = Vector2.new(0.5, 0.5)
FlySButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
FlySButton.BackgroundTransparency = buttonTransparency
FlySButton.Position = UDim2.new(0.5, 0, 0.8, 0)
FlySButton.Size = buttonSize
FlySButton.Font = Enum.Font.SourceSans
FlySButton.Text = "S"
FlySButton.TextColor3 = Color3.fromRGB(0, 0, 0)
FlySButton.TextScaled = true
FlySButton.TextWrapped = true

-- Update references on respawn
local function updateCharacter(newChar)
    char = newChar
    humanoid = char:WaitForChild("Humanoid")
    root = char:WaitForChild("HumanoidRootPart")
end
player.CharacterAdded:Connect(updateCharacter)

-- Animation functions
local function PlayAnim(id,time,speed)
    pcall(function()
        player.Character.Animate.Disabled = false
        local hum = player.Character.Humanoid
        local animtrack = hum:GetPlayingAnimationTracks()
        for i,track in pairs(animtrack) do
            track:Stop()
        end
        player.Character.Animate.Disabled = true
        local Anim = Instance.new("Animation")
        Anim.AnimationId = "rbxassetid://"..id
        local loadanim = hum:LoadAnimation(Anim)
        loadanim:Play()
        loadanim.TimePosition = time
        loadanim:AdjustSpeed(speed)
        loadanim.Stopped:Connect(function()
            player.Character.Animate.Disabled = false
            for i, track in pairs (animtrack) do
                track:Stop()
            end
        end)
    end)
end

local function StopAnim()
    player.Character.Animate.Disabled = false
    local animtrack = player.Character.Humanoid:GetPlayingAnimationTracks()
    for i, track in pairs (animtrack) do
        track:Stop()
    end
end

-- Fly Pad button connections
FlyAButton.MouseButton1Down:Connect(function()
    ctrl.l = -1
    PlayAnim(10147823318,3.55,0)
end)
FlyAButton.MouseButton1Up:Connect(function ()
    ctrl.l = 0
    PlayAnim(10714347256,4,0)
end)

FlySButton.MouseButton1Down:Connect(function()
    ctrl.b = -1
    PlayAnim(10147823318,4.11,0)
end)
FlySButton.MouseButton1Up:Connect(function ()
    ctrl.b = 0
    PlayAnim(10714347256,4,0)
end)

FlyDButton.MouseButton1Down:Connect(function()
    ctrl.r = 1
    PlayAnim(10147823318,4.81,0)
end)
FlyDButton.MouseButton1Up:Connect(function ()
    ctrl.r = 0
    PlayAnim(10714347256,4,0)
end)

FlyWButton.MouseButton1Down:Connect(function()
    ctrl.f = 1
    PlayAnim(10714177846,4.65,0)
end)
FlyWButton.MouseButton1Up:Connect(function ()
    ctrl.f = 0
    PlayAnim(10714347256,4,0)
end)

-- Flying loop
local function Fly()
    local UpperTorso = player.Character:WaitForChild("UpperTorso")
    local speed = 0
    local bg = Instance.new("BodyGyro", UpperTorso)
    local bv = Instance.new("BodyVelocity", UpperTorso)

    bg.P = 9e4
    bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
    bg.cframe = UpperTorso.CFrame

    bv.velocity = Vector3.new(0,0.1,0)
    bv.maxForce = Vector3.new(9e9, 9e9, 9e9)

    PlayAnim(10714347256,4,0)

    player.Character.Humanoid.PlatformStand = true

    local connection
    connection = RunService.RenderStepped:Connect(function()
        if not flying then
            -- Cleanup immediately
            player.Character.Humanoid.PlatformStand = false
            bg:Destroy()
            bv:Destroy()
            connection:Disconnect()
            return
        end

        -- Speed smoothing
        if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
            speed = speed + flySpeed*0.10
            if speed > flySpeed then speed = flySpeed end
        elseif speed ~= 0 then
            speed = speed - flySpeed*0.10
            if speed < 0 then speed = 0 end
        end

        -- Velocity
        if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
            bv.velocity = ((game.Workspace.CurrentCamera.CFrame.LookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CFrame.p))*speed
            lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
        elseif speed ~= 0 then
            bv.velocity = ((game.Workspace.CurrentCamera.CFrame.LookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CFrame.p))*speed
        else
            bv.velocity = Vector3.new(0,0.1,0)
        end

        bg.cframe = game.Workspace.CurrentCamera.CFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/flySpeed),0,0)
    end)
end

-- Toggle flying
button.MouseButton1Click:Connect(function()
    if flying then
        flying = false
        Fly_Pad.Visible = false

        if KeyDownFunction then KeyDownFunction:Disconnect() end
        if KeyUpFunction then KeyUpFunction:Disconnect() end
        StopAnim()

        -- Immediate cleanup
        if player.Character and player.Character:FindFirstChild("Humanoid") then
            player.Character.Humanoid.PlatformStand = false
        end

        button.BackgroundColor3 = Color3.fromRGB(255,0,0)
    else
        flying = true
        if UserInputService.TouchEnabled then
            Fly_Pad.Visible = true
        end

        KeyDownFunction = mouse.KeyDown:Connect(function(key)
            if key:lower() == "w" then
                ctrl.f = 1
                PlayAnim(10714177846,4.65,0)
            elseif key:lower() == "s" then
                ctrl.b = -1
                PlayAnim(10147823318,4.11,0)
            elseif key:lower() == "a" then
                ctrl.l = -1
                PlayAnim(10147823318,3.55,0)
            elseif key:lower() == "d" then
                ctrl.r = 1
                PlayAnim(10147823318,4.81,0)
            end
        end)

        KeyUpFunction = mouse.KeyUp:Connect(function(key)
            if key:lower() == "w" then
                ctrl.f = 0
                PlayAnim(10714347256,4,0)
            elseif key:lower() == "s" then
                ctrl.b = 0
                PlayAnim(10714347256,4,0)
            elseif key:lower() == "a" then
                ctrl.l = 0
                PlayAnim(10714347256,4,0)
            elseif key:lower() == "d" then
                ctrl.r = 0
                PlayAnim(10714347256,4,0)
            end
        end)

        Fly()
        button.BackgroundColor3 = Color3.fromRGB(0,255,0)
    end
end)

Features & Information

It's a fly script. I borrowed some stuff from. Other scripts. I didn't do it by myself

Community Comments (1)

sammyturncomsammyturncomJan 1, 2026

i report you cuz you upload nsfw joke image

More Scripts for Universal Scripts