Fly Gui

Run Settings
LanguageLua
Language Version
Run Command
--// Fly Gui V5.0 local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local StarterGui = game:GetService("StarterGui") local localPlayer = Players.LocalPlayer local flyActive = false local connection = nil local processedPlayers = {} local currentInput = "" local isOnMobile = UserInputService.TouchEnabled local screenGui = Instance.new("ScreenGui") screenGui.Name = "FlyGUI" screenGui.Parent = game:GetService("CoreGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 150) frame.Position = UDim2.new(0.5, -100, 0.5, -50) frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) frame.BackgroundTransparency = 0.3 frame.Parent = screenGui local dragDetector = Instance.new("UIDragDetector", frame) local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = frame local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.Position = UDim2.new(0, 0, 0, 5) title.BackgroundTransparency = 1 title.Text = "Fly GUI" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.GothamBold title.TextSize = 22 title.Parent = frame local inputBox = Instance.new("TextBox") inputBox.Size = UDim2.new(0.9, 0, 0, 30) inputBox.Position = UDim2.new(0.05, 0, 0, 40) inputBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30) inputBox.Text = "" inputBox.PlaceholderText = "enter a speed" inputBox.TextColor3 = Color3.new(1, 1, 1) inputBox.ClearTextOnFocus = false inputBox.Parent = frame inputBox.TextScaled = false inputBox.TextSize = 14 inputBox.Font = Enum.Font.Code local inputCorner = Instance.new("UICorner") inputCorner.CornerRadius = UDim.new(0, 6) inputCorner.Parent = inputBox local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0.9, 0, 0, 35) toggleBtn.Position = UDim2.new(0.05, 0, 0, 80) toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) toggleBtn.Text = "Fly: OFF" toggleBtn.TextColor3 = Color3.new(1, 1, 1) toggleBtn.Parent = frame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = toggleBtn local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, 0, 0, 20) statusLabel.Position = UDim2.new(0, 0, 0, 125) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: Waiting..." statusLabel.TextColor3 = Color3.new(1, 1, 1) statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 14 statusLabel.Parent = frame local textGradient = Instance.new("UIGradient", title) textGradient.Rotation = 90 local function lerpColor(color1, color2, alpha) return Color3.new( color1.R + (color2.R - color1.R) * alpha, color1.G + (color2.G - color1.G) * alpha, color1.B + (color2.B - color1.B) * alpha ) end local function animateTextGradient() local duration = 2 local steps = 60 local stepTime = duration / steps local color1 = Color3.fromRGB(255, 255, 255) local color2 = Color3.fromRGB(0, 0, 0) while true do for i = 0, steps do local alpha = i / steps textGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, lerpColor(color1, color2, alpha)), ColorSequenceKeypoint.new(1, lerpColor(color2, color1, alpha)) }) task.wait(stepTime) end for i = 0, steps do local alpha = i / steps textGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, lerpColor(color2, color1, alpha)), ColorSequenceKeypoint.new(1, lerpColor(color1, color2, alpha)) }) task.wait(stepTime) end end end task.spawn(animateTextGradient) local borderFrame = Instance.new("Frame") borderFrame.Size = frame.Size borderFrame.Position = frame.Position borderFrame.BackgroundTransparency = 1 borderFrame.AnchorPoint = frame.AnchorPoint borderFrame.ZIndex = frame.ZIndex - 1 borderFrame.Parent = screenGui local borderCorner = frame.UICorner:Clone() borderCorner.Parent = borderFrame local borderStroke = Instance.new("UIStroke") borderStroke.Thickness = 3 borderStroke.LineJoinMode = Enum.LineJoinMode.Round borderStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Contextual borderStroke.Parent = borderFrame frame:GetPropertyChangedSignal("Position"):Connect(function() borderFrame.Position = frame.Position end) frame:GetPropertyChangedSignal("Size"):Connect(function() borderFrame.Size = frame.Size end) frame.UICorner:GetPropertyChangedSignal("CornerRadius"):Connect(function() borderCorner.CornerRadius = frame.UICorner.CornerRadius end) local BodyGyro = Instance.new("BodyGyro") BodyGyro.maxTorque = Vector3.new(1, 1, 1) * 10 ^ 6 BodyGyro.P = 10 ^ 6 local BodyVelocity = Instance.new("BodyVelocity") BodyVelocity.maxForce = Vector3.new(1, 1, 1) * 10 ^ 6 BodyVelocity.P = 10 ^ 4 local isFlying = false local Movement = {forward = 0, backward = 0, right = 0, left = 0} local Speed = 3 local flyConnection local function setupMobileControls() if not isOnMobile then return end local controlModule = require(localPlayer.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("ControlModule")) flyConnection = RunService.Heartbeat:Connect(function() if not isFlying or not localPlayer.Character then return end local root = localPlayer.Character:FindFirstChild("HumanoidRootPart") if not root then return end local moveVector = controlModule:GetMoveVector() Movement.right = moveVector.X Movement.left = -moveVector.X Movement.forward = -moveVector.Z Movement.backward = moveVector.Z end) end local function SetFlying(flying) isFlying = flying if isFlying then if isOnMobile then setupMobileControls() end if localPlayer.Character then local root = localPlayer.Character:FindFirstChild("HumanoidRootPart") if root then BodyGyro.Parent = root BodyVelocity.Parent = root BodyGyro.CFrame = root.CFrame BodyVelocity.Velocity = Vector3.new() if localPlayer.Character:FindFirstChild("Animate") then localPlayer.Character.Animate.Disabled = true end end end else if flyConnection then flyConnection:Disconnect() flyConnection = nil end BodyGyro.Parent = nil BodyVelocity.Parent = nil if localPlayer.Character and localPlayer.Character:FindFirstChild("Animate") then localPlayer.Character.Animate.Disabled = false end end end local function onUpdate(dt) if not isFlying or not localPlayer.Character then return end local root = localPlayer.Character:FindFirstChild("HumanoidRootPart") if not root then return end local cf = workspace.CurrentCamera.CFrame local direction = cf.rightVector * (Movement.right - Movement.left) + cf.lookVector * (Movement.forward - Movement.backward) if direction:Dot(direction) > 0 then direction = direction.unit end BodyGyro.CFrame = cf BodyVelocity.Velocity = direction * Speed * 50 end local function ModifyMovement(newMovement) Movement = newMovement or Movement end local function MovementBind(actionName, InputState, inputObject) if InputState == Enum.UserInputState.Begin then Movement[actionName] = 1 ModifyMovement() elseif InputState == Enum.UserInputState.End then Movement[actionName] = 0 ModifyMovement() end return Enum.ContextActionResult.Pass end local function SetupControls() if isOnMobile then return end local CAS = game:GetService("ContextActionService") CAS:BindAction("forward", MovementBind, false, Enum.PlayerActions.CharacterForward) CAS:BindAction("backward", MovementBind, false, Enum.PlayerActions.CharacterBackward) CAS:BindAction("left", MovementBind, false, Enum.PlayerActions.CharacterLeft) CAS:BindAction("right", MovementBind, false, Enum.PlayerActions.CharacterRight) end local function toggleFly() flyActive = not flyActive if flyActive then Speed = tonumber(inputBox.Text) or 3 SetFlying(true) toggleBtn.Text = "Fly: ON" toggleBtn.BackgroundColor3 = Color3.fromRGB(80, 20, 20) statusLabel.Text = "Status: Flying (Speed: "..Speed..")" else SetFlying(false) toggleBtn.Text = "Fly: OFF" toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) statusLabel.Text = "Status: Stopped" end end inputBox:GetPropertyChangedSignal("Text"):Connect(function() if flyActive then Speed = tonumber(inputBox.Text) or 3 statusLabel.Text = "Status: Flying (Speed: "..Speed..")" end end) localPlayer.CharacterAdded:Connect(function(character) if flyActive then task.wait(1) SetFlying(true) end end) toggleBtn.MouseButton1Click:Connect(toggleFly) RunService.Heartbeat:Connect(onUpdate) SetupControls() local userId = Players:GetUserIdFromNameAsync("prespeshnikShashlika") local thumbType = Enum.ThumbnailType.HeadShot local thumbSize = Enum.ThumbnailSize.Size420x420 local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Fly GUI", Text = "version V5.0", Icon = content, Duration = 7 })
Editor Settings
Theme
Key bindings
Full width
Lines