> For the complete documentation index, see [llms.txt](https://cactus-code.gitbook.io/cactus-code-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cactus-code.gitbook.io/cactus-code-docs/documentation/scripts/boss-menu/config_inventory.md).

# Config\_inventory

```lua
-- ================================================================
-- COMPANY INVENTORY CONFIGURATION
-- ================================================================

ConfigInventory = {}

-- ================================================================
-- INVENTORY SYSTEM USED
-- ================================================================
-- Available options:
-- 'vorp_inventory' = VORP Inventory (RedM)
-- 'custom'         = Custom system (see below)
-- 'none'           = Disable company storage
ConfigInventory.System = 'vorp_inventory'

-- ================================================================
-- SLOT PURCHASE SYSTEM
-- ================================================================
ConfigInventory.SlotUpgrade = {
    enabled = true,              -- Enable/disable slot purchase system
    startingSlots = 5,           -- Starting number of slots (free)
    
    -- Slot tier prices (money is deducted from company account)
    -- Format: [number of slots] = { price = amount, gold = true/false }
    -- If gold = true, payment is in gold, otherwise in money ($)
    prices = {
        [10] = { price = 150, gold = true },      -- 10 slots = 150 gold
        [15] = { price = 300, gold = false },     -- 15 slots = 300$
        [20] = { price = 500, gold = false },     -- 20 slots = 500$
        [25] = { price = 750, gold = false },     -- 25 slots = 750$
        [30] = { price = 1000, gold = false },    -- 30 slots = 1000$
        [40] = { price = 1500, gold = false },    -- 40 slots = 1500$
        [50] = { price = 2000, gold = false },    -- 50 slots = 2000$
        [75] = { price = 3500, gold = false },    -- 75 slots = 3500$
        [100] = { price = 5000, gold = false },   -- 100 slots = 5000$
        [150] = { price = 8000, gold = false },   -- 150 slots = 8000$
        [200] = { price = 12000, gold = false },  -- 200 slots = 12000$
        [300] = { price = 20000, gold = false },  -- 300 slots = 20000$
        [500] = { price = 35000, gold = false }   -- 500 slots = 35000$
    }
}




ConfigInventory.RegisterAllStashes = function()
    if ConfigInventory.System == 'none' then
        return
    end
    
    for jobName, jobConfig in pairs(Config.Companies) do
        if jobConfig.storage then
            local settings = jobConfig.storage
            if ConfigInventory.System == 'vorp_inventory' then
                -- VORP Inventory (RedM)
                local inventoryData = {
                    id = settings.id,
                    name = settings.name,
                    limit = settings.limit or 5,
                    acceptWeapons = settings.acceptWeapons ~= nil and settings.acceptWeapons or true,
                    shared = settings.shared ~= nil and settings.shared or true,
                    ignoreItemStackLimit = settings.ignoreItemStackLimit or false,
                    whitelistItems = settings.whitelistItems or false,
                    UsePermissions = settings.UsePermissions or false,
                    UseBlackList = settings.UseBlackList or false,
                    whitelistWeapons = settings.whitelistWeapons or false,
                    webhook = settings.webhook or ''
                }
                
                exports.vorp_inventory:registerInventory(inventoryData)
                DebugPrint(string.format('[Cactus Boss Menu] Coffre enregistré: %s (%s)', settings.name, settings.id))
                
            elseif ConfigInventory.System == 'custom' then
                
                DebugPrint('[Cactus Boss Menu] Système d\'inventaire personnalisé - Ajoutez votre code dans config_inventory.lua')
            end
        end
    end
end
ConfigInventory.OpenStash = function(source, jobName)
    if ConfigInventory.System == 'none' then
        return
    end
    
    local jobConfig = Config.Companies[jobName]
    if not jobConfig or not jobConfig.storage then
        DebugPrint('[Cactus Boss Menu] ERREUR: Pas de configuration de coffre pour le job ' .. jobName)
        return
    end
    
    local settings = jobConfig.storage
    
    if ConfigInventory.System == 'vorp_inventory' then
        exports.vorp_inventory:openInventory(source, settings.id)
        DebugPrint(string.format('[Cactus Boss Menu] Ouverture du coffre %s pour le joueur %d', settings.id, source))
        
    elseif ConfigInventory.System == 'custom' then
        
        DebugPrint('[Cactus Boss Menu] Système d\'inventaire personnalisé - Ajoutez votre code dans config_inventory.lua')
    end
end

ConfigInventory.GetStorageId = function(jobName)
    local jobConfig = Config.Companies[jobName]
    if jobConfig and jobConfig.storage then
        return jobConfig.storage.id
    end
    return nil
end



return ConfigInventory

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cactus-code.gitbook.io/cactus-code-docs/documentation/scripts/boss-menu/config_inventory.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
