Muffin's Fly GUI V1
Key RequiredUniversal

Muffin's Fly GUI V1

Universal Script*inytt*inytt 5.1K views 9K executesUpdated May 3, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•146 lines (5184 chars)
--[[
	MUFFIN'S FLY SCRIPT (SHINY RAINBOW EDITION)
	Features: Auto-Reload, Mobile Draggable, Rainbow RGB Borders
]]

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

local player = Players.LocalPlayer
local flying = false
local speed = 80
local attachment, lv, ao, character, humanoid, root

-- // UI SETUP
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "MuffinsFlyGui"
ScreenGui.Parent = player:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false

-- Prevent duplicate GUIs
if ScreenGui.Parent:FindFirstChild("MuffinsFlyGui") and ScreenGui.Parent:FindFirstChild("MuffinsFlyGui") ~= ScreenGui then
    ScreenGui.Parent.MuffinsFlyGui:Destroy()
end

local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.fromOffset(250, 120)
MainFrame.Position = UDim2.new(0.5, -125, 0.15, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) -- Darker background makes rainbow pop
MainFrame.BorderSizePixel = 4
MainFrame.Active = true 

-- Add rounded corners for a modern "shiny" look
local Corner = Instance.new("UICorner", MainFrame)
Corner.CornerRadius = UDim.new(0, 10)

-- Add a UIStroke for the rainbow border effect
local UIStroke = Instance.new("UIStroke", MainFrame)
UIStroke.Thickness = 3
UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border

local Title = Instance.new("TextLabel", MainFrame)
Title.Size = UDim2.new(1, 0, 0.45, 0)
Title.Text = "✨ MUFFIN'S FLY ✨"
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.Code
Title.TextSize = 22
Title.TextColor3 = Color3.new(1, 1, 1)

local Toggle = Instance.new("TextButton", MainFrame)
Toggle.Size = UDim2.new(0.9, 0, 0.4, 0)
Toggle.Position = UDim2.new(0.05, 0, 0.5, 0)
Toggle.Text = "FLY: OFF"
Toggle.TextSize = 18
Toggle.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
Toggle.TextColor3 = Color3.new(1, 0, 0)
Toggle.Font = Enum.Font.Code

local ToggleCorner = Instance.new("UICorner", Toggle)
ToggleCorner.CornerRadius = UDim.new(0, 8)

-- // RAINBOW CYCLE LOGIC
RunService.RenderStepped:Connect(function()
	local hue = tick() % 5 / 5 -- Cycles colors every 5 seconds
	local rainbowColor = Color3.fromHSV(hue, 1, 1)
	
	UIStroke.Color = rainbowColor
	Title.TextColor3 = rainbowColor
end)

-- // DRAGGING LOGIC
local dragging, dragStart, startPos
MainFrame.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
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        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
end)
UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)

-- // CORE FLYING LOGIC
local function setupPhysics()
    character = player.Character or player.CharacterAdded:Wait()
    humanoid = character:WaitForChild("Humanoid")
    root = character:WaitForChild("HumanoidRootPart")

    if flying then
        if attachment then attachment:Destroy() end
        humanoid.PlatformStand = true
        attachment = Instance.new("Attachment", root)
        lv = Instance.new("LinearVelocity", attachment)
        lv.MaxForce = 9e9
        lv.VectorVelocity = Vector3.zero
        lv.Attachment0 = attachment
        ao = Instance.new("AlignOrientation", attachment)
        ao.MaxTorque = 9e9
        ao.Responsiveness = 200
        ao.Mode = Enum.OrientationAlignmentMode.OneAttachment
        ao.Attachment0 = attachment
    end
end

player.CharacterAdded:Connect(function()
    task.wait(0.1)
    setupPhysics()
end)

setupPhysics()

Toggle.MouseButton1Click:Connect(function()
    flying = not flying
    if flying then
        Toggle.Text = "FLY: ON"; Toggle.TextColor3 = Color3.new(0, 1, 0)
        setupPhysics()
    else
        Toggle.Text = "FLY: OFF"; Toggle.TextColor3 = Color3.new(1, 0, 0)
        if humanoid then humanoid.PlatformStand = false end
        if attachment then attachment:Destroy() end
    end
end)

-- // MOVEMENT LOOP
local PlayerModule = require(player.PlayerScripts:WaitForChild("PlayerModule"))
local Controls = PlayerModule:GetControls()

RunService.RenderStepped:Connect(function()
    if flying and root and workspace.CurrentCamera and lv and ao then
        local cam = workspace.CurrentCamera
        local moveVector = Controls:GetMoveVector()
        if moveVector.Magnitude > 0 then
            local forwardDirection = cam.CFrame.LookVector * -moveVector.Z
            local sideDirection = cam.CFrame.RightVector * moveVector.X
            lv.VectorVelocity = (forwardDirection + sideDirection).Unit * speed
        else
            lv.VectorVelocity = Vector3.zero
        end
        ao.CFrame = cam.CFrame
    end
end)

Features & Information

Its a fly gui that works in games
#Fly GUI

Community Comments (4)

sleepyhvhsleepyhvhMay 3, 2026

holy ai

Replying to @sleepyhvh
*inytt*inyttMay 3, 2026

@VortexDev son 💔🥀

Replying to @*inytt
sleepyhvhsleepyhvhMay 4, 2026

@inytt grandson 😭✌️

AntiByfronClubAntiByfronClubMay 3, 2026

obviously *ing ai :sob:

More Scripts for Universal Scripts