
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
local flySpeed = 100 -- Velocidade do voo (pode mudar se quiser mais rápido ou devagar)
local flying = false
local bv = nil
local bg = nil
local connection = nil
-- Função para começar a voar
local function startFlying()
flying = true
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
local rootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not rootPart then return end
humanoid.PlatformStand = true
-- BodyVelocity pra mover o personagem
bv = Instance.new("BodyVelocity")
bv.Name = "FlyBodyVelocity"
bv.MaxForce = Vector3.new(400000, 400000, 400000)
bv.P = 1250
bv.Velocity = Vector3.new(0, 0, 0)
bv.Parent = rootPart
-- BodyGyro pra manter a rotação suave com a câmera
bg = Instance.new("BodyGyro")
bg.Name = "FlyBodyGyro"
bg.MaxTorque = Vector3.new(400000, 400000, 400000)
bg.P = 3000
bg.D = 500
bg.Parent = rootPart
end
-- Função para parar de voar
local function stopFlying()
flying = false
if bv then bv:Destroy() bv = nil end
if bg then bg:Destroy() bg = nil end
local character = player.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.PlatformStand = false
end
end
end
-- Atualiza o voo todo frame (funciona no celular e no PC)
local function updateFly()
if not flying or not bv or not bg then return end
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
local rootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not rootPart then return end
-- Direção do joystick do celular (funciona perfeitamente no mobile)
local moveDirection = humanoid.MoveDirection
-- Subir / descer (Space e Ctrl no PC - no celular você usa o joystick horizontal)
local vertical = 0
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then vertical = vertical + 1 end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then vertical = vertical - 1 end
local direction = moveDirection + Vector3.new(0, vertical, 0)
if direction.Magnitude > 0 then
direction = direction.Unit * flySpeed
else
direction = Vector3.new(0, 0, 0)
end
bv.Velocity = direction
bg.CFrame = camera.CFrame -- Mantém o personagem virado pra onde a câmera olha
end
-- ==================== CRIA A GUI ====================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyGui"
screenGui.ResetOnSpawn = false -- Não desaparece quando morre
screenGui.Parent = player:WaitForChild("PlayerGui")
local button = Instance.new("TextButton")
button.Name = "FlyButton"
button.Size = UDim2.new(0, 170, 0, 65) -- Tamanho bom pro celular
button.Position = UDim2.new(0, 15, 1, -85) -- Canto inferior esquerdo
button.AnchorPoint = Vector2.new(0, 1)
button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Text = "FLY OFF"
button.TextScaled = true
button.Font = Enum.Font.SourceSansBold
button.Parent = screenGui
-- Borda arredondada (fica bonito)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 15)
corner.Parent = button
-- Borda brilhante
local stroke = Instance.new("UIStroke")
stroke.Thickness = 3
stroke.Color = Color3.fromRGB(0, 162, 255)
stroke.Parent = button
-- Função que acontece quando clica no botão
local function toggleFly()
if flying then
stopFlying()
button.Text = "FLY OFF"
button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
else
startFlying()
button.Text = "FLY ON"
button.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
end
end
button.MouseButton1Click:Connect(toggleFly)
-- Loop de atualização do voo
connection = RunService.RenderStepped:Connect(updateFly)
-- Se o personagem renascer, mantém o voo funcionando
player.CharacterAdded:Connect(function()
if flying then
task.wait(0.5)
stopFlying()
startFlying()
end
end)
print("✅ Fly GUI carregado! Botão no canto inferior esquerdo da tela.")
print("Clique pra ligar/desligar. Funciona no celular com o joystick!") local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local wallhackEnabled = false
local noclipConnection = nil
-- ====================== FUNÇÃO DE WALLHACK ======================
local function startWallhack()
wallhackEnabled = true
noclipConnection = RunService.Stepped:Connect(function()
if not wallhackEnabled then return end
local character = player.Character
if not character then return end
-- Desativa colisão de TODAS as partes do personagem
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide == true then
part.CanCollide = false
end
end
end)
end
local function stopWallhack()
wallhackEnabled = false
if noclipConnection then
noclipConnection:Disconnect()
noclipConnection = nil
end
-- Restaura colisão quando desliga
local character = player.Character
if character then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
end
-- ==================== CRIA A GUI (AGORA NO CANTO INFERIOR DIREITO) ====================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "WallhackGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local button = Instance.new("TextButton")
button.Name = "WallhackButton"
button.Size = UDim2.new(0, 170, 0, 65) -- Tamanho perfeito pro celular
button.Position = UDim2.new(1, -185, 1, -85) -- CANTO INFERIOR DIREITO
button.AnchorPoint = Vector2.new(1, 1)
button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Text = "WALLHACK OFF"
button.TextScaled = true
button.Font = Enum.Font.SourceSansBold
button.Parent = screenGui
-- Borda arredondada
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 15)
corner.Parent = button
-- Borda brilhante
local stroke = Instance.new("UIStroke")
stroke.Thickness = 3
stroke.Color = Color3.fromRGB(0, 162, 255)
stroke.Parent = button
-- Função de ligar/desligar ao clicar
local function toggleWallhack()
if wallhackEnabled then
stopWallhack()
button.Text = "WALLHACK OFF"
button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
else
startWallhack()
button.Text = "WALLHACK ON"
button.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
end
end
button.MouseButton1Click:Connect(toggleWallhack)
-- Se o personagem renascer, mantém o wallhack ativo
player.CharacterAdded:Connect(function()
if wallhackEnabled then
task.wait(0.5)
stopWallhack()
startWallhack()
end
end)
print("✅ Wallhack GUI carregado!")
print("Botão agora no canto inferior DIREITO da tela.")
print("Clique para atravessar paredes!")
print("Funciona perfeitamente no celular com o joystick normal.")No comments yet for this script.



