Run it
Copy the script and paste it into your executor.
-- LocalScript in StarterPlayerScripts
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = game.Players.LocalPlayer
local flying = false
local speed = 60
vectorForce
bodyGyro
attachment
(character)
root = character:()
attachment = .()
attachment.Parent = root
vectorForce = .()
vectorForce.Attachment0 = attachment
vectorForce.RelativeTo = .ActuatorRelativeTo.World
mass = root.AssemblyMass
gravity = .Gravity
vectorForce.Force = .(, mass * gravity, )
vectorForce.Parent = root
bodyGyro = .()
bodyGyro.MaxTorque = .(,,) *
bodyGyro.CFrame = root.CFrame
bodyGyro.Parent = root
()
vectorForce vectorForce:()
bodyGyro bodyGyro:()
attachment attachment:()
UIS.InputBegan:((input, gp)
gp
input.KeyCode == .KeyCode.F
flying = flying
character = player.Character player.CharacterAdded:()
flying
(character)
()
)
RunService.RenderStepped:(()
flying
character = player.Character
character
root = character:()
root
camera = .CurrentCamera
direction = .zero
UIS:(.KeyCode.W)
direction += camera.CFrame.LookVector
UIS:(.KeyCode.S)
direction -= camera.CFrame.LookVector
UIS:(.KeyCode.A)
direction -= camera.CFrame.RightVector
UIS:(.KeyCode.D)
direction += camera.CFrame.RightVector
direction.Magnitude >
root.AssemblyLinearVelocity = direction.Unit * speed
root.AssemblyLinearVelocity = .zero
bodyGyro.CFrame = camera.CFrame
)lets you fly around click f

Universal