Skip to main content
If you’re using supported inventory you dont have to make any changes in this section.
You can override inventory actions from no-base/configure/server/inventory.lua

Examples


This is an example of how we handle qb-inventory. Since we support qb-inventory internally you don’t need to make any changes if you use qb-inventory.
local core = exports["qb-core"]:GetCoreObject()
local GetPlayer = core.Functions.GetPlayer
local RegisterItem = core.Functions.CreateUseableItem
core = nil
Config.Inventory = {
    RegisterItem = function(itemName, cb)
        RegisterItem(itemName, function(source, item)
            item.metadata, item.info = item.info or item.metadata, nil
            cb(source, item)
        end)
    end,
    AddItem = function(source, itemName, count, metadata)
        local player = GetPlayer(source)
        if not player then return false end
        return player.Functions.AddItem(itemName, count, false, metadata)
    end,
    RemoveItem = function(source, itemName, count)
        local player = GetPlayer(source)
        if not player then return false end
        return player.Functions.RemoveItem(itemName, count)
    end
}
Registers item to the inventory.

Parameters

  • itemName: string
  • cb: Function(source: number, item: {metadata: any})
Adds item to the given source’s inventory.

Parameters

  • source: number
  • itemName: string
  • count: number
  • metadata?: any

Returns

  • success: boolean
Removes item to the given source’s inventory.

Parameters

  • source: number
  • itemName: string
  • count: number

Returns

  • success: boolean