-- Fly GUI (Mobile + PC) local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local root = char:WaitForChild("HumanoidRootPart") local flying = false local speed = 60 -- GUI local gui = Instance.new("ScreenGui", player.PlayerGui) gui.Name = "FlyGui" local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0,200,0,120) frame.Position = UDim2.new(0.4,0,0.4,0) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) frame.Active = true frame.Draggable = true local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1,0,0,30) title.Text = "Fly GUI" title.BackgroundColor3 = Color3.fromRGB(50,50,50) title.TextColor3 = Color3.new(1,1,1) local flyBtn = Instance.new("TextButton", frame) flyBtn.Size = UDim2.new(0.8,0,0,40) flyBtn.Position = UDim2.new(0.1,0,0.4,0) flyBtn.Text = "Toggle Fly" local close = Instance.new("TextButton", frame) close.Size = UDim2.new(0,30,0,30) close.Position = UDim2.new(1,-30,0,0) close.Text = "X" close.MouseButton1Click:Connect(function() gui:Destroy() end) -- Fly system local bodyGyro local bodyVel local function startFly() bodyGyro = Instance.new("BodyGyro", root) bodyGyro.P = 9e4 bodyGyro.maxTorque = Vector3.new(9e9,9e9,9e9) bodyGyro.cframe = root.CFrame bodyVel = Instance.new("BodyVelocity", root) bodyVel.velocity = Vector3.new(0,0,0) bodyVel.maxForce = Vector3.new(9e9,9e9,9e9) while flying do local cam = workspace.CurrentCamera bodyGyro.cframe = cam.CFrame bodyVel.velocity = cam.CFrame.LookVector * speed task.wait() end end local function stopFly() if bodyGyro then bodyGyro:Destroy() end if bodyVel then bodyVel:Destroy() end end flyBtn.MouseButton1Click:Connect(function() flying = not flying if flying then startFly() else stopFly() end end)