
Key Required VerifiedUniversal

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")
local flying = false
local flySpeed = 50 -- Speed at which the player flies
local function startFlying()
flying = true
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(1000000, 1000000, 1000000)
bodyVelocity.Velocity = Vector3.new(0, 0, 0)
bodyVelocity.Parent = rootPart
local userInputService = game:GetService("UserInputService")
while flying do
local moveDirection = Vector3.new(0, 0, 0)
if userInputService:IsKeyDown(Enum.KeyCode.W) then
moveDirection = moveDirection + workspace.CurrentCamera.CFrame.LookVector
end
if userInputService:IsKeyDown(Enum.KeyCode.S) then
moveDirection = moveDirection - workspace.CurrentCamera.CFrame.LookVector
end
if userInputService:IsKeyDown(Enum.KeyCode.A) then
moveDirection = moveDirection - workspace.CurrentCamera.CFrame.RightVector
end
if userInputService:IsKeyDown(Enum.KeyCode.D) then
moveDirection = moveDirection + workspace.CurrentCamera.CFrame.RightVector
end
if userInputService:IsKeyDown(Enum.KeyCode.Space) then
moveDirection = moveDirection + Vector3.new(0, 1, 0)
end
if userInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
moveDirection = moveDirection - Vector3.new(0, 1, 0)
end
bodyVelocity.Velocity = moveDirection * flySpeed
wait(0.1)
end
end
local function stopFlying()
flying = false
rootPart:FindFirstChild("BodyVelocity"):Destroy()
end
-- Toggle fly on and off with the "F" key
game:GetService("UserInputService").InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.F then
if flying then
stopFlying()
else
startFlying()
end
end
end)No comments yet for this script.



