Run it
Copy the script and paste it into your executor.
UserInputService = :()
RunService = :()
Players = :()
flying =
speed =
maxSpeed =
minSpeed =
speedIncrement =
player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoidRootPart = character:()
flyConnections = {}
()
flying
flying =
bodyVelocity = .()
bodyVelocity.Velocity = .(, , )
bodyVelocity.MaxForce = .(, , )
bodyVelocity.Parent = humanoidRootPart
bodyGyro = .()
bodyGyro.CFrame = humanoidRootPart.CFrame
bodyGyro.MaxTorque = .(, , )
bodyGyro.P =
bodyGyro.Parent = humanoidRootPart
()
moveDirection = .()
UserInputService:(.KeyCode.W)
moveDirection = moveDirection + (.CurrentCamera.CFrame.LookVector * speed)
UserInputService:(.KeyCode.S)
moveDirection = moveDirection - (.CurrentCamera.CFrame.LookVector * speed)
UserInputService:(.KeyCode.A)
moveDirection = moveDirection - (.CurrentCamera.CFrame.RightVector * speed)
UserInputService:(.KeyCode.D)
moveDirection = moveDirection + (.CurrentCamera.CFrame.RightVector * speed)
UserInputService:(.KeyCode.Space)
moveDirection = moveDirection + (.CurrentCamera.CFrame.UpVector * speed)
UserInputService:(.KeyCode.LeftShift)
moveDirection = moveDirection - (.CurrentCamera.CFrame.UpVector * speed)
bodyVelocity.Velocity = moveDirection
bodyGyro.CFrame = .CurrentCamera.CFrame
.(flyConnections, RunService.RenderStepped:(onRenderStep))
()
flying =
_, v (humanoidRootPart:())
v:() v:()
v:()
_, connection (flyConnections)
connection:()
flyConnections = {}
()
flying
()
()
(increment)
speed = .(speed + increment, minSpeed, maxSpeed)
UserInputService.InputBegan:((input)
input.KeyCode == .KeyCode.G
()
input.KeyCode == .KeyCode.Equals
(speedIncrement)
input.KeyCode == .KeyCode.Minus
(-speedIncrement)
)
player.CharacterAdded:((newCharacter)
character = newCharacter
humanoidRootPart = character:()
()
)
player.CharacterRemoving:(stopFly)