
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local hrp = char:WaitForChild("HumanoidRootPart")
local flying = false
local flySpeed = 80
local verticalSpeed = 0
local NOCLIP_THRESHOLD = 200
local noClipActive = false
local connRender
local gui = Instance.new("ScreenGui")
gui.Name = "FlyPlusMobileGrid"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 400, 0, 60)
mainFrame.Position = UDim2.new(0, 10, 0, 10) -- canto superior esquerdo
mainFrame.BackgroundColor3 = Color3.fromRGB(50, 100, 220)
mainFrame.Parent = gui
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.FillDirection = Enum.FillDirection.Horizontal
uiListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
uiListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder
uiListLayout.Padding = UDim.new(0, 4)
uiListLayout.Parent = mainFrame
local function makeButton(text, bgColor, layoutOrder, callback)
local button = Instance.new("TextButton")
button.Text = text
button.BackgroundColor3 = bgColor
button.TextSize = 24
button.Font = Enum.Font.SourceSansBold
button.TextColor3 = Color3.new(1, 1, 1)
button.Size = UDim2.new(0, 50, 0, 50)
button.LayoutOrder = layoutOrder
button.Parent = mainFrame
if callback then
button.MouseButton1Down:Connect(callback)
end
return button
end
-- Label de velocidade
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0, 100, 0, 40)
speedLabel.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
speedLabel.TextColor3 = Color3.new(0, 0, 0)
speedLabel.TextSize = 20
speedLabel.Font = Enum.Font.SourceSansBold
speedLabel.Text = "速度: " .. flySpeed
speedLabel.LayoutOrder = 1
speedLabel.Parent = mainFrame
-- Botão "+"
local plusBtn = makeButton("+", Color3.fromRGB(50, 180, 50), 2, function()
flySpeed = flySpeed + 10
speedLabel.Text = "速度: " .. flySpeed
end)
-- Botão "−"
local minusBtn = makeButton("−", Color3.fromRGB(180, 50, 50), 3, function()
flySpeed = math.max(10, flySpeed - 10)
speedLabel.Text = "速度: " .. flySpeed
end)
-- Botão "飛行"
makeButton("飛行", Color3.fromRGB(220, 50, 50), 4, function()
if flying then
stopFly()
else
startFly()
end
end)
-- Botão "上" (subir)
local upBtn = makeButton("上", Color3.fromRGB(220, 50, 50), 5)
upBtn.MouseButton1Down:Connect(function() verticalSpeed = 60 end)
upBtn.MouseButton1Up:Connect(function() verticalSpeed = 0 end)
-- Botão "下" (descer)
local downBtn = makeButton("下", Color3.fromRGB(220, 50, 50), 6)
downBtn.MouseButton1Down:Connect(function() verticalSpeed = -60 end)
downBtn.MouseButton1Up:Connect(function() verticalSpeed = 0 end)
local bodyVel, bodyGyro
local function setNoClip(state)
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = not state
end
end
end
function startFly()
if flying then return end
flying = true
hum.PlatformStand = true
bodyVel = Instance.new("BodyVelocity")
bodyVel.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bodyVel.Velocity = Vector3.new(0, 0, 0)
bodyVel.Parent = hrp
bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bodyGyro.CFrame = hrp.CFrame
bodyGyro.Parent = hrp
connRender = RunService.RenderStepped:Connect(function()
if not flying then return end
local camCF = workspace.CurrentCamera.CFrame
local mv = hum.MoveDirection * flySpeed
local move = Vector3.new(mv.X, verticalSpeed, mv.Z)
bodyVel.Velocity = move
bodyGyro.CFrame = CFrame.new(hrp.Position, hrp.Position + camCF.LookVector)
if flySpeed >= NOCLIP_THRESHOLD and not noClipActive then
setNoClip(true)
noClipActive = true
elseif flySpeed < NOCLIP_THRESHOLD and noClipActive then
setNoClip(false)
noClipActive = false
end
speedLabel.Text = "速度: " .. flySpeed
end)
end
function stopFly()
flying = false
hum.PlatformStand = false
if bodyVel then bodyVel:Destroy() bodyVel = nil end
if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
if connRender then connRender:Disconnect() connRender = nil end
setNoClip(false)
end
player.CharacterAdded:Connect(function(c)
char = c
hum = c:WaitForChild("Humanoid")
hrp = c:WaitForChild("HumanoidRootPart")
if flying then
task.wait(1)
startFly()
end
end)
-- Controle vertical pelo joystick
UserInputService.InputChanged:Connect(function(input)
if flying and (input.UserInputType == Enum.UserInputType.Gamepad1 or input.UserInputType == Enum.UserInputType.Touch) then
if input.KeyCode == Enum.KeyCode.Thumbstick1 then
local yAxis = input.Position.Y
if math.abs(yAxis) > 0.1 then
verticalSpeed = -yAxis * 60
else
verticalSpeed = 0
end
end
end
end)
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


crashes game.