-- Compatible with most executors: Synapse X, KRNL, Fluxus, etc. local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local HttpService = game:GetService("HttpService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local rootPart = character:WaitForChild("HumanoidRootPart") -- Configuration local FLY_SPEED = 100 local ANTI_DETECT = true -- State local flying = false local flyConnection = nil local bodyVelocity = nil local bodyGyro = nil local control = {F = 0, B = 0, L = 0, R = 0, U = 0, D = 0} -- Anti-cheat bypass: Spoof velocity checks local function spoofPhysics() if not ANTI_DETECT then return end local mt = getrawmetatable(game) local oldIndex = mt.__index setreadonly(mt, false) mt.__index = newcclosure(function(t, k) if t == rootPart and k == "Velocity" then return Vector3.new(0, 0, 0) end if t == rootPart and k == "RotVelocity" then return Vector3.new(0, 0, 0) end return oldIndex(t, k) end) setreadonly(mt, true) end -- Anti-cheat bypass: Network ownership local function claimNetworkOwnership() if not ANTI_DETECT then return end for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then pcall(function() part:SetNetworkOwner(player) end) end end end -- Create flight physics local function createFlightPhysics() bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.P = 1250 bodyVelocity.Parent = rootPart bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bodyGyro.P = 5000 bodyGyro.D = 100 bodyGyro.Parent = rootPart if ANTI_DETECT then bodyVelocity.Name = HttpService:GenerateGUID(false):sub(1, 8) bodyGyro.Name = HttpService:GenerateGUID(false):sub(1, 8) end end -- Destroy flight physics local function destroyFlightPhysics() if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end end -- Calculate movement direction local function getMovementDirection() local camera = Workspace.CurrentCamera local moveDirection = Vector3.new(0, 0, 0) if control.F > 0 then moveDirection = moveDirection + camera.CFrame.LookVector end if control.B > 0 then moveDirection = moveDirection - camera.CFrame.LookVector end if control.L > 0 then moveDirection = moveDirection - camera.CFrame.RightVector end if control.R > 0 then moveDirection = moveDirection + camera.CFrame.RightVector end if control.U > 0 then moveDirection = moveDirection + Vector3.new(0, 1, 0) end if control.D > 0 then moveDirection = moveDirection - Vector3.new(0, 1, 0) end if moveDirection.Magnitude > 0 then moveDirection = moveDirection.Unit * FLY_SPEED end return moveDirection end -- Start flying function startFly() if flying then return end flying = true spoofPhysics() claimNetworkOwnership() humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false) humanoid.PlatformStand = true createFlightPhysics() flyConnection = RunService.Heartbeat:Connect(function() if not flying then return end local direction = getMovementDirection() if ANTI_DETECT then local jitter = Vector3.new( math.random(-10, 10) / 100, math.random(-10, 10) / 100, math.random(-10, 10) / 100 ) direction = direction + jitter end if bodyVelocity then bodyVelocity.Velocity = direction end if bodyGyro then bodyGyro.CFrame = Workspace.CurrentCamera.CFrame end if ANTI_DETECT and math.random(1, 60) == 1 then pcall(function() local spoof = rootPart.CFrame rootPart.CFrame = spoof end) end end) end -- Stop flying function stopFly() if not flying then return end flying = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end destroyFlightPhysics() humanoid.PlatformStand = false humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true) humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, true) end -- Toggle fly function toggleFly() if flying then stopFly() else startFly() end end -- Input handling UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then toggleFly() elseif input.KeyCode == Enum.KeyCode.W then control.F = 1 elseif input.KeyCode == Enum.KeyCode.S then control.B = 1 elseif input.KeyCode == Enum.KeyCode.A then control.L = 1 elseif input.KeyCode == Enum.KeyCode.D then control.R = 1 elseif input.KeyCode == Enum.KeyCode.Space then control.U = 1 elseif input.KeyCode == Enum.KeyCode.LeftShift then control.D = 1 end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.W then control.F = 0 elseif input.KeyCode == Enum.KeyCode.S then control.B = 0 elseif input.KeyCode == Enum.KeyCode.A then control.L = 0 elseif input.KeyCode == Enum.KeyCode.D then control.R = 0 elseif input.KeyCode == Enum.KeyCode.Space then control.U = 0 elseif input.KeyCode == Enum.KeyCode.LeftShift then control.D = 0 end end) -- Handle respawn player.CharacterAdded:Connect(function(newChar) character = newChar humanoid = newChar:WaitForChild("Humanoid") rootPart = newChar:WaitForChild("HumanoidRootPart") if flying then stopFly() task.wait(0.5) startFly() end end) print("=== Modern Fly Script Loaded ===") print("Press F to toggle fly") print("WASD to move, Space to go up, LeftShift to go down") print("Anti-cheat bypass: " .. (ANTI_DETECT and "ENABLED" or "DISABLED"))