Quick actions

cmd+k|ctrl+k

Navigation

Languages

Cube Combination Utility v1

Snippet info

Language

Lua

Visibility

public

Author

panickyhospital950

Created

2026-04-04T05:20:54.705672Z

Updated

2026-04-04T05:20:54.705672Z

--[[
    CUBE COMBINATION UTILITY v1 | Xray + Inf Jump + ESP + AC Nuker + More
    Game: https://www.roblox.com/games/9798463281/Cube-Combination
    
    Features:
      [1] Xray           - See through all solid parts
      [2] Infinite Jump   - Jump in mid-air unlimited times
      [3] ESP             - Highlight players, enemies, bosses, cubes, structures
      [4] Fullbright      - Remove darkness/fog
      [5] Speed Boost     - Adjustable walk speed
      [6] Noclip          - Walk through walls
      [7] Anti-AFK        - Prevent idle kick
      [8] AC Nuker        - Disable common anti-cheat scripts
      [9] Auto Heal       - Use healing items when low HP
      [10] Fly            - Fly around the map
      
    UI: Pixel-style toggle menu (press RIGHALT or tap mobile button)
]]

------------------------------------------------------------------------
-- CLEANUP
------------------------------------------------------------------------
pcall(function()
    for _, g in pairs(game:GetService("Players").LocalPlayer.PlayerGui:GetChildren()) do
        if g.Name == "CCUtilGui" then g:Destroy() end
    end
end)
pcall(function()
    if _G._CCConns then
        for _, c in pairs(_G._CCConns) do pcall(function() c:Disconnect() end) end
    end
end)
_G._CCConns = {}
local function conn(c) table.insert(_G._CCConns, c) return c end

------------------------------------------------------------------------
-- SERVICES
------------------------------------------------------------------------
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
local TS = game:GetService("TweenService")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local StarterGui = game:GetService("StarterGui")
local LP = Players.LocalPlayer
local Mouse = LP:GetMouse()
local Camera = Workspace.CurrentCamera

local char, hmn, hrp
local function grab()
    char = LP.Character
    if not char then return false end
    hmn = char:FindFirstChildOfClass("Humanoid")
    hrp = char:FindFirstChild("HumanoidRootPart")
    return hrp ~= nil and hmn ~= nil
end
grab()
conn(LP.CharacterAdded:Connect(function(c)
    c:WaitForChild("HumanoidRootPart")
    task.wait(0.3)
    grab()
end))

------------------------------------------------------------------------
-- STATE
------------------------------------------------------------------------
local State = {
    xray = false,
    infJump = false,
    esp = false,
    fullbright = false,
    speed = false,
    noclip = false,
    antiAfk = true,     -- on by default
    acNuker = false,
    autoHeal = false,
    fly = false,
}

local speedValue = 50   -- default boosted speed
local healThreshold = 30 -- % HP to auto heal
local flySpeed = 80
local menuOpen = true
local originalTransparency = {}
local originalLighting = {}
local espObjects = {}
local flyBody = nil

------------------------------------------------------------------------
-- COLORS
------------------------------------------------------------------------
local C = {
    bg      = Color3.fromRGB(18, 18, 28),
    panel   = Color3.fromRGB(28, 28, 42),
    header  = Color3.fromRGB(35, 25, 60),
    accent  = Color3.fromRGB(130, 80, 255),
    accent2 = Color3.fromRGB(80, 200, 255),
    green   = Color3.fromRGB(50, 255, 100),
    red     = Color3.fromRGB(255, 60, 60),
    orange  = Color3.fromRGB(255, 170, 50),
    yellow  = Color3.fromRGB(255, 230, 60),
    white   = Color3.fromRGB(220, 220, 235),
    gray    = Color3.fromRGB(120, 120, 140),
    dimgray = Color3.fromRGB(70, 70, 90),
    btnOff  = Color3.fromRGB(40, 40, 58),
    btnOn   = Color3.fromRGB(50, 35, 90),
    border  = Color3.fromRGB(90, 60, 200),
    pink    = Color3.fromRGB(255, 100, 200),
    cyan    = Color3.fromRGB(60, 220, 255),
}

------------------------------------------------------------------------
-- ANTI-CHEAT NUKER
------------------------------------------------------------------------
local function nukeAC()
    -- Remove common AC local scripts
    local targets = {
        "AntiExploit", "AntiCheat", "Anti-Cheat", "AC", "Anticheat",
        "anti_cheat", "anti_exploit", "AntiSpeed", "AntiNoclip",
        "AntiTeleport", "SecurityCheck", "Checker", "Validator",
        "anticheat", "antiexploit", "ServerAntiCheat", "ClientAC",
        "FlyDetect", "SpeedDetect", "NoclipDetect", "ExploitDetect",
        "AntiHack", "HackDetect", "CheatGuard", "GameGuard",
    }
    
    local nuked = 0
    
    -- Nuke from PlayerScripts
    pcall(function()
        local ps = LP:FindFirstChild("PlayerScripts")
        if ps then
            for _, child in pairs(ps:GetDescendants()) do
                for _, name in pairs(targets) do
                    if child.Name:lower():find(name:lower()) then
                        pcall(function() child:Destroy() end)
                        nuked = nuked + 1
                    end
                end
            end
        end
    end)
    
    -- Nuke from PlayerGui
    pcall(function()
        local pg = LP:FindFirstChild("PlayerGui")
        if pg then
            for _, child in pairs(pg:GetDescendants()) do
                if child:IsA("LocalScript") then
                    for _, name in pairs(targets) do
                        if child.Name:lower():find(name:lower()) then
                            pcall(function() child.Disabled = true end)
                            nuked = nuked + 1
                        end
                    end
                end
            end
        end
    end)
    
    -- Nuke from character
    pcall(function()
        if char then
            for _, child in pairs(char:GetDescendants()) do
                if child:IsA("LocalScript") then
                    for _, name in pairs(targets) do
                        if child.Name:lower():find(name:lower()) then
                            pcall(function() child.Disabled = true end)
                            nuked = nuked + 1
                        end
                    end
                end
            end
        end
    end)
    
    -- Nuke from ReplicatedFirst
    pcall(function()
        for _, child in pairs(game:GetService("ReplicatedFirst"):GetDescendants()) do
            if child:IsA("LocalScript") or child:IsA("ModuleScript") then
                for _, name in pairs(targets) do
                    if child.Name:lower():find(name:lower()) then
                        pcall(function() 
                            if child:IsA("LocalScript") then
                                child.Disabled = true 
                            end
                        end)
                        nuked = nuked + 1
                    end
                end
            end
        end
    end)
    
    -- Hook common AC remote events
    pcall(function()
        local re = game:GetService("ReplicatedStorage")
        for _, child in pairs(re:GetDescendants()) do
            if (child:IsA("RemoteEvent") or child:IsA("RemoteFunction")) then
                for _, name in pairs(targets) do
                    if child.Name:lower():find(name:lower()) then
                        pcall(function() child:Destroy() end)
                        nuked = nuked + 1
                    end
                end
            end
        end
    end)
    
    -- Disable all connections to common AC bindables
    pcall(function()
        if hookfunction and newcclosure then
            -- Advanced: hook namecall for AC fire calls
        end
    end)
    
    return nuked
end

------------------------------------------------------------------------
-- XRAY
------------------------------------------------------------------------
local function setXray(on)
    if on then
        -- Store original transparency and make parts see-through
        for _, part in pairs(Workspace:GetDescendants()) do
            if part:IsA("BasePart") and not part:IsDescendantOf(char or {}) then
                local t = part.Transparency
                if t < 0.7 and part.Name ~= "Baseplate" and part.Name ~= "Terrain" then
                    if not originalTransparency[part] then
                        originalTransparency[part] = t
                    end
                    part.Transparency = 0.75
                end
            end
        end
    else
        -- Restore original
        for part, t in pairs(originalTransparency) do
            pcall(function() part.Transparency = t end)
        end
        originalTransparency = {}
    end
end

------------------------------------------------------------------------
-- INFINITE JUMP
------------------------------------------------------------------------
local function setupInfJump()
    conn(UIS.JumpRequest:Connect(function()
        if State.infJump and grab() then
            hmn:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end))
end
setupInfJump()

------------------------------------------------------------------------
-- ESP
------------------------------------------------------------------------
local function createHighlight(target, color, label)
    if not target or espObjects[target] then return end
    
    local hl = Instance.new("Highlight")
    hl.Adornee = target
    hl.FillColor = color
    hl.FillTransparency = 0.7
    hl.OutlineColor = color
    hl.OutlineTransparency = 0.2
    hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    hl.Parent = target
    
    local bb = Instance.new("BillboardGui")
    bb.Adornee = target:IsA("Model") and (target:FindFirstChild("HumanoidRootPart") or target:FindFirstChild("Head") or target.PrimaryPart) or target
    bb.Size = UDim2.new(0, 120, 0, 30)
    bb.StudsOffset = Vector3.new(0, 4, 0)
    bb.AlwaysOnTop = true
    bb.Parent = target
    
    local txt = Instance.new("TextLabel")
    txt.Size = UDim2.new(1, 0, 1, 0)
    txt.BackgroundTransparency = 1
    txt.TextColor3 = color
    txt.TextStrokeTransparency = 0.3
    txt.TextStrokeColor3 = Color3.new(0, 0, 0)
    txt.Font = Enum.Font.GothamBold
    txt.TextScaled = true
    txt.Text = label
    txt.Parent = bb
    
    espObjects[target] = {hl, bb}
end

local function clearESP()
    for target, objs in pairs(espObjects) do
        for _, obj in pairs(objs) do
            pcall(function() obj:Destroy() end)
        end
    end
    espObjects = {}
end

local function refreshESP()
    clearESP()
    if not State.esp then return end
    
    -- Players
    for _, plr in pairs(Players:GetPlayers()) do
        if plr ~= LP and plr.Character then
            local c = plr.Character
            if c:FindFirstChild("HumanoidRootPart") then
                createHighlight(c, C.cyan, plr.Name)
            end
        end
    end
    
    -- Enemies (common enemy folder names in Cube Combination)
    local enemyFolders = {"Enemies", "Mobs", "NPCs", "Bosses", "BossFolder", "EnemyFolder", "MobFolder"}
    for _, folderName in pairs(enemyFolders) do
        local folder = Workspace:FindFirstChild(folderName)
        if folder then
            for _, enemy in pairs(folder:GetChildren()) do
                if enemy:IsA("Model") then
                    local humanoid = enemy:FindFirstChildOfClass("Humanoid")
                    local isBoss = enemy.Name:lower():find("boss") or 
                                   (humanoid and humanoid.MaxHealth > 500)
                    if isBoss then
                        createHighlight(enemy, C.red, "BOSS: " .. enemy.Name)
                    else
                        createHighlight(enemy, C.orange, enemy.Name)
                    end
                end
            end
        end
    end
    
    -- Cubes / Items on ground
    local itemFolders = {"Items", "Cubes", "Drops", "DroppedItems", "CubeFolder", "ItemFolder"}
    for _, folderName in pairs(itemFolders) do
        local folder = Workspace:FindFirstChild(folderName)
        if folder then
            for _, item in pairs(folder:GetChildren()) do
                if item:IsA("BasePart") or item:IsA("Model") then
                    createHighlight(item, C.yellow, item.Name)
                end
            end
        end
    end
    
    -- Structures (crafting tables, combiners, etc.)
    local structFolders = {"Structures", "Buildings", "Crafting"}
    for _, folderName in pairs(structFolders) do
        local folder = Workspace:FindFirstChild(folderName)
        if folder then
            for _, s in pairs(folder:GetChildren()) do
                if s:IsA("Model") then
                    createHighlight(s, C.green, s.Name)
                end
            end
        end
    end
end

------------------------------------------------------------------------
-- FULLBRIGHT
------------------------------------------------------------------------
local function setFullbright(on)
    if on then
        originalLighting.Ambient = Lighting.Ambient
        originalLighting.Brightness = Lighting.Brightness
        originalLighting.FogEnd = Lighting.FogEnd
        originalLighting.FogStart = Lighting.FogStart
        originalLighting.GlobalShadows = Lighting.GlobalShadows
        originalLighting.OutdoorAmbient = Lighting.OutdoorAmbient
        
        Lighting.Ambient = Color3.new(1, 1, 1)
        Lighting.Brightness = 2
        Lighting.FogEnd = 1000000
        Lighting.FogStart = 1000000
        Lighting.GlobalShadows = false
        Lighting.OutdoorAmbient = Color3.new(1, 1, 1)
        
        -- Remove atmosphere/blur effects
        for _, eff in pairs(Lighting:GetChildren()) do
            if eff:IsA("Atmosphere") or eff:IsA("BloomEffect") or eff:IsA("ColorCorrectionEffect") then
                if not eff:GetAttribute("_CCUtil_hidden") then
                    eff:SetAttribute("_CCUtil_hidden", true)
                    eff:SetAttribute("_CCUtil_enabled", eff.Enabled)
                    eff.Enabled = false
                end
            end
        end
    else
        pcall(function()
            Lighting.Ambient = originalLighting.Ambient or Lighting.Ambient
            Lighting.Brightness = originalLighting.Brightness or Lighting.Brightness
            Lighting.FogEnd = originalLighting.FogEnd or Lighting.FogEnd
            Lighting.FogStart = originalLighting.FogStart or Lighting.FogStart
            Lighting.GlobalShadows = originalLighting.GlobalShadows
            Lighting.OutdoorAmbient = originalLighting.OutdoorAmbient or Lighting.OutdoorAmbient
        end)
        for _, eff in pairs(Lighting:GetChildren()) do
            if eff:GetAttribute("_CCUtil_hidden") then
                eff.Enabled = eff:GetAttribute("_CCUtil_enabled")
                eff:SetAttribute("_CCUtil_hidden", nil)
                eff:SetAttribute("_CCUtil_enabled", nil)
            end
        end
    end
end

------------------------------------------------------------------------
-- NOCLIP
------------------------------------------------------------------------
conn(RS.Stepped:Connect(function()
    if State.noclip and grab() then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end))

------------------------------------------------------------------------
-- SPEED
------------------------------------------------------------------------
conn(RS.Heartbeat:Connect(function()
    if State.speed and grab() and hmn then
        hmn.WalkSpeed = speedValue
    end
end))

------------------------------------------------------------------------
-- ANTI-AFK
------------------------------------------------------------------------
do
    local vu = game:GetService("VirtualUser")
    conn(LP.Idled:Connect(function()
        if State.antiAfk then
            vu:CaptureController()
            vu:ClickButton2(Vector2.new())
        end
    end))
end

------------------------------------------------------------------------
-- AUTO HEAL
------------------------------------------------------------------------
conn(RS.Heartbeat:Connect(function()
    if not State.autoHeal or not grab() or not hmn then return end
    
    local hp = hmn.Health
    local maxHp = hmn.MaxHealth
    if maxHp <= 0 then return end
    
    local pct = (hp / maxHp) * 100
    if pct > healThreshold then return end
    
    -- Try to find and use healing items in backpack
    local bp = LP:FindFirstChild("Backpack")
    if not bp then return end
    
    local healKeywords = {"heal", "potion", "bandage", "food", "apple", "meat", "berry", "bread", "fish", "stew", "soup", "mushroom", "herb", "medicine", "cure"}
    
    for _, tool in pairs(bp:GetChildren()) do
        if tool:IsA("Tool") then
            local name = tool.Name:lower()
            for _, kw in pairs(healKeywords) do
                if name:find(kw) then
                    -- Equip and activate
                    pcall(function()
                        hmn:EquipTool(tool)
                        task.wait(0.1)
                        tool:Activate()
                        task.wait(0.3)
                        hmn:UnequipTools()
                    end)
                    return
                end
            end
        end
    end
end))

------------------------------------------------------------------------
-- FLY
------------------------------------------------------------------------
local flyActive = false
local flyBV, flyBG

local function startFly()
    if not grab() then return end
    flyActive = true
    
    flyBV = Instance.new("BodyVelocity")
    flyBV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
    flyBV.Velocity = Vector3.new(0, 0, 0)
    flyBV.Parent = hrp
    
    flyBG = Instance.new("BodyGyro")
    flyBG.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
    flyBG.D = 200
    flyBG.P = 10000
    flyBG.Parent = hrp
    
    conn(RS.Heartbeat:Connect(function()
        if not flyActive or not State.fly or not grab() then return end
        
        local dir = Vector3.new(0, 0, 0)
        local cf = Camera.CFrame
        
        if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + cf.LookVector end
        if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - cf.LookVector end
        if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - cf.RightVector end
        if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + cf.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
        end
        
        flyBV.Velocity = dir
        flyBG.CFrame = cf
    end))
end

local function stopFly()
    flyActive = false
    pcall(function() if flyBV then flyBV:Destroy() end end)
    pcall(function() if flyBG then flyBG:Destroy() end end)
    flyBV = nil
    flyBG = nil
end

------------------------------------------------------------------------
-- GUI
------------------------------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "CCUtilGui"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
gui.Parent = LP.PlayerGui

-- Main frame
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 260, 0, 460)
main.Position = UDim2.new(0, 15, 0.5, -230)
main.BackgroundColor3 = C.bg
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.Visible = menuOpen
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)
local mainStroke = Instance.new("UIStroke", main)
mainStroke.Color = C.border
mainStroke.Thickness = 2

-- Header
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 40)
header.BackgroundColor3 = C.header
header.BorderSizePixel = 0
header.Parent = main
Instance.new("UICorner", header).CornerRadius = UDim.new(0, 10)

-- Fix bottom corners of header
local headerFix = Instance.new("Frame")
headerFix.Size = UDim2.new(1, 0, 0, 12)
headerFix.Position = UDim2.new(0, 0, 1, -12)
headerFix.BackgroundColor3 = C.header
headerFix.BorderSizePixel = 0
headerFix.Parent = header

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -10, 1, 0)
title.Position = UDim2.new(0, 10, 0, 0)
title.BackgroundTransparency = 1
title.Text = "⚡ CUBE COMBO UTIL v1"
title.TextColor3 = C.accent
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header

-- Close / minimize button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 5)
closeBtn.BackgroundColor3 = C.red
closeBtn.BackgroundTransparency = 0.5
closeBtn.BorderSizePixel = 0
closeBtn.Text = "X"
closeBtn.TextColor3 = C.white
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Parent = header
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
closeBtn.MouseButton1Click:Connect(function()
    menuOpen = false
    main.Visible = false
end)

-- Scroll frame for toggles
local scroll = Instance.new("ScrollingFrame")
scroll.Size = UDim2.new(1, -16, 1, -48)
scroll.Position = UDim2.new(0, 8, 0, 44)
scroll.BackgroundTransparency = 1
scroll.BorderSizePixel = 0
scroll.ScrollBarThickness = 4
scroll.ScrollBarImageColor3 = C.accent
scroll.CanvasSize = UDim2.new(0, 0, 0, 0) -- auto
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.Parent = main

local layout = Instance.new("UIListLayout", scroll)
layout.Padding = UDim.new(0, 4)
layout.SortOrder = Enum.SortOrder.LayoutOrder

------------------------------------------------------------------------
-- TOGGLE BUTTON FACTORY
------------------------------------------------------------------------
local toggleButtons = {}

local function createToggle(name, stateKey, description, color, order, callback)
    local row = Instance.new("Frame")
    row.Size = UDim2.new(1, -4, 0, 38)
    row.BackgroundColor3 = C.panel
    row.BorderSizePixel = 0
    row.LayoutOrder = order
    row.Parent = scroll
    Instance.new("UICorner", row).CornerRadius = UDim.new(0, 8)
    
    -- Color bar left
    local bar = Instance.new("Frame")
    bar.Size = UDim2.new(0, 4, 0.7, 0)
    bar.Position = UDim2.new(0, 4, 0.15, 0)
    bar.BackgroundColor3 = color
    bar.BorderSizePixel = 0
    bar.Parent = row
    Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 2)
    
    -- Label
    local lbl = Instance.new("TextLabel")
    lbl.Size = UDim2.new(0.55, 0, 0, 16)
    lbl.Position = UDim2.new(0, 16, 0, 3)
    lbl.BackgroundTransparency = 1
    lbl.Text = name
    lbl.TextColor3 = C.white
    lbl.Font = Enum.Font.GothamBold
    lbl.TextSize = 13
    lbl.TextXAlignment = Enum.TextXAlignment.Left
    lbl.Parent = row
    
    -- Description
    local desc = Instance.new("TextLabel")
    desc.Size = UDim2.new(0.7, 0, 0, 12)
    desc.Position = UDim2.new(0, 16, 0, 20)
    desc.BackgroundTransparency = 1
    desc.Text = description
    desc.TextColor3 = C.gray
    desc.Font = Enum.Font.Gotham
    desc.TextSize = 10
    desc.TextXAlignment = Enum.TextXAlignment.Left
    desc.Parent = row
    
    -- Toggle button
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0, 52, 0, 24)
    btn.Position = UDim2.new(1, -60, 0.5, -12)
    btn.BorderSizePixel = 0
    btn.Text = State[stateKey] and "ON" or "OFF"
    btn.TextColor3 = State[stateKey] and C.green or C.red
    btn.BackgroundColor3 = State[stateKey] and C.btnOn or C.btnOff
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 12
    btn.AutoButtonColor = false
    btn.Parent = row
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
    Instance.new("UIStroke", btn).Color = State[stateKey] and C.green or C.dimgray
    
    btn.MouseButton1Click:Connect(function()
        State[stateKey] = not State[stateKey]
        local on = State[stateKey]
        btn.Text = on and "ON" or "OFF"
        btn.TextColor3 = on and C.green or C.red
        btn.BackgroundColor3 = on and C.btnOn or C.btnOff
        btn:FindFirstChildOfClass("UIStroke").Color = on and C.green or C.dimgray
        bar.BackgroundColor3 = on and color or C.dimgray
        
        if callback then callback(on) end
    end)
    
    toggleButtons[stateKey] = {btn = btn, bar = bar, color = color}
    
    -- Set initial bar color
    if not State[stateKey] then bar.BackgroundColor3 = C.dimgray end
end

------------------------------------------------------------------------
-- CREATE TOGGLES
------------------------------------------------------------------------
createToggle("XRAY", "xray", "See through walls", C.accent, 1, function(on)
    setXray(on)
end)

createToggle("INF JUMP", "infJump", "Jump in mid-air", C.cyan, 2, nil)

createToggle("ESP", "esp", "Highlight players/enemies/items", C.yellow, 3, function(on)
    if on then refreshESP() else clearESP() end
end)

createToggle("FULLBRIGHT", "fullbright", "Remove darkness & fog", C.orange, 4, function(on)
    setFullbright(on)
end)

createToggle("SPEED [50]", "speed", "Boosted walk speed", C.green, 5, nil)

createToggle("NOCLIP", "noclip", "Walk through walls", C.pink, 6, nil)

createToggle("ANTI-AFK", "antiAfk", "Prevent idle kick", C.gray, 7, nil)

createToggle("AC NUKER", "acNuker", "Disable anti-cheat scripts", C.red, 8, function(on)
    if on then
        local n = nukeAC()
        print("[CC UTIL] AC Nuker: destroyed/disabled " .. n .. " AC objects")
        -- Run periodically
        task.spawn(function()
            while State.acNuker and task.wait(5) do
                nukeAC()
            end
        end)
    end
end)

createToggle("AUTO HEAL", "autoHeal", "Use healing items at low HP", C.green, 9, nil)

createToggle("FLY", "fly", "Fly around the map", C.accent2, 10, function(on)
    if on then startFly() else stopFly() end
end)

------------------------------------------------------------------------
-- SPEED SLIDER (simple +/- buttons)
------------------------------------------------------------------------
local speedRow = Instance.new("Frame")
speedRow.Size = UDim2.new(1, -4, 0, 32)
speedRow.BackgroundColor3 = C.panel
speedRow.BorderSizePixel = 0
speedRow.LayoutOrder = 11
speedRow.Parent = scroll
Instance.new("UICorner", speedRow).CornerRadius = UDim.new(0, 8)

local speedLbl = Instance.new("TextLabel")
speedLbl.Size = UDim2.new(0.5, 0, 1, 0)
speedLbl.Position = UDim2.new(0, 12, 0, 0)
speedLbl.BackgroundTransparency = 1
speedLbl.Text = "Speed: " .. speedValue
speedLbl.TextColor3 = C.white
speedLbl.Font = Enum.Font.GothamBold
speedLbl.TextSize = 12
speedLbl.TextXAlignment = Enum.TextXAlignment.Left
speedLbl.Parent = speedRow

local function makeSpeedBtn(text, xOff, delta)
    local b = Instance.new("TextButton")
    b.Size = UDim2.new(0, 30, 0, 22)
    b.Position = UDim2.new(1, xOff, 0.5, -11)
    b.BackgroundColor3 = C.btnOff
    b.BorderSizePixel = 0
    b.Text = text
    b.TextColor3 = C.white
    b.Font = Enum.Font.GothamBold
    b.TextSize = 14
    b.Parent = speedRow
    Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4)
    b.MouseButton1Click:Connect(function()
        speedValue = math.clamp(speedValue + delta, 16, 500)
        speedLbl.Text = "Speed: " .. speedValue
        -- Update toggle label
        local tb = toggleButtons["speed"]
        if tb then
            -- find label
        end
    end)
end
makeSpeedBtn("-", -70, -10)
makeSpeedBtn("+", -35, 10)

------------------------------------------------------------------------
-- FLY SPEED SLIDER
------------------------------------------------------------------------
local flyRow = Instance.new("Frame")
flyRow.Size = UDim2.new(1, -4, 0, 32)
flyRow.BackgroundColor3 = C.panel
flyRow.BorderSizePixel = 0
flyRow.LayoutOrder = 12
flyRow.Parent = scroll
Instance.new("UICorner", flyRow).CornerRadius = UDim.new(0, 8)

local flyLbl = Instance.new("TextLabel")
flyLbl.Size = UDim2.new(0.5, 0, 1, 0)
flyLbl.Position = UDim2.new(0, 12, 0, 0)
flyLbl.BackgroundTransparency = 1
flyLbl.Text = "Fly Spd: " .. flySpeed
flyLbl.TextColor3 = C.white
flyLbl.Font = Enum.Font.GothamBold
flyLbl.TextSize = 12
flyLbl.TextXAlignment = Enum.TextXAlignment.Left
flyLbl.Parent = flyRow

local function makeFlyBtn(text, xOff, delta)
    local b = Instance.new("TextButton")
    b.Size = UDim2.new(0, 30, 0, 22)
    b.Position = UDim2.new(1, xOff, 0.5, -11)
    b.BackgroundColor3 = C.btnOff
    b.BorderSizePixel = 0
    b.Text = text
    b.TextColor3 = C.white
    b.Font = Enum.Font.GothamBold
    b.TextSize = 14
    b.Parent = flyRow
    Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4)
    b.MouseButton1Click:Connect(function()
        flySpeed = math.clamp(flySpeed + delta, 10, 500)
        flyLbl.Text = "Fly Spd: " .. flySpeed
    end)
end
makeFlyBtn("-", -70, -20)
makeFlyBtn("+", -35, 20)

------------------------------------------------------------------------
-- CREDITS BAR
------------------------------------------------------------------------
local credRow = Instance.new("Frame")
credRow.Size = UDim2.new(1, -4, 0, 22)
credRow.BackgroundTransparency = 1
credRow.LayoutOrder = 99
credRow.Parent = scroll

local credLbl = Instance.new("TextLabel")
credLbl.Size = UDim2.new(1, 0, 1, 0)
credLbl.BackgroundTransparency = 1
credLbl.Text = "⚡ CC Utility v1 | RightAlt to toggle"
credLbl.TextColor3 = C.dimgray
credLbl.Font = Enum.Font.Gotham
credLbl.TextSize = 10
credLbl.Parent = credRow

------------------------------------------------------------------------
-- TOGGLE MENU KEY (RightAlt)
------------------------------------------------------------------------
conn(UIS.InputBegan:Connect(function(inp, gpe)
    if gpe then return end
    if inp.KeyCode == Enum.KeyCode.RightAlt then
        menuOpen = not menuOpen
        main.Visible = menuOpen
    end
end))

------------------------------------------------------------------------
-- MOBILE TOGGLE BUTTON
------------------------------------------------------------------------
local isMobile = UIS.TouchEnabled and not UIS.KeyboardEnabled

if isMobile then
    local mobileToggle = Instance.new("TextButton")
    mobileToggle.Size = UDim2.new(0, 50, 0, 50)
    mobileToggle.Position = UDim2.new(0, 10, 0.3, 0)
    mobileToggle.BackgroundColor3 = C.accent
    mobileToggle.BackgroundTransparency = 0.3
    mobileToggle.BorderSizePixel = 0
    mobileToggle.Text = "⚡"
    mobileToggle.TextSize = 24
    mobileToggle.Font = Enum.Font.GothamBold
    mobileToggle.TextColor3 = C.white
    mobileToggle.Parent = gui
    mobileToggle.Draggable = true
    mobileToggle.Active = true
    Instance.new("UICorner", mobileToggle).CornerRadius = UDim.new(0, 25)
    Instance.new("UIStroke", mobileToggle).Color = C.border
    
    mobileToggle.MouseButton1Click:Connect(function()
        menuOpen = not menuOpen
        main.Visible = menuOpen
    end)
end

------------------------------------------------------------------------
-- ESP AUTO-REFRESH
------------------------------------------------------------------------
task.spawn(function()
    while task.wait(3) do
        if State.esp then
            refreshESP()
        end
    end
end)

------------------------------------------------------------------------
-- XRAY AUTO-REFRESH (new parts loaded)
------------------------------------------------------------------------
task.spawn(function()
    while task.wait(5) do
        if State.xray then
            setXray(true)
        end
    end
end)

------------------------------------------------------------------------
-- PRINT INFO
------------------------------------------------------------------------
print("=== CUBE COMBINATION UTILITY v1 ===")
print("  Press RIGHT ALT to toggle menu")
print("  Features: Xray, Inf Jump, ESP, Fullbright, Speed, Noclip, Anti-AFK, AC Nuker, Auto Heal, Fly")
print("  Game: Cube Combination by Izuki")
print("====================================")
INFO