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)