Client
Here there are built-in exports of jaksam's inventory that can be used client-side
getTotalItemAmount
Gets the total amount of a specific item in the player's inventory
exports['jaksam_inventory']:getTotalItemAmount(itemName, metadata)Parameters
itemName: stringThe name of the item to count
metadata: table (optional)Metadata to match against when counting (if provided, only items with the same metadata AND name will be counted)
Returns
totalAmount: numberTotal amount of the item in the player's inventory
Example
-- Get total amount of bread
local breadCount = exports['jaksam_inventory']:getTotalItemAmount('bread')
-- Get amount of specific weapon by serial
local weaponCount = exports['jaksam_inventory']:getTotalItemAmount('weapon_pistol', {
serial = "ABC123"
})openInventory
Opens an inventory alongside the player's inventory
exports['jaksam_inventory']:openInventory(inventoryId)Parameters
inventoryId: stringThe ID of the inventory to open
Returns
None - Opens the inventory UI if successful
Example
-- Open a stash inventory
exports['jaksam_inventory']:openInventory('police_stash_1')
-- Open a trunk inventory
exports['jaksam_inventory']:openInventory('car_trunk_123')getInventory
Gets the player's self inventory
exports['jaksam_inventory']:getInventory()Parameters
None
Returns
inventory: tableThe player's self inventory
Example
-- Get the player's self inventory
local inventory = exports['jaksam_inventory']:getInventory()
print(json.encode(inventory, {indent = true}))
--[[
{
"id": "SIV35463",
"limits": {
"maxSlots": 20,
"maxWeight": 30
},
"items": {
"SLOT-3": {
"name": "money",
"amount": 4402
},
"SLOT-1": {
"name": "weapon_advancedrifle",
"metadata": {
"serial": "TSK-24895-LFN"
},
"amount": 1
},
},
"label": "Inventory",
"totalWeight": 21.0,
}
]]getItemByName
Returns the first item found in the player's self inventory by name (order not guaranteed)
exports['jaksam_inventory']:getItemByName(itemName)Parameters
None
Returns
item: tableThe item found in the player's self inventory
slotId: numberThe slot ID of the item in the player's self inventory
Example
-- Get the first item by name
local item, slotId = exports['jaksam_inventory']:getItemByName('weapon_advancedrifle')
print(json.encode(item, {indent = true}), "SLOT ID: " .. slotId)
--[[
{
"name": "weapon_advancedrifle",
"metadata": {
"serial": "TSK-24895-LFN"
},
"amount": 1
}
SLOT ID: 1getItemFromSlot
Gets an item from a specific slot in the player's inventory
exports['jaksam_inventory']:getItemFromSlot(slotId)Parameters
slotId: numberThe slot number to get the item from (in the player's inventory)
Returns
item: table | nilThe item in the slot, or nil if the slot is empty
Item structure:
{ name = string, -- Item name amount = number, -- Item amount metadata = table -- Item metadata }
Example
-- Get item from player's slot 5
local item = exports['jaksam_inventory']:getItemFromSlot(5)
if item then
print('Item name:', item.name)
print('Amount:', item.amount)
if item.metadata then
print('Metadata:', json.encode(item.metadata))
end
else
print('Slot 5 is empty')
end
-- Check if a specific slot has a weapon
local slotItem = exports['jaksam_inventory']:getItemFromSlot(1)
if slotItem then
local staticItem = exports['jaksam_inventory']:getStaticItem(slotItem.name)
if staticItem and staticItem.type == 'weapon' then
print('Found weapon in slot 1:', slotItem.name)
end
endshowHotbar
Shows the hotbar UI with the first 5 slots of the player's inventory
exports['jaksam_inventory']:showHotbar()Parameters
None
Returns
None - Shows the hotbar UI which automatically hides after 2 seconds
Example
-- Show hotbar
exports['jaksam_inventory']:showHotbar()
-- Show hotbar after receiving an item
AddEventHandler('myScript:itemReceived', function()
exports['jaksam_inventory']:showHotbar()
end)Notes:
The hotbar shows slots 1-5 from the player's inventory
If
config.dynamicHotbaris true, empty slots at the end are hiddenThe hotbar automatically hides after 2 seconds
Multiple calls reset the hide timer
dequipWeapon
Deequips the currently equipped weapon
exports['jaksam_inventory']:dequipWeapon(skipSync)Parameters
skipSync: boolean (optional)If true, the weapon will be deequipped without syncing the ammo to the server
Returns
None - Deequips the currently equipped weapon
Example
-- Deequip weapon
exports['jaksam_inventory']:dequipWeapon()
-- Deequip weapon without syncing the ammo to the server
exports['jaksam_inventory']:dequipWeapon(true)Last updated
Was this helpful?