-- Fly Walk Script -- LocalScript local player = game.Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local flying = false local speed = 50 local bodyVelocity local bodyGyro local function startFly() local character = player.Character if not character then return end local hrp = character:WaitForChild("HumanoidRootPart") bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Velocity = Vector3.zero bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5) bodyVelocity.Parent = hrp bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5) bodyGyro.CFrame = hrp.CFrame bodyGyro.Parent = hrp RunService:BindToRenderStep("FlyWalk", Enum.RenderPriority.Character.Value, function() local moveDir = Vector3.zero local camera = workspace.CurrentCamera if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camera.CFrame.RightVector end bodyVelocity.Velocity = moveDir.Unit * speed bodyGyro.CFrame = camera.CFrame end) end local function stopFly() RunService:UnbindFromRenderStep("FlyWalk") if bodyVelocity then bodyVelocity:Destroy() end if bodyGyro then bodyGyro:Destroy() end end -- Tecla para ligar/desligar (Fly Walk) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.F then flying = not flying if flying then startFly() else stopFly() end end end)