Inventory

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
}
RegisterItem

Registers item to the inventory.

Parameters

  • itemName: string

  • cb: Function(source: number, item: {metadata: any})

AddItem

Adds item to the given source's inventory.

Parameters

  • source: number

  • itemName: string

  • count: number

  • metadata?: any

Returns

  • success: boolean

RemoveItem

Removes item to the given source's inventory.

Parameters

  • source: number

  • itemName: string

  • count: number

Returns

  • success: boolean

Last updated