
KeylessUniversal

-- LocalScript (StarterPlayerScripts or StarterCharacterScripts)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local root = character:WaitForChild("HumanoidRootPart")
local camera = workspace.CurrentCamera
local FLY_SPEED = 60
local flying = false
local moveUp = false
local moveDown = false
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e6,1e6,1e6)
local bg = Instance.new("BodyGyro")
bg.MaxTorque = Vector3.new(1e6,1e6,1e6)
bg.P = 10000
local function anim(id)
local a = Instance.new("Animation")
a.AnimationId = "rbxassetid://"..id
return humanoid:LoadAnimation(a)
end
local Hover = anim(97171309)
local SlowFly = anim(97169019)
local FastFly = anim(282574440)
local UpAnim = anim(90872539)
local DownAnim = anim(233322916)
local function stopAnimations()
Hover:Stop()
SlowFly:Stop()
FastFly:Stop()
UpAnim:Stop()
DownAnim:Stop()
end
local gui = Instance.new("ScreenGui")
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local flyBtn = Instance.new("TextButton")
flyBtn.Size = UDim2.new(0,120,0,50)
flyBtn.Position = UDim2.new(1,-130,0,20)
flyBtn.Text = "FLY OFF"
flyBtn.Parent = gui
local upBtn = Instance.new("TextButton")
upBtn.Size = UDim2.new(0,70,0,70)
upBtn.Position = UDim2.new(1,-90,1,-180)
upBtn.Text = "↑"
upBtn.Parent = gui
local downBtn = Instance.new("TextButton")
downBtn.Size = UDim2.new(0,70,0,70)
downBtn.Position = UDim2.new(1,-90,1,-100)
downBtn.Text = "↓"
downBtn.Parent = gui
upBtn.MouseButton1Down:Connect(function()
moveUp = true
end)
upBtn.MouseButton1Up:Connect(function()
moveUp = false
end)
downBtn.MouseButton1Down:Connect(function()
moveDown = true
end)
downBtn.MouseButton1Up:Connect(function()
moveDown = false
end)
flyBtn.MouseButton1Click:Connect(function()
flying = not flying
if flying then
flyBtn.Text = "FLY ON"
bv.Parent = root
bg.Parent = root
humanoid.PlatformStand = true
else
flyBtn.Text = "FLY OFF"
bv.Parent = nil
bg.Parent = nil
humanoid.PlatformStand = false
stopAnimations()
end
end)
RunService.RenderStepped:Connect(function()
if not flying then
return
end
local moveDir = humanoid.MoveDirection
local dir = moveDir
if moveUp then
dir += Vector3.new(0,1,0)
end
if moveDown then
dir -= Vector3.new(0,1,0)
end
if dir.Magnitude > 0 then
dir = dir.Unit
end
bv.Velocity = dir * FLY_SPEED
bg.CFrame = camera.CFrame
stopAnimations()
if moveUp then
UpAnim:Play()
elseif moveDown then
DownAnim:Play()
elseif moveDir.Magnitude > 0 then
SlowFly:Play()
else
Hover:Play()
Hover:AdjustSpeed(0)
end
end)



Nice dude thanks for the ID man I appreciate u