op menu v1.00
Key RequiredUniversal

op menu v1.00

Universal Scriptmrusscher0mrusscher0 1.9K views 31 executesUpdated Jun 17, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•234 lines (6228 chars)
local player = game.Players.LocalPlayer
local Terrain = workspace.Terrain

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

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 480)
frame.Position = UDim2.new(0, 30, 0.3, 0)
frame.Active = true
frame.Draggable = true
frame.BorderSizePixel = 0
frame.Parent = gui

-- Rainbow background for main menu (loops smoothly and stays when dragged)
task.spawn(function()
	while frame and frame.Parent do
		for h = 0, 1, 0.01 do
			frame.BackgroundColor3 = Color3.fromHSV(h, 1, 1)
			wait(0.03)
		end
	end
end)

local buttons = {}

local function setButtonsEnabled(enabled)
	for _, btn in ipairs(buttons) do
		btn.Active = enabled
		btn.AutoButtonColor = enabled
		btn.TextColor3 = enabled and Color3.new(1, 1, 1) or Color3.fromRGB(150, 150, 150)
	end
end

local function makeButton(text, posY, action)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(1, -20, 0, 30)
	btn.Position = UDim2.new(0, 10, 0, posY)
	btn.Text = text
	btn.Font = Enum.Font.GothamBold
	btn.TextSize = 16
	btn.TextColor3 = Color3.new(1, 1, 1)
	btn.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
	btn.BorderSizePixel = 0
	btn.Parent = frame
	btn.MouseButton1Click:Connect(action)
	table.insert(buttons, btn)
	return btn
end

-- Variables for water spammer state
local waterSpammerRunning = false
local waterSpammerTask

-- Add Water Button
makeButton("Add Water", 10, function()
	local char = player.Character
	local root = char and char:FindFirstChild("HumanoidRootPart")
	if root then
		local region = Region3.new(
			root.Position - Vector3.new(10, 4, 10),
			root.Position + Vector3.new(10, 0, 10)
		):ExpandToGrid(4)
		Terrain:FillRegion(region, 4, Enum.Material.Water)
	end
end)

-- Water Spammer Button
makeButton("Water Spammer", 50, function()
	if waterSpammerRunning then return end
	waterSpammerRunning = true
	waterSpammerTask = task.spawn(function()
		while waterSpammerRunning do
			local char = player.Character
			local root = char and char:FindFirstChild("HumanoidRootPart")
			if not root then break end

			local center = root.Position

			for x = -20, 20, 4 do
				for z = -20, 20, 4 do
					local pos = Vector3.new(center.X + x, center.Y - 4, center.Z + z)
					local region = Region3.new(pos, pos + Vector3.new(4, 4, 4)):ExpandToGrid(4)
					Terrain:FillRegion(region, 4, Enum.Material.Water)
				end
			end

			task.wait(0.2)
		end
	end)
end)

-- Stretchy Mode Button
makeButton("Stretchy Mode", 90, function()
	local char = player.Character
	if not char then return end
	for _, part in pairs(char:GetDescendants()) do
		if part:IsA("BasePart") then
			part.Size = part.Size * Vector3.new(2, 6, 2)
		end
	end
end)

-- Speedy Button
makeButton("Speedy", 130, function()
	local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
	if hum then
		hum.WalkSpeed = math.min(hum.WalkSpeed * 2, 500)
	end
end)

-- Reset Button
makeButton("Reset", 170, function()
	waterSpammerRunning = false
	if waterSpammerTask then
		task.cancel(waterSpammerTask)
		waterSpammerTask = nil
	end
	Terrain:Clear()
	local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
	if hum then
		hum.Health = 0
	end
	setButtonsEnabled(false)
end)

-- Fling Yourself Button
makeButton("Fling Yourself", 210, function()
	local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
	if root then
		local bv = Instance.new("BodyVelocity")
		bv.Velocity = Vector3.new(0, 9999999999, 0)
		bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
		bv.Parent = root
		game:GetService("Debris"):AddItem(bv, 1)
	end
end)

-- DO NOT CLICK Button
makeButton("DO NOT CLICK", 250, function()
	local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
	if root then
		local bv = Instance.new("BodyVelocity")
		bv.Velocity = Vector3.new(0, 9999999999, 0)
		bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
		bv.Parent = root
		game:GetService("Debris"):AddItem(bv, 1)
		task.wait(5)
		game:Shutdown()
	end
end)

-- Close Button (X)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 25, 0, 25)
closeBtn.Position = UDim2.new(1, -30, 0, 5)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 16
closeBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.BorderSizePixel = 0
closeBtn.Parent = frame
closeBtn.MouseButton1Click:Connect(function()
	frame.Visible = false
	opGuiFrame.Visible = false
end)

-- OP GUI frame (initially hidden)
local opGuiFrame = Instance.new("Frame")
opGuiFrame.Size = UDim2.new(0, 160, 0, 90)
opGuiFrame.Position = UDim2.new(0, 260, 0.3, 0)
opGuiFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
opGuiFrame.BorderSizePixel = 0
opGuiFrame.Visible = false
opGuiFrame.Parent = gui

-- Rainbow background for OP GUI
task.spawn(function()
	while opGuiFrame and opGuiFrame.Parent do
		for h = 0, 1, 0.02 do
			opGuiFrame.BackgroundColor3 = Color3.fromHSV(h, 1, 1)
			task.wait(0.02)
		end
	end
end)

local opButtons = {}

local function opMakeButton(text, posY, action)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(1, -20, 0, 30)
	btn.Position = UDim2.new(0, 10, 0, posY)
	btn.Text = text
	btn.Font = Enum.Font.GothamBold
	btn.TextSize = 16
	btn.TextColor3 = Color3.new(1, 1, 1)
	btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
	btn.BorderSizePixel = 0
	btn.Parent = opGuiFrame
	btn.MouseButton1Click:Connect(action)
	table.insert(opButtons, btn)
	return btn
end

-- Size Up button
opMakeButton("Size Up", 10, function()
	local char = player.Character
	if not char then return end
	for _, part in pairs(char:GetDescendants()) do
		if part:IsA("BasePart") then
			part.Size = part.Size * 1.2
		end
	end
end)

-- Size Down button
opMakeButton("Size Down", 50, function()
	local char = player.Character
	if not char then return end
	for _, part in pairs(char:GetDescendants()) do
		if part:IsA("BasePart") then
			part.Size = part.Size * 0.8
		end
	end
end)

-- OP GUI toggle button
local opGuiBtn = makeButton("OP GUI🔥🔥 (may be buggy)", 290, function()
	opGuiFrame.Visible = not opGuiFrame.Visible
end)

Features & Information

coooooooooolll

Community Comments (4)

TotallyNotCXVcTotallyNotCXVcJun 17, 2025

Sure is.

VsploitVsploitJun 17, 2025

Rubbish don't allow much to help

mrusscher0mrusscher0Jun 17, 2025

bro its universal what do you expect

sebastiangaaltonensebastiangaaltonenJun 19, 2025

Isn't this made by ai

More Scripts for Universal Scripts