--[[ MUFFIN'S FLY GUI: PERFECT SPEED EDITION (ACCENTUATED TEXT & BUTTONS) Optimizations: High-visibility buttons, maximized title font, interactive speed changer (+/-). ]] local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local flying = false local speed = 50 -- Default starting speed -- Smoothing configuration local ROT_SPEED_FACTOR = 20 local attachment, lv, ao, character, humanoid, root -- // CLEANUP PREVIOUS local existing = player:WaitForChild("PlayerGui"):FindFirstChild("MuffinAestheticFly") if existing then existing:Destroy() end -- // UI SETUP (MID-COMPACT SIZE FOOTPRINT) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MuffinAestheticFly" ScreenGui.Parent = player.PlayerGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.fromOffset(210, 135) MainFrame.Position = UDim2.new(0.5, -105, 0.2, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) MainFrame.BackgroundTransparency = 0.15 MainFrame.BorderSizePixel = 0 MainFrame.Active = true local Corner = Instance.new("UICorner", MainFrame) Corner.CornerRadius = UDim.new(0, 11) local UIStroke = Instance.new("UIStroke", MainFrame) UIStroke.Thickness = 2.5 UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border local UIGradient = Instance.new("UIGradient", UIStroke) UIGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 255)) }) -- // ENLARGED TITLE TEXT local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0.26, 0) Title.Text = "MUFFIN'S V3" Title.BackgroundTransparency = 1 Title.Font = Enum.Font.FredokaOne Title.TextSize = 22 -- Maximized for prominence Title.TextColor3 = Color3.new(1, 1, 1) local SubTitle = Instance.new("TextLabel", MainFrame) SubTitle.Size = UDim2.new(1, 0, 0.09, 0) SubTitle.Position = UDim2.new(0, 0, 0.25, 0) SubTitle.Text = "ULTRA-PREMIUM FLIGHT" SubTitle.BackgroundTransparency = 1 SubTitle.Font = Enum.Font.GothamBold SubTitle.TextSize = 7 SubTitle.TextColor3 = Color3.fromRGB(150, 150, 150) SubTitle.TextStrokeTransparency = 0.8 -- // ENLARGED SPEED CONTROL BUTTONS local SpeedFrame = Instance.new("Frame", MainFrame) SpeedFrame.Size = UDim2.new(0.88, 0, 0.22, 0) SpeedFrame.Position = UDim2.new(0.06, 0, 0.39, 0) SpeedFrame.BackgroundTransparency = 1 local SpeedMinus = Instance.new("TextButton", SpeedFrame) SpeedMinus.Size = UDim2.new(0.25, 0, 1, 0) -- Expanded width from 0.2 to 0.25 SpeedMinus.Position = UDim2.new(0, 0, 0, 0) SpeedMinus.Text = "-" SpeedMinus.TextSize = 18 -- Enhanced for easy clicking SpeedMinus.Font = Enum.Font.GothamBold SpeedMinus.BackgroundColor3 = Color3.fromRGB(30, 30, 40) SpeedMinus.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", SpeedMinus).CornerRadius = UDim.new(0, 5) local SpeedLabel = Instance.new("TextLabel", SpeedFrame) SpeedLabel.Size = UDim2.new(0.5, 0, 1, 0) SpeedLabel.Position = UDim2.new(0.25, 0, 0, 0) SpeedLabel.Text = "SPEED: " .. speed SpeedLabel.TextSize = 11 SpeedLabel.Font = Enum.Font.GothamBold SpeedLabel.TextColor3 = Color3.new(1, 1, 1) SpeedLabel.BackgroundTransparency = 1 local SpeedPlus = Instance.new("TextButton", SpeedFrame) SpeedPlus.Size = UDim2.new(0.25, 0, 1, 0) -- Expanded width from 0.2 to 0.25 SpeedPlus.Position = UDim2.new(0.75, 0, 0, 0) SpeedPlus.Text = "+" SpeedPlus.TextSize = 18 -- Enhanced for easy clicking SpeedPlus.Font = Enum.Font.GothamBold SpeedPlus.BackgroundColor3 = Color3.fromRGB(30, 30, 40) SpeedPlus.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", SpeedPlus).CornerRadius = UDim.new(0, 5) -- // ENLARGED MAIN TOGGLE BUTTON local Toggle = Instance.new("TextButton", MainFrame) Toggle.Size = UDim2.new(0.88, 0, 0.30, 0) -- Expanded overall vertical size Toggle.Position = UDim2.new(0.06, 0, 0.64, 0) Toggle.Text = "INITIALIZE" Toggle.TextSize = 13 -- Larger text layout Toggle.BackgroundColor3 = Color3.fromRGB(30, 30, 40) Toggle.TextColor3 = Color3.new(1, 1, 1) Toggle.Font = Enum.Font.GothamBold Toggle.AutoButtonColor = false local ToggleCorner = Instance.new("UICorner", Toggle) ToggleCorner.CornerRadius = UDim.new(0, 6) local ToggleStroke = Instance.new("UIStroke", Toggle) ToggleStroke.Thickness = 1.5 ToggleStroke.Color = Color3.fromRGB(60, 60, 70) -- // SPEED CHANGE LOGIC local function updateSpeedDisplay() SpeedLabel.Text = "SPEED: " .. speed end SpeedMinus.MouseButton1Click:Connect(function() if speed > 10 then speed = speed - 10 updateSpeedDisplay() end end) SpeedPlus.MouseButton1Click:Connect(function() if speed < 300 then speed = speed + 10 updateSpeedDisplay() end end) -- // FIXED NON-BLOCKING PHYSICS SETUP local function setupPhysics() task.defer(function() character = player.Character or player.CharacterAdded:Wait() humanoid = character:WaitForChild("Humanoid") root = character:WaitForChild("HumanoidRootPart") if flying and root 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.RigidityEnabled = false ao.Mode = Enum.OrientationAlignmentMode.OneAttachment ao.Attachment0 = attachment end end) end player.CharacterAdded:Connect(function() if flying then task.wait(0.5) setupPhysics() end end) -- // COMBINED INTERPOLATION LOOP local PlayerModule = require(player.PlayerScripts:WaitForChild("PlayerModule")) local Controls = PlayerModule:GetControls() RunService.RenderStepped:Connect(function(deltaTime) UIGradient.Rotation = (tick() * 120) % 360 Title.TextColor3 = Color3.fromHSV(tick() % 5 / 5, 0.4, 1) if flying and root and workspace.CurrentCamera and lv and ao then local cam = workspace.CurrentCamera local moveVector = Controls:GetMoveVector() local targetDirection = Vector3.zero if moveVector.Magnitude > 0 then targetDirection = (cam.CFrame.LookVector * -moveVector.Z) + (cam.CFrame.RightVector * moveVector.X) end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then targetDirection = targetDirection + Vector3.new(0, 1, 0) elseif UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then targetDirection = targetDirection + Vector3.new(0, -1, 0) end if targetDirection.Magnitude > 0 then lv.VectorVelocity = targetDirection.Unit * speed else lv.VectorVelocity = Vector3.zero end local alpha = 1 - math.exp(-ROT_SPEED_FACTOR * deltaTime) ao.CFrame = ao.CFrame:Lerp(cam.CFrame, alpha) end end) -- UI Interactions Toggle.MouseEnter:Connect(function() TweenService:Create(Toggle, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(45, 45, 60)}):Play() end) Toggle.MouseLeave:Connect(function() TweenService:Create(Toggle, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 30, 40)}):Play() end) Toggle.MouseButton1Click:Connect(function() flying = not flying Toggle:TweenSize(UDim2.new(0.84, 0, 0.27, 0), "Out", "Quad", 0.1, true) task.wait(0.1) Toggle:TweenSize(UDim2.new(0.88, 0, 0.30, 0), "Out", "Back", 0.3, true) if flying then Toggle.Text = "STATUS: ACTIVE" TweenService:Create(ToggleStroke, TweenInfo.new(0.3), {Color = Color3.fromRGB(0, 255, 150)}):Play() setupPhysics() else Toggle.Text = "STATUS: INACTIVE" TweenService:Create(ToggleStroke, TweenInfo.new(0.3), {Color = Color3.fromRGB(255, 50, 50)}):Play() if humanoid then humanoid.PlatformStand = false end if attachment then attachment:Destroy() end end end) -- // SMOOTH 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)