Exports
Inventory
Server

Server

inventory is a player server id, or a stash id when that inventory supports one. Item rows are { name, count, metadata, slot, label }.

ESX default items and chezza have no metadata. A call the selected inventory does not provide logs once and returns nil or false.

GetItemCount

Parameters

  • inventory number|string
  • item string
  • metadata table — optional. Every listed key must match.

Returns

number

Example

local count = Bridge.GetItemCount(source, 'water', { type = 'fresh' })
 
if count < 1 then
    return
end

HasItem

Parameters

  • inventory number|string
  • item string
  • count number — optional. Defaults to 1.
  • metadata table — optional

Returns

boolean

Example

if not Bridge.HasItem(source, 'lockpick', 1) then
    Bridge.Notify(source, { description = 'You need a lockpick', kind = 'error' })
    return
end

AddItem

Parameters

  • inventory number|string
  • item string
  • count number
  • metadata table — optional. Ignored for ESX default items and chezza.

Returns

boolean

Example

local added = Bridge.AddItem(source, 'water', 2, { type = 'fresh' })
 
if added then
    print(Bridge.GetItemCount(source, 'water'))
end

RemoveItem

Fails when the player does not hold enough.

Parameters

  • inventory number|string
  • item string
  • count number
  • metadata table — optional

Returns

boolean

Example

if not Bridge.RemoveItem(source, 'water', 1) then
    return
end

CanCarry

Parameters

  • inventory number|string
  • item string
  • count number
  • metadata table — optional

Returns

boolean

Example

if Bridge.CanCarry(source, 'water', 5) then
    Bridge.AddItem(source, 'water', 5)
end

CanCarryWeight

Parameters

  • inventory number|string
  • weight number

Returns

boolean

Example

if Bridge.CanCarryWeight(source, 1000) then
    Bridge.AddItem(source, 'radio', 1)
end

GetItemLabel

Parameters

  • item string

Returns

string — the label, or the item name when none is stored.

Example

local label = Bridge.GetItemLabel('water')
Bridge.Notify(source, { description = label, kind = 'info' })

GetInventoryItems

Parameters

  • inventory number|string — player id, or a stash id when that inventory supports one

Returns

table — list of { name, count, metadata, slot, label }.

Example

local items = Bridge.GetInventoryItems(source)
 
for i = 1, #items do
    print(items[i].slot, items[i].name, items[i].count)
end

GetSlot

Parameters

  • inventory number|string
  • slot number

Returns

table|nil — { name, count, metadata, slot }.

Example

local item = Bridge.GetSlot(source, 1)
 
if item then
    print(item.name, item.count)
end

GetSlotWithItem

Parameters

  • inventory number|string
  • item string
  • metadata table — optional. ESX default items and chezza have no metadata, so the match is by name.

Returns

table|nil — { name, count, metadata, slot }.

Example

local item = Bridge.GetSlotWithItem(source, 'phone')
 
if item then
    print(item.slot, item.count)
end

GetPlayerWeight

Parameters

  • inventory number|string

Returns

number

Example

local weight = Bridge.GetPlayerWeight(source)
local maxWeight = Bridge.GetPlayerMaxWeight(source)
print(weight, maxWeight)

GetPlayerMaxWeight

Parameters

  • inventory number|string

Returns

number

Example

print(Bridge.GetPlayerMaxWeight(source))

SetMaxWeight

Parameters

  • inventory number|string
  • weight number

Returns

boolean

Example

Bridge.SetMaxWeight(source, 30000)

SetItemMetadata

Parameters

  • inventory number|string
  • slot number
  • metadata table

Returns

boolean — false for ESX default items and chezza, which have no metadata.

Example

Bridge.SetItemMetadata(source, 1, { durability = 50, serial = 'A12' })

SetDurability

Parameters

  • inventory number|string
  • slot number
  • durability number

Returns

boolean

Example

Bridge.SetDurability(source, 1, 100)

ClearInventory

Parameters

  • inventory number|string
  • keep string|string[] — optional item names to leave behind. Inventories that have no keep list clear everything.

Returns

boolean

Example

Bridge.ClearInventory(source, { 'phone', 'id_card' })

RegisterStash

Parameters

  • id string
  • label string
  • slots number
  • maxWeight number
  • owner boolean|string — optional
  • groups table — optional, such as { police = 0 }
  • coords vector3 — optional

Returns

boolean

Example

Bridge.RegisterStash('police_locker', 'Locker', 50, 100000, true, { police = 0 })

ForceOpenInventory

Opens an inventory for a player without the usual distance check.

Parameters

  • playerId number — who sees the inventory
  • kind string — stash, player, glovebox, or trunk
  • data string|number|table — stash id, target server id, or { id, owner, label }

Returns

boolean

Example

Bridge.ForceOpenInventory(source, 'stash', 'society_police')
Bridge.ForceOpenInventory(source, 'player', target)

CloseInventory

Closes the inventory UI for that player.

Parameters

  • playerId number

Returns

boolean

Example

Bridge.CloseInventory(source)

RegisterUsableItem

The handler runs on the server when the player uses the item. It only fires for items that inventory already treats as usable.

Parameters

  • item string
  • handler function — handler(source, item) where item is { name, count, metadata, slot }

Returns

boolean

Example

Bridge.RegisterUsableItem('radio', function(playerId, item)
    print(playerId, item.name, item.slot)
end)
Join Our Discord