Fly Menu Pro Free
Key RequiredUniversal

Fly Menu Pro Free

Universal ScriptThiAezThiAez 3.6K views 853 executesUpdated Oct 12, 2025
5.0/ 5(5 votes)
50100% Positive
Lua Script•252 lines (7824 chars)
--[[
   Fly + Noclip Menu PRO
   Autor: Gzssf
]]

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")
local SoundService = game:GetService("SoundService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local camera = workspace.CurrentCamera

-- Variables de vuelo y noclip
local flying = false
local flySpeed = 100
local maxSpeed = 1000
local bv, bg
local connection
local noclip = false

-- Sonido (solo para botones)
local clickSound = Instance.new("Sound")
clickSound.SoundId = "rbxassetid://6042053626"
clickSound.Volume = 1.5
clickSound.Parent = SoundService

local function playClick()
	if clickSound.IsPlaying then clickSound:Stop() end
	clickSound:Play()
end

--=== GUI ===
local gui = Instance.new("ScreenGui")
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local main = Instance.new("Frame")
main.Size = UDim2.new(0, 280, 0, 230)
main.Position = UDim2.new(0.5, -140, 0.5, -115)
main.BackgroundColor3 = Color3.fromRGB(30,30,30)
main.Active = true
main.Draggable = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0,10)

-- Top bar
local top = Instance.new("Frame", main)
top.Size = UDim2.new(1,0,0,28)
top.BackgroundColor3 = Color3.fromRGB(45,45,45)
Instance.new("UICorner", top).CornerRadius = UDim.new(0,10)

local title = Instance.new("TextLabel", top)
title.Text = "✈️ Fly Menu Pro"
title.TextColor3 = Color3.fromRGB(255,255,255)
title.TextSize = 16
title.Font = Enum.Font.GothamBold
title.BackgroundTransparency = 1
title.Size = UDim2.new(1,-60,1,0)
title.Position = UDim2.new(0,10,0,0)
title.TextXAlignment = Enum.TextXAlignment.Left

local btnMin = Instance.new("TextButton", top)
btnMin.Text = "-"
btnMin.TextColor3 = Color3.fromRGB(255,255,255)
btnMin.Font = Enum.Font.GothamBold
btnMin.TextSize = 20
btnMin.Size = UDim2.new(0,24,0,24)
btnMin.Position = UDim2.new(1,-56,0,2)
btnMin.BackgroundTransparency = 1

local btnClose = Instance.new("TextButton", top)
btnClose.Text = "×"
btnClose.TextColor3 = Color3.fromRGB(255,255,255)
btnClose.Font = Enum.Font.GothamBold
btnClose.TextSize = 20
btnClose.Size = UDim2.new(0,24,0,24)
btnClose.Position = UDim2.new(1,-28,0,2)
btnClose.BackgroundTransparency = 1

-- Contenido
local content = Instance.new("Frame", main)
content.Size = UDim2.new(1,0,1,-28)
content.Position = UDim2.new(0,0,0,28)
content.BackgroundColor3 = Color3.fromRGB(35,35,35)
Instance.new("UICorner", content).CornerRadius = UDim.new(0,10)

--=== Botones ===
-- Fly
local flyBtn = Instance.new("TextButton", content)
flyBtn.Size = UDim2.new(0.8,0,0,36)
flyBtn.Position = UDim2.new(0.1,0,0,20)
flyBtn.Text = "✈️ Activar Vuelo (E)"
flyBtn.Font = Enum.Font.GothamBold
flyBtn.TextSize = 16
flyBtn.TextColor3 = Color3.fromRGB(255,255,255)
flyBtn.BackgroundColor3 = Color3.fromRGB(50,50,50)
Instance.new("UICorner", flyBtn).CornerRadius = UDim.new(0,8)

-- Noclip
local noclipBtn = Instance.new("TextButton", content)
noclipBtn.Size = UDim2.new(0.8,0,0,36)
noclipBtn.Position = UDim2.new(0.1,0,0,70)
noclipBtn.Text = "🚪 Activar Noclip"
noclipBtn.Font = Enum.Font.GothamBold
noclipBtn.TextSize = 16
noclipBtn.TextColor3 = Color3.fromRGB(255,255,255)
noclipBtn.BackgroundColor3 = Color3.fromRGB(50,50,50)
Instance.new("UICorner", noclipBtn).CornerRadius = UDim.new(0,8)

-- Velocidad
local speedLabel = Instance.new("TextLabel", content)
speedLabel.Text = "Velocidad:"
speedLabel.TextColor3 = Color3.fromRGB(255,255,255)
speedLabel.Font = Enum.Font.Gotham
speedLabel.TextSize = 14
speedLabel.BackgroundTransparency = 1
speedLabel.Size = UDim2.new(0.8,0,0,24)
speedLabel.Position = UDim2.new(0.1,0,0,120)

local speedBox = Instance.new("TextBox", content)
speedBox.Size = UDim2.new(0.8,0,0,30)
speedBox.Position = UDim2.new(0.1,0,0,150)
speedBox.Text = tostring(flySpeed)
speedBox.PlaceholderText = "Velocidad (max 1000)"
speedBox.Font = Enum.Font.GothamBold
speedBox.TextSize = 14
speedBox.TextColor3 = Color3.new(1,1,1)
speedBox.BackgroundColor3 = Color3.fromRGB(45,45,45)
Instance.new("UICorner", speedBox).CornerRadius = UDim.new(0,8)

--=== Funciones GUI ===
local minimized = false
local function setContentVisible(visible)
	for _,child in ipairs(content:GetChildren()) do
		if child:IsA("TextButton") or child:IsA("TextLabel") or child:IsA("TextBox") then
			child.Visible = visible
		end
	end
end

btnMin.MouseButton1Click:Connect(function()
	playClick()
	minimized = not minimized
	setContentVisible(not minimized)
	local goal = {}
	goal.Size = minimized and UDim2.new(0,280,0,28) or UDim2.new(0,280,0,230)
	TweenService:Create(main,TweenInfo.new(0.3,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),goal):Play()
end)

btnClose.MouseButton1Click:Connect(function()
	playClick()
	TweenService:Create(main,TweenInfo.new(0.25),{Position = main.Position - UDim2.new(0,0,0,200)}):Play()
	task.wait(0.25)
	gui:Destroy()
end)

--=== FLY SYSTEM ===
local function startFly()
	if flying then return end
	flying = true
	flyBtn.Text = "🛑 Detener Vuelo (E)"
	local root = character:WaitForChild("HumanoidRootPart")
	local humanoid = character:WaitForChild("Humanoid")
	humanoid.PlatformStand = true
	root.Anchored = false

	if bv then bv:Destroy() end
	if bg then bg:Destroy() end
	bv = Instance.new("BodyVelocity", root)
	bv.MaxForce = Vector3.new(1e5,1e5,1e5)
	bv.Velocity = Vector3.new(0,0,0)
	bg = Instance.new("BodyGyro", root)
	bg.MaxTorque = Vector3.new(1e5,1e5,1e5)
	bg.CFrame = root.CFrame

	connection = RunService.RenderStepped:Connect(function()
		if not flying then return end
		local dir = Vector3.new()
		local cam = camera.CFrame
		if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + cam.LookVector end
		if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - cam.LookVector end
		if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - cam.RightVector end
		if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + cam.RightVector end
		if UIS:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0,1,0) end
		if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then dir = dir - Vector3.new(0,1,0) end

		if dir.Magnitude > 0 then dir = dir.Unit * flySpeed else dir = Vector3.new(0,0,0) end
		bv.Velocity = dir
		bg.CFrame = CFrame.new(root.Position, root.Position + cam.LookVector)
	end)
end

local function stopFly()
	if not flying then return end
	flying = false
	flyBtn.Text = "✈️ Activar Vuelo (E)"
	local humanoid = character:FindFirstChild("Humanoid")
	if humanoid then humanoid.PlatformStand = false end
	if connection then connection:Disconnect() end
	if bv then bv:Destroy() end
	if bg then bg:Destroy() end
end

-- Botón Fly
flyBtn.MouseButton1Click:Connect(function()
	playClick()
	if flying then stopFly() else startFly() end
end)

-- Tecla E para volar sin sonido
UIS.InputBegan:Connect(function(input,gp)
	if gp then return end
	if input.KeyCode==Enum.KeyCode.E then
		if flying then stopFly() else startFly() end
	end
end)

--=== Noclip ===
local function setNoclip(state)
	noclip = state
	playClick()
	if noclip then
		noclipBtn.Text = "🛑 Desactivar Noclip"
	else
		noclipBtn.Text = "🚪 Activar Noclip"
	end
	for _,part in ipairs(character:GetDescendants()) do
		if part:IsA("BasePart") then
			part.CanCollide = not noclip
		end
	end
end

noclipBtn.MouseButton1Click:Connect(function()
	setNoclip(not noclip)
end)

--=== Velocidad ===
speedBox.FocusLost:Connect(function()
	local val = tonumber(speedBox.Text)
	if val then
		if val>maxSpeed then
			StarterGui:SetCore("SendNotification",{Title="⚠️ Límite Excedido"; Text="El límite es de 1000"; Duration=2})
			speedBox.Text = tostring(maxSpeed)
			flySpeed = maxSpeed
		else flySpeed = val end
	else speedBox.Text = tostring(flySpeed) end
end)

Features & Information

Completamente Gratis,el noclip solo anda cuando vueles o si no lo puedes probar solo pero que vas a bugear asegura siempre desactivarlo cuando quieras activar o desactivar el fly

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts