--[[ LIQUID GLASS CORE GUI MOD MENU v3.0 - Works in CoreGui (Executor) or PlayerGui (Studio) - 13 Categories, 30 Mods each (~390 total actions) - Added: Extra Menus [BETA] with Fly, Physics, and UI Changer - Draggable, Liquid Glass Theme ]] local Players = game:GetService("Players") local Lighting = game:GetService("Lighting") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer -- Global state management for toggled features local isFlying = false local flyConnection = nil local activeEffects = {} -- Tracks active BodyForce/Fire objects -- // CORE GUI DETECTION & PARENTING // -- local function getUiParent() local success, coreGui = pcall(function() return game:GetService("CoreGui") end) if success and coreGui then return coreGui else return LocalPlayer:WaitForChild("PlayerGui") end end local uiParent = getUiParent() -- // CLEANUP PREVIOUS INSTANCES // -- for _, child in pairs(uiParent:GetChildren()) do if child.Name == "LiquidGlassCoreMenu" then child:Destroy() end end -- // UI CREATION HELPER FUNCTIONS // -- local function createRoundedCorner(parent, radius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, radius or 10) corner.Parent = parent return corner end local function createStroke(parent, thickness, transparency, color) local stroke = Instance.new("UIStroke") stroke.Thickness = thickness or 1 stroke.Transparency = transparency or 0.5 stroke.Color = color or Color3.fromRGB(255, 255, 255) stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.Parent = parent return stroke end local function setGlassGradient(parent, color1, color2, rotation) local gradient = parent:FindFirstChildOfClass("UIGradient") or Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color1 or Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, color2 or Color3.fromRGB(180, 220, 255)) }) gradient.Rotation = rotation or 60 gradient.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.1), NumberSequenceKeypoint.new(0.4, 0.3), NumberSequenceKeypoint.new(1, 0.6) }) gradient.Parent = parent return gradient end -- // DRAGGABLE FUNCTION // -- local function makeDraggable(frame) local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragging then update(input) end end end) end -- // MAIN GUI SETUP // -- local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "LiquidGlassCoreMenu" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.Parent = uiParent -- Main Frame (Smaller Size) local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 550, 0, 380) -- Reduced size MainFrame.Position = UDim2.new(0.5, -275, 0.5, -190) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 45) MainFrame.BackgroundTransparency = 0.25 MainFrame.BorderSizePixel = 0 MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui createRoundedCorner(MainFrame, 14) local MainStroke = createStroke(MainFrame, 2, 0.3, Color3.fromRGB(120, 220, 255)) -- Glass overlay local GlassEffect = Instance.new("Frame") GlassEffect.Name = "GlassShine" GlassEffect.Size = UDim2.new(1, 0, 1, 0) GlassEffect.BackgroundColor3 = Color3.fromRGB(100, 180, 255) GlassEffect.BackgroundTransparency = 0.9 GlassEffect.ZIndex = 0 GlassEffect.Parent = MainFrame setGlassGradient(GlassEffect) -- Initial gradient -- Top Bar local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 40) TopBar.BackgroundTransparency = 1 TopBar.Parent = MainFrame -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -60, 1, 0) Title.Position = UDim2.new(0, 15, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "LIQUID v3" Title.Font = Enum.Font.GothamBlack Title.TextSize = 22 Title.TextColor3 = Color3.fromRGB(240, 240, 255) Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TopBar -- Close Button local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 28, 0, 28) CloseBtn.Position = UDim2.new(1, -35, 0, 6) CloseBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60) CloseBtn.BackgroundTransparency = 0.2 CloseBtn.Text = "×" CloseBtn.TextSize = 20 CloseBtn.TextColor3 = Color3.new(1,1,1) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.Parent = TopBar createRoundedCorner(CloseBtn, 8) CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Back Button local BackButton = Instance.new("TextButton") BackButton.Size = UDim2.new(0, 60, 0, 28) BackButton.Position = UDim2.new(1, -105, 0, 6) BackButton.BackgroundColor3 = Color3.fromRGB(80, 140, 200) BackButton.BackgroundTransparency = 0.4 BackButton.Text = "Back" BackButton.TextSize = 14 BackButton.TextColor3 = Color3.new(1,1,1) BackButton.Font = Enum.Font.GothamBold BackButton.Visible = false BackButton.Parent = TopBar createRoundedCorner(BackButton, 8) -- Content Area local ContentArea = Instance.new("Frame") ContentArea.Size = UDim2.new(1, -20, 1, -50) ContentArea.Position = UDim2.new(0, 10, 0, 45) ContentArea.BackgroundColor3 = Color3.fromRGB(0, 0, 0) ContentArea.BackgroundTransparency = 0.6 ContentArea.Parent = MainFrame createRoundedCorner(ContentArea, 10) makeDraggable(MainFrame) -- // SCROLLING FRAMES & LAYOUTS // -- local CategoryScroll = Instance.new("ScrollingFrame") CategoryScroll.Name = "Categories" CategoryScroll.Size = UDim2.new(1, -10, 1, -10) CategoryScroll.Position = UDim2.new(0, 5, 0, 5) CategoryScroll.BackgroundTransparency = 1 CategoryScroll.ScrollBarThickness = 3 CategoryScroll.ScrollBarImageColor3 = Color3.fromRGB(150, 200, 255) CategoryScroll.Parent = ContentArea local ModScroll = Instance.new("ScrollingFrame") ModScroll.Name = "Mods" ModScroll.Size = UDim2.new(1, -10, 1, -10) ModScroll.Position = UDim2.new(0, 5, 0, 5) ModScroll.BackgroundTransparency = 1 ModScroll.ScrollBarThickness = 3 ModScroll.ScrollBarImageColor3 = Color3.fromRGB(150, 200, 255) ModScroll.Visible = false ModScroll.Parent = ContentArea local CatLayout = Instance.new("UIGridLayout") CatLayout.CellSize = UDim2.new(0, 160, 0, 45) CatLayout.CellPadding = UDim2.new(0, 8, 0, 8) CatLayout.SortOrder = Enum.SortOrder.LayoutOrder CatLayout.Parent = CategoryScroll local ModLayout = Instance.new("UIGridLayout") ModLayout.CellSize = UDim2.new(0, 120, 0, 40) ModLayout.CellPadding = UDim2.new(0, 8, 0, 8) ModLayout.SortOrder = Enum.SortOrder.LayoutOrder ModLayout.Parent = ModScroll -- // CORE FEATURE LOGIC // -- local function enableFly() if isFlying then return end isFlying = true local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local hum = char:FindFirstChild("Humanoid") local root = char:FindFirstChild("HumanoidRootPart") if not root or not hum then isFlying = false; return end local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bv.Velocity = Vector3.new(0, 0, 0) bv.Name = "LiquidFlyVelocity" bv.Parent = root local flySpeed = 50 hum.PlatformStand = true flyConnection = RunService.RenderStepped:Connect(function() if not isFlying then return end local moveVector = Vector3.new() -- Forward/Backward (W/S) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + root.CFrame.lookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - root.CFrame.lookVector end -- Left/Right (A/D) if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - root.CFrame.rightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + root.CFrame.rightVector end -- Up/Down (Space/Shift) if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift) then moveVector = moveVector - Vector3.new(0, 1, 0) end if moveVector.Magnitude > 0.1 then bv.Velocity = moveVector.unit * flySpeed else bv.Velocity = Vector3.new(0, 0, 0) end end) end local function disableFly() isFlying = false if flyConnection then flyConnection:Disconnect() end local char = LocalPlayer.Character local hum = char and char:FindFirstChild("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") local bv = root and root:FindFirstChild("LiquidFlyVelocity") if bv then bv:Destroy() end if hum then hum.PlatformStand = false end end -- // UI CHANGER LOGIC // -- local uiPresets = { -- Name = {Color1, Color2, StrokeColor} BlueGlass = {Color3.fromRGB(255, 255, 255), Color3.fromRGB(180, 220, 255), Color3.fromRGB(120, 220, 255)}, RedGlass = {Color3.fromRGB(255, 200, 200), Color3.fromRGB(255, 100, 100), Color3.fromRGB(255, 0, 0)}, GreenGlass = {Color3.fromRGB(200, 255, 200), Color3.fromRGB(100, 255, 100), Color3.fromRGB(0, 200, 0)}, Purple = {Color3.fromRGB(255, 200, 255), Color3.fromRGB(200, 100, 255), Color3.fromRGB(150, 50, 200)}, Gold = {Color3.fromRGB(255, 240, 180), Color3.fromRGB(255, 210, 0), Color3.fromRGB(200, 150, 0)}, } local function applyUIPreset(presetName) local preset = uiPresets[presetName] if not preset then return end -- Update Glass Effect setGlassGradient(GlassEffect, preset[1], preset[2]) -- Update Main Frame Stroke MainStroke.Color = preset[3] end -- // MOD GENERATOR AND VIEW HANDLERS // -- BackButton.MouseButton1Click:Connect(function() ModScroll.Visible = false CategoryScroll.Visible = true BackButton.Visible = false Title.Text = "LIQUID v3" for _, child in pairs(ModScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end end) local function createButton(name, parent, color, callback) local btn = Instance.new("TextButton") btn.Text = name btn.BackgroundColor3 = color or Color3.fromRGB(255, 255, 255) btn.BackgroundTransparency = 0.85 btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.GothamSemibold btn.TextSize = 13 btn.TextWrapped = true btn.Parent = parent createRoundedCorner(btn, 6) createStroke(btn, 1, 0.6, Color3.fromRGB(150, 220, 255)) btn.MouseEnter:Connect(function() game:GetService("TweenService"):Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0.6}):Play() end) btn.MouseLeave:Connect(function() game:GetService("TweenService"):Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0.85}):Play() end) btn.MouseButton1Click:Connect(function() btn.BackgroundTransparency = 0.4 task.wait(0.1) btn.BackgroundTransparency = 0.6 pcall(callback) end) return btn end local function generateMods(category) CategoryScroll.Visible = false ModScroll.Visible = true BackButton.Visible = true Title.Text = string.upper(category) local char = LocalPlayer.Character local hum = char and char:FindFirstChild("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") if not char or not hum or not root then return end if category == "Speed" then for i = 1, 30 do local val = 15 + (i * 8) createButton("WalkSpeed "..val, ModScroll, nil, function() hum.WalkSpeed = val end) end elseif category == "Jump" then for i = 1, 30 do local val = 45 + (i * 8) createButton("JumpPower "..val, ModScroll, nil, function() hum.UseJumpPower = true hum.JumpPower = val end) end elseif category == "Gravity" then for i = 1, 30 do local val = 196 - (i * 6.5) if val < 0 then val = 0 end createButton("Gravity "..math.floor(val), ModScroll, nil, function() workspace.Gravity = val end) end elseif category == "Movement" then for i = 1, 10 do local val = i * 15 createButton("TP Fwd "..val, ModScroll, nil, function() root.CFrame = root.CFrame * CFrame.new(0, 0, -val) end) end for i = 1, 10 do local val = i * 15 createButton("TP Up "..val, ModScroll, nil, function() root.CFrame = root.CFrame * CFrame.new(0, val, 0) end) end createButton("Noclip Toggle", ModScroll, nil, function() root.CanCollide = not root.CanCollide print("Noclip: " .. tostring(not root.CanCollide)) end) for i = 1, 9 do -- 9 more movement mods local angle = i * 40 createButton("Spin " .. angle .. "°", ModScroll, nil, function() root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(angle), 0) end) end elseif category == "FOV" then for i = 1, 30 do local val = 65 + (i * 1.8) if val > 120 then val = 120 end createButton("FOV "..math.floor(val), ModScroll, nil, function() workspace.CurrentCamera.FieldOfView = val end) end elseif category == "Time" then for i = 1, 30 do local val = (i * 0.8) % 24 createButton("Hour "..string.format("%.1f", val), ModScroll, nil, function() Lighting.ClockTime = val end) end elseif category == "Lighting" then for i = 1, 30 do local val = i * 0.3 createButton("Brightness "..string.format("%.1f", val), ModScroll, nil, function() Lighting.Brightness = val end) end elseif category == "Colors" then for i = 1, 30 do createButton("Random Skin "..i, ModScroll, nil, function() local r, g, b = math.random(), math.random(), math.random() for _, p in pairs(char:GetChildren()) do if p:IsA("BasePart") then p.Color = Color3.new(r,g,b) end end end) end elseif category == "Shaders" then for i = 1, 30 do if i <= 10 then createButton("Blur Level "..i, ModScroll, nil, function() local blur = Lighting:FindFirstChild("LiquidBlur") or Instance.new("BlurEffect", Lighting) blur.Name = "LiquidBlur" blur.Size = i * 2.5 end) elseif i <= 20 then createButton("Bloom Level "..(i-10), ModScroll, nil, function() local bloom = Lighting:FindFirstChild("LiquidBloom") or Instance.new("BloomEffect", Lighting) bloom.Name = "LiquidBloom" bloom.Intensity = (i-10) * 0.1 bloom.Size = 24 end) else createButton("Filter "..(i-20), ModScroll, nil, function() local cc = Lighting:FindFirstChild("LiquidCC") or Instance.new("ColorCorrectionEffect", Lighting) cc.Name = "LiquidCC" cc.Saturation = ((i-20) / 10) * 2 - 1 cc.Contrast = ((i-20) / 10) * 0.5 end) end end elseif category == "Weather" then for i = 1, 30 do if i <= 15 then local dist = 1000 - (i * 60) if dist < 50 then dist = 50 end createButton("Fog Dist "..dist, ModScroll, nil, function() Lighting.FogStart = 0 Lighting.FogEnd = dist end) else createButton("Fog Color "..(i-15), ModScroll, nil, function() Lighting.FogColor = Color3.fromHSV((i-15)/15, 0.7, 0.8) end) end end elseif category == "Character" then for i = 1, 30 do if i <= 10 then createButton("Ghost "..(i*10).."%", ModScroll, nil, function() for _, p in pairs(char:GetChildren()) do if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then p.Transparency = i / 10 end end end) elseif i <= 20 then createButton("Wide "..(i-10), ModScroll, nil, function() if hum:FindFirstChild("BodyWidthScale") then hum.BodyWidthScale.Value = 1 + ((i-10)*0.2) end end) else createButton("Tall "..(i-20), ModScroll, nil, function() if hum:FindFirstChild("BodyHeightScale") then hum.BodyHeightScale.Value = 1 + ((i-20)*0.2) end end) end end elseif category == "Physics" then for i = 1, 30 do if i <= 15 then local h = i * 1.5 createButton("HipHeight "..h, ModScroll, nil, function() hum.HipHeight = h end) else local ang = 45 + (i-15) * 3 createButton("MaxSlope "..ang, ModScroll, nil, function() hum.MaxSlopeAngle = ang end) end end -- // EXTRA MENUS (BETA) // -- elseif category == "Extra Menus [BETA]" then -- 1. Fly Menu Toggle createButton(isFlying and "Fly: ON (W/A/S/D/Space/Shift)" or "Fly: OFF", ModScroll, isFlying and Color3.fromRGB(50, 200, 50) or nil, function(btn) if isFlying then disableFly() btn.Text = "Fly: OFF" btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) else enableFly() btn.Text = "Fly: ON (W/A/S/D/Space/Shift)" btn.BackgroundColor3 = Color3.fromRGB(50, 200, 50) end end) -- 2. Wind Menu (BodyForce) for i = 1, 10 do local forceMag = i * 500 createButton("Wind: Push N " .. forceMag, ModScroll, nil, function() local bv = root:FindFirstChild("LiquidWind") or Instance.new("BodyForce") bv.Name = "LiquidWind" bv.Force = root.CFrame.lookVector * forceMag bv.Parent = root activeEffects.wind = bv end) end -- 3. Fire Menu (Fire Effect) for i = 1, 10 do local heat = i * 0.1 createButton("Fire: Heat " .. string.format("%.1f", heat), ModScroll, nil, function() local fire = root:FindFirstChild("LiquidFire") or Instance.new("Fire") fire.Name = "LiquidFire" fire.Heat = heat * 10 fire.Size = heat * 5 fire.Parent = root activeEffects.fire = fire end) end -- 4. Water Menu (Smoke Effect as water mist) for i = 1, 5 do local density = i * 0.15 createButton("Water: Mist D " .. string.format("%.2f", density), ModScroll, nil, function() local smoke = root:FindFirstChild("LiquidMist") or Instance.new("Smoke") smoke.Name = "LiquidMist" smoke.Color = Color3.fromRGB(150, 200, 255) smoke.Density = density smoke.Size = 10 smoke.Parent = root activeEffects.mist = smoke end) end -- 5. UI Changer Menu (Remaining 4 buttons) local i = 0 for name, _ in pairs(uiPresets) do i = i + 1 if i <= 4 then -- Use only 4 presets to keep the count to ~30 createButton("UI: " .. name, ModScroll, nil, function() applyUIPreset(name) end) end end createButton("Disable All Effects", ModScroll, Color3.fromRGB(200, 50, 50), function() disableFly() for _, effect in pairs(activeEffects) do effect:Destroy() end activeEffects = {} -- Manually reset fly button text state if present end) end end -- // INIT CATEGORIES // -- local categories = { "Speed", "Jump", "Gravity", "Movement", -- Merged Teleport and Movement "FOV", "Time", "Lighting", "Colors", "Shaders", "Weather", "Character", "Physics", "Extra Menus [BETA]" -- New Category } for _, cat in ipairs(categories) do createButton(cat, CategoryScroll, Color3.fromRGB(200, 230, 255), function() generateMods(cat) end) end print("Loaded Liquid v3 in " .. uiParent.Name)