Server

You don't need to change functions like AddItem, RemoveItem, GetItemByName or etc in your other scripts, you can use qb's and esx's functions

LoadInventory

exports["tgiann-inventory"]:LoadInventory(src)

Return :

valuetype

items

table

Parameters :

NameTypeDescription

src

int

Player source id

Example

PlayerData.items = exports["tgiann-inventory"]:LoadInventory(source)

SaveInventory

exports["tgiann-inventory"]:SaveInventory(src)

Parameters :

NameTypeDescription

src

int

Player source id


SetInventory

exports["tgiann-inventory"]:SetInventory(src, items)

Parameters :

NameTypeDescription

src

int

Player source id

items

table

Player New Items


GetItemList

exports["tgiann-inventory"]:GetItemList()

Return :

valuetype

Item list

table

Example

local allItems = exports["tgiann-inventory"]:GetItemList()

GetItemLabel

exports["tgiann-inventory"]:GetItemLabel(item)

Return :

valuetype

İtem label

string

Parameters :

NameTypeDescription

item

string

Item spawn name

Example

local label = exports["tgiann-inventory"]:GetItemLabel("bandage")

GetPlayerItems

exports["tgiann-inventory"]:GetPlayerItems(src)

Return :

valuetype

player items

table

Parameters :

NameTypeDescription

src*

int

Player Source

Example

local src = source
local playerItems = exports["tgiann-inventory"]:GetPlayerItems(src)

GetPlayerClotheItems

exports["tgiann-inventory"]:GetPlayerClotheItems(src)

Return :

valuetype

Player clothe items

table

Parameters :

NameTypeDescription

src*

int

Player Source

Example

local src = source
local playerClotheItems = exports["tgiann-inventory"]:GetPlayerClotheItems(src)

GetTotalWeight

exports["tgiann-inventory"]:GetTotalWeight(items)

Return :

valuetype

weight

int

Parameters :

NameTypeDescription

items*

table

İtem list with amount

Example

local items = {
    ["1"] = { item = "bandage", amount = 5},
    ["4"] = { item = "arrow", amount = 2},
}
local weight = exports["tgiann-inventory"]:GetTotalWeight(items)
return weight < 10

GetFreeWeight

exports["tgiann-inventory"]:GetFreeWeight(src)

Return :

valuetype

Free weight

int

Parameters :

NameTypeDescription

src

int

Player source id

Example

local freeWeight = exports["tgiann-inventory"]:GetFreeWeight(src)
return freeWeight > 0

GetSlotsByItem

A table containing the slots where the item was found.

exports["tgiann-inventory"]:GetSlotsByItem(items, item)

Return :

valuetype

slotsByItems

table

Parameters :

NameTypeDescription

items

table

Table The table containing the items.

itemName

string

string The name of the item to search for.


GetFirstSlotByItem

The slot number of the first matching item, or nil if no match is found.

exports["tgiann-inventory"]:GetFirstSlotByItem(items, itemName)

Return :

valuetype

SlotNumber

int or nil

Parameters :

NameTypeDescription

items

table

The table of items to search through.

itemName

string

The name of the item to search for.


AddItem

exports["tgiann-inventory"]:AddItem(source, item, amount, slot, metadata, isClotheSlot)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

source*

table

Player source

item*

string

item spawn name

amount*

int

the amount of item to add

slot

int

slot number

metadata

table

metadata of the item modify

isClotheSlot

boolen

adds item to clothe slots

Example

local src = source
local metadata = {
    level = 2
}
local success = exports["tgiann-inventory"]:AddItem(src, "bandage", 2, nil, metadata, false)
if success then
    print("item added")
end

RemoveItem

exports["tgiann-inventory"]:RemoveItem(source, item, amount, slot, metadata)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

source*

table

Player source

item*

string

item spawn name

amount*

int

the amount of item to add

slot

iny

slot number

metadata

table

item metadata value

Example

local src = source
local itemData = exports["tgiann-inventory"]:GetItemByName(src, "bandage")
if itemData.amount > 0 then
    local success = exports["tgiann-inventory"]:RemoveItem(src, "bandage", 1, itemData.key)
    if success then
        print("item added")
    end
end

CloseInventory

CloseInventory function closes the player inventory

exports["tgiann-inventory"]:CloseInventory(source)
NameTypeDescription

source

int

Player source

CanCarryItem / CanAddItem

exports["tgiann-inventory"]:CanCarryItem(source, item, amount)
exports["tgiann-inventory"]:CanAddItem(source, item, amount)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

source

int

Player source

item*

string

item spawn name

amount*

int

the amount of item to check

Example

local src = source
local canCarry = exports["tgiann-inventory"]:CanCarryItem(src, "bandage", 100)
if canCarry then
    exports["tgiann-inventory"]:AddItem(src, "bandage", 100)
end

CanCarryItems

exports["tgiann-inventory"]:CanCarryItems(source, items)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

source

int

Player source

items*

table

items table

amount*

int

the amount of item to check

Example

local src = source
local items = {
    {name = "bandage", amount = "3"}, 
    {name = "gold", amount = "1"}, 
}
local canCarry = exports["tgiann-inventory"]:CanCarryItems(src, items)
if canCarry then
    for i=1, #items do
        exports["tgiann-inventory"]:AddItem(src, items[i].name, items[i].amount)
    end
end

ClearInventory

exports["tgiann-inventory"]:ClearInventory(source)
NameTypeDescription

source

int

Player source


GetItemByName

exports["tgiann-inventory"]:GetItemByName(source, item, metadata)

Return :

valuetype

Player Item

table

Parameters :

NameTypeDescription

source

int

Player source

item

string

Item spawn name

metadata

table

Item metadata value

Example

local src = source
local itemData = exports["tgiann-inventory"]:GetItemByName(src, "bandage")
if itemData.amount > 0 then
    exports["tgiann-inventory"]:RemoveItem(src, "bandage", itemData.amount)
end

GetItemsByName

exports["tgiann-inventory"]:GetItemsByName(source, name, metadata)

Return :

valuetype

Player Items

Table

Parameters :

NameTypeDescription

source

int

Player source

name

string

Item name

metadata

table

Item metadata value

Example

local src = source
local items = exports["tgiann-inventory"]:GetItemsByName(src, "bandage")
for i=1, #items do
    local itemData = items[i]
    exports["tgiann-inventory"]:RemoveItem(src, itemData.name, itemData.amount)
end

GetItemBySlot

exports["tgiann-inventory"]:GetItemBySlot(source, slot, metadata)

Return :

valuetype

Player Items

Table

Parameters :

NameTypeDescription

source

int

Player source

slot

int

Slot number

metadata

table

Item metadata value

Example

local src = source
local slot = 1
local itemData = exports["tgiann-inventory"]:GetItemBySlot(src, slot)
if itemData.amount > 0 then
    exports["tgiann-inventory"]:RemoveItem(src, itemData.name, itemData.amount)
end

GetItemCount

The total count of the specified items.

exports["tgiann-inventory"]:GetItemCount(source, items)

Return :

valuetypeDescription

count

int | nil

The total count of the specified items.

Parameters :

NameTypeDescription

source

int

The player's source ID.

items

table | string

The items to count. Can be either a table of item names or a single item name.

HasItem

exports["tgiann-inventory"]:HasItem(src, items, amount)

Return :

valuetype

Player has the item

boolen

Parameters :

NameTypeDescription

src*

int

Player source

items*

table or string

The items to check, either a string, array of strings or a key-value table of a string and number with the string representing the name of the item and the number representing the amount

amount

int

The amount of the item to check for, this will only have effect when items is a string or an array of strings

Example

local src = source
local has1 = exports["tgiann-inventory"]:HasItem(src, "bandage", 2)
local has2 = exports["tgiann-inventory"]:HasItem(src, {"bandage", "armor"}, 2)

RepairWeapon

exports["tgiann-inventory"]:RepairWeapon(src, slot, value)

Return :

valuetype

Is success

boolen

Parameters :

NameTypeDescription

src*

int

Player source

slot*

int

Slot number

value

int

Repair values. Mix: 0, Max 100

Example

local src = source
local playerItems = exports["tgiann-inventory"]:GetPlayerItems(src)
for slot, itemData in pairs(playerItems) do
    if item.name == "weapon_pistol" then
        exports["tgiann-inventory"]:RepairWeapon(src, slot, 100)
    end
end

CreateCustomStashWithItem

Custom creates stash inventory

exports["tgiann-inventory"]:CreateCustomStashWithItem(stashUniqId, items)

Return :

valuetype

stashUniqId

string

items

item list

Parameters :

NameTypeDescription

stashUniqId

string

Stash name

items

table

item list

Example

--Server
local items = {
    {
        name = "bandage"
        amount = 2,
    },
    {
        name = "waeapon_pistol"
        amount = 2,
        info = {
            ammo = 500
        }
    },
}
exports["tgiann-inventory"]:CreateCustomStashWithItem("airdrop_1", items)

--Client
TriggerServerEvent("tgiann-inventory:server:OpenInventory", "stash", "airdrop_1")

GetItemByNameFromSecondInventory

Returns the data of the item in the stash

exports["tgiann-inventory"]:GetItemByNameFromSecondInventory(invType, invName, item)

Return :

valuetype

Items

table

Parameters :

NameTypeDescription

invType

string

stash, trunk or glovebox

invName

string

Inventory name, id or plate

item

string

Item spawn name

Example

local src = source
local itemData = exports["tgiann-inventory"]:GetItemByNameFromSecondInventory("stash", "airdrop_01", "bandage")
return itemData.amount > 0

RemoveItemFromSecondInventory

Delete items from stash

exports["tgiann-inventory"]:RemoveItemFromSecondInventory(invType, invName, item, amount, slot)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

invType

string

stash, trunk or glovebox

invName

string

Inventory name, id or plate

item

string

item spawn name

amount

int

the amount of item to add

slot

int

Slot number

Example

local src = source
local stashId = "airdrop_01"
local itemData = exports["tgiann-inventory"]:GetItemByNameFromSecondInventory("stash", stashId, "bandage")
if itemData.amount > 0 then
    local success = exports["tgiann-inventory"]:RemoveItemFromSecondInventory("stash", stashId, "bandage", 1, itemData.slot)
    if success then
        print("item removed")
    end
end

AddItemFromSecondInventory

Add items from stash

exports["tgiann-inventory"]:AddItemFromSecondInventory(invType, invName, item, amount, slot)

Return :

valuetype

success

boolen

Parameters :

NameTypeDescription

invType

string

stash, trunk or glovebox

invName

string

Inventory name, id or plate

item

string

item spawn name

amount

int

the amount of item to add

slot

int

Slot number

Example

local src = source
local stashId = "airdrop_01"
local success = exports["tgiann-inventory"]:AddItemFromSecondInventory("stash", stashId, "bandage", 1)
if success then
    print("item added")
end

UpdateItemMetadata / SetItemData

Updates the item's info data

exports["tgiann-inventory"]:UpdateItemMetadata(src, item, slot, metadata)
exports["tgiann-inventory"]:SetItemData(src, item, slot, metadata)

Return : None

Parameters :

NameTypeDescription

src*

string

Stash uniq name

item*

string

item spawn name

slot*

string

Slot number

metadata*

table

Item new metadata

Example

local src = source
local itemData = exports["tgiann-inventory"]:GetItemByName(src, "weapon_pistol")
local newMetadata = {
    ammo = 200
}
exports["tgiann-inventory"]:UpdateItemMetadata(src, "weapon_pistol", itemData.slot, newMetadata)

DeleteInventory

deletes all data of the inventory

exports["tgiann-inventory"]:DeleteInventory(invType, invId)

Return : None

Parameters :

NameTypeDescription

invType*

string

trunk, glovebox, stash

invId*

string

Inventory uniq name or plate

Example

exports["tgiann-inventory"]:DeleteInventory("stash", "airdrop_01")
exports["tgiann-inventory"]:DeleteInventory("glovebox", "TL001TL")

GiveClotheItem

exports["tgiann-inventory"]:GiveClotheItem(src, model, itemName, data, isClotheSlot)

Return : None

Parameters :

NameTypeDescription

src*

int

Player source

model*

int

Player model (joaat("mp_f_freemode_01") or joaat("mp_m_freemode_01") )

itemName*

string

Clothe items

data*

table

Clothes data

isClotheSlot

bool

Add the item to the clothing slot

Example

local src = source
local model = joaat("mp_f_freemode_01")

--[[
    0: Helmet - Hat (c_helmet) (Prop)
    1: Mask (c_mask)
    1: Glasses (c_glasses) (Prop)
    2: Ear (c_ear) (Prop)
    4: Pants (c_pants)
    5: Bag (c_bag)
    6: Shoes (c_shoes)
    6: Watch (c_watch) (Prop)
    7: Chain (c_necklace)
    7: Bracelets (c_bracelet) (Prop)
    9: Kevlar (c_bproof)
    10: Decals (c_decal)
    
    3: Arms (c_torso)        
    8: Tshirt (c_torso)
    11: Torso (c_torso)
]]--

exports["tgiann-inventory"]:GiveClotheItem(src, model, "c_shoes", {
    ["6"] = { --shoes
        Prop = 26,
        Texture = 0
    }
}, false)

exports["tgiann-inventory"]:GiveClotheItem(src, model, "c_torso", {
    ["3"] = { --arms
        Prop = 3,
        Texture = 0
    },
    ["8"] = { --Tshirt
        Prop = 14,
        Texture = 0
    },
    ["11"] = { --Torso
        Prop = 60,
        Texture = 0
    }
}, false)

exports["tgiann-inventory"]:GiveClotheItem(src, model, "c_pants", {
    ["4"] = { --pants
        Prop = 39,
        Texture = 0
    },
}, false)

RegisterShop

exports["tgiann-inventory"]:RegisterShop(shopName, items)

Return : None

Parameters :

NameTypeDescription

shopName*

string

Uniq shop name

items*

table

item list

Example

local items = {
    { name = 'beer',    price = 7,  amount = 50, type = 'item' },
    { name = 'whiskey', price = 10, amount = 50, type = 'item' },
    { name = 'vodka',   price = 12, amount = 50, type = 'item' },
}
exports["tgiann-inventory"]:RegisterShop("policeshop2", items)

RegisterCraft

exports["tgiann-inventory"]:RegisterCraft(category, label, items)

Return : None

Parameters :

NameTypeDescription

category*

string

Uniq crafting category

label*

string

Crafting menu label

items*

table

item list

Example

local items = {
    { name = 'beer',    price = 7,  amount = 50, type = 'item' },
    { name = 'whiskey', price = 10, amount = 50, type = 'item' },
    { name = 'vodka',   price = 12, amount = 50, type = 'item' },
}
exports["tgiann-inventory"]:RegisterCraft("policecraft", "Fake Police Crafting", items)

RegisterJobCraft

exports["tgiann-inventory"]:RegisterJobCraft(jobName, label, items)

Return : None

Parameters :

NameTypeDescription

jobName*

string

Job name

label*

string

Crafting menu label

items*

table

item list

Example

local items = {
    { name = 'beer',    price = 7,  amount = 50, type = 'item' },
    { name = 'whiskey', price = 10, amount = 50, type = 'item' },
    { name = 'vodka',   price = 12, amount = 50, type = 'item' },
}
exports["tgiann-inventory"]:RegisterJobCraft("police", "Fake Police Crafting", items)

OpenInventoryById

Opens the inventory of a player by their ID

exports["tgiann-inventory"]:OpenInventoryById(src, targetSrc)

Parameters :

NameTypeDescription

src

int

The player's server ID.

targetSrc

int

The ID of the player whose inventory will be opened.


OpenShop

exports["tgiann-inventory"]:OpenShop(src, shopName)

Parameters :

NameTypeDescription

src

int

The player's server ID.

shopName

string

The name of the shop to open.


s

Last updated