Run it
Copy the script and paste it into your executor.
-- LocalScript under StarterGui (only one script needed)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:()
UIS = :()
runService = :()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Parent = player:()
button = .()
button.Size = .(, , , )
button.Position = .(, -, , -)
button.Text =
button.BackgroundColor3 = .(, , )
button.TextColor3 = .(, , )
button.Font = .Font.SourceSansBold
button.TextSize =
button.Draggable =
button.Active =
button.Parent = screenGui
flying =
flyConnection =
moveDir = .zero
bodyGyro, bodyVelocity
()
character = player.Character player.CharacterAdded:()
humanoidRootPart = character:()
bodyGyro = .()
bodyGyro.P =
bodyGyro.MaxTorque = .(, , )
bodyGyro.CFrame = humanoidRootPart.CFrame
bodyGyro.Parent = humanoidRootPart
bodyVelocity = .()
bodyVelocity.Velocity = .(, , )
bodyVelocity.MaxForce = .(, , )
bodyVelocity.Parent = humanoidRootPart
speed =
flyConnection = runService.Heartbeat:(()
bodyGyro.CFrame = .CurrentCamera.CFrame
bodyVelocity.Velocity = .CurrentCamera.CFrame:(moveDir) * speed
)
()
flyConnection flyConnection:()
bodyGyro bodyGyro:()
bodyVelocity bodyVelocity:()
moveDir = .zero
UIS.InputBegan:((input, gpe)
gpe
input.KeyCode == .KeyCode.W moveDir = .(, , -)
input.KeyCode == .KeyCode.S moveDir = .(, , )
input.KeyCode == .KeyCode.A moveDir = .(-, , )
input.KeyCode == .KeyCode.D moveDir = .(, , )
input.KeyCode == .KeyCode.Space moveDir = .(, , )
)
UIS.InputEnded:((input)
input.UserInputType == .UserInputType.Keyboard
moveDir = .zero
)
button.MouseButton1Click:(()
flying = flying
flying
()
button.Text =
()
button.Text =
)
So this script can actually make you fly but if you think the script is doesn't work you needed to use a keyboard script to make it work Here is the control W - front A - left D - right S - back Oh wait I have something to tell you you can change the speed if you like

Universal