Simple Fly Script With a pretty good ui
Key RequiredUniversal

Simple Fly Script With a pretty good ui

Universal ScriptHilosHAXHilosHAX 28.6K views 254 executesUpdated Feb 28, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•123 lines (4184 chars)
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")

local flying = false
local flySpeed = 50 -- Default Speed

local screenGui = Instance.new("ScreenGui", game.CoreGui)
screenGui.ResetOnSpawn = false

local openButton = Instance.new("TextButton", screenGui)
openButton.Size = UDim2.new(0, 100, 0, 40)
openButton.Position = UDim2.new(0, 50, 0, 50)
openButton.Text = "Open Fly GUI"
openButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
openButton.TextColor3 = Color3.fromRGB(255, 255, 255)
openButton.Draggable = true
openButton.Active = true
openButton.AutoButtonColor = true

local mainFrame = Instance.new("Frame", screenGui)
mainFrame.Size = UDim2.new(0, 300, 0, 200)
mainFrame.Position = UDim2.new(0.5, -150, 0.5, -100)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
mainFrame.Visible = false
mainFrame.Draggable = true
mainFrame.Active = true

local title = Instance.new("TextLabel", mainFrame)
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "Fly GUI"
title.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
title.TextColor3 = Color3.fromRGB(255, 255, 255)

title.Font = Enum.Font.GothamBold
title.TextSize = 18

local credit = Instance.new("TextLabel", mainFrame)
credit.Size = UDim2.new(1, 0, 0, 20)
credit.Position = UDim2.new(0, 0, 1, -20)
credit.Text = "-- Made by HilosHAX--"
credit.BackgroundTransparency = 1
credit.TextColor3 = Color3.fromRGB(255, 255, 255)
credit.Font = Enum.Font.GothamBold
credit.TextSize = 14

local flyButton = Instance.new("TextButton", mainFrame)
flyButton.Size = UDim2.new(0, 200, 0, 40)
flyButton.Position = UDim2.new(0.5, -100, 0.3, 0)
flyButton.Text = "Toggle Fly (F)"
flyButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
flyButton.TextColor3 = Color3.fromRGB(255, 255, 255)

local slider = Instance.new("TextButton", mainFrame)
slider.Size = UDim2.new(0, 200, 0, 40)
slider.Position = UDim2.new(0.5, -100, 0.6, 0)
slider.Text = "Speed: " .. flySpeed
slider.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
slider.TextColor3 = Color3.fromRGB(255, 255, 255)

openButton.MouseButton1Click:Connect(function()
    mainFrame.Visible = not mainFrame.Visible
end)

local function toggleFly()
    flying = not flying
    if flying then
        while flying do
            local moveDir = Vector3.new(0, 0, 0)
            local cam = workspace.CurrentCamera
            
            if UserInputService:IsKeyDown(Enum.KeyCode.W) then
                moveDir = moveDir + cam.CFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) then
                moveDir = moveDir - cam.CFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) then
                moveDir = moveDir - cam.CFrame.RightVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) then
                moveDir = moveDir + cam.CFrame.RightVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
                moveDir = moveDir + Vector3.new(0, 1, 0)
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
                moveDir = moveDir - Vector3.new(0, 1, 0)
            end
            
            if moveDir.Magnitude > 0 then
                moveDir = moveDir.Unit * flySpeed
            end
            
            humanoidRootPart.Velocity = moveDir
            RunService.RenderStepped:Wait()
        end
    else
        humanoidRootPart.Velocity = Vector3.new(0, 0, 0)
    end
end

flyButton.MouseButton1Click:Connect(toggleFly)

slider.MouseButton1Click:Connect(function()
    flySpeed = flySpeed + 50
    if flySpeed > 500 then
        flySpeed = 0
    end
    slider.Text = "Speed: " .. flySpeed
end)

UserInputService.InputBegan:Connect(function(input, processed)
    if processed then return end
    if input.KeyCode == Enum.KeyCode.F then
        toggleFly()
    end
end)

Features & Information

nothing much its just a fly script with a speed changer MAX IS 500 made by me also

Community Comments (2)

skibidi_slicersskibidi_slicersApr 15, 2025

when i die i cant fly anymore

HilosHAXHilosHAXApr 18, 2025

@promsharkawy you will need to enable the fly again

More Scripts for Universal Scripts