--[[ 🔥 Simple Fly Script - Press F to toggle Works in ALL Roblox games For any executor ]] -- Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer -- Wait for character repeat task.wait() until player.Character and player.Character:FindFirstChild("HumanoidRootPart") -- Settings local FlyEnabled = false local FlySpeed = 50 local FlyConnection = nil -- Notification local function notify(title, text, duration) pcall(function() StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 2 }) end) end -- Stop Fly local function stopFly() FlyEnabled = false if FlyConnection then pcall(function() FlyConnection:Disconnect() end) FlyConnection = nil end local char = player.Character if char then local humanoid = char:FindFirstChild("Humanoid") if humanoid then humanoid.PlatformStand = false end local root = char:FindFirstChild("HumanoidRootPart") if root then for _, v in ipairs(root:GetChildren()) do if v:IsA("BodyGyro") or v:IsA("BodyVelocity") then v:Destroy() end end end end end -- Start Fly local function startFly() stopFly() FlyEnabled = true local char = player.Character if not char then return end local humanoid = char:FindFirstChild("Humanoid") local root = char:FindFirstChild("HumanoidRootPart") if not humanoid or not root then return end humanoid.PlatformStand = true local gyro = Instance.new("BodyGyro") gyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) gyro.P = 5000 gyro.CFrame = root.CFrame gyro.Parent = root local vel = Instance.new("BodyVelocity") vel.MaxForce = Vector3.new(math.huge, math.huge, math.huge) vel.Velocity = Vector3.zero vel.P = 3000 vel.Parent = root FlyConnection = RunService.Heartbeat:Connect(function() if not FlyEnabled then return end if not gyro.Parent or not vel.Parent then stopFly(); return end local cam = Workspace.CurrentCamera if not cam then return end local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.yAxis end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.yAxis end vel.Velocity = dir.Magnitude > 0 and dir.Unit * FlySpeed or Vector3.zero gyro.CFrame = CFrame.lookAt(root.Position, root.Position + cam.CFrame.LookVector) end) notify("Fly", "Полёт ВКЛ | F - выкл") end -- Toggle Fly local function toggleFly() if FlyEnabled then stopFly() notify("Fly", "Полёт ВЫКЛ") else startFly() end end -- F key handler UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then toggleFly() end end) -- Handle respawn player.CharacterAdded:Connect(function(char) task.wait(0.5) if FlyEnabled then startFly() end end) print("✅ Fly Script Loaded! Press F to toggle") notify("Fly Script", "Нажми F для полёта", 3)