e
This commit is contained in:
parent
702bab121c
commit
9aa690dfc4
37 changed files with 0 additions and 0 deletions
|
|
@ -0,0 +1,23 @@
|
|||
if GetResourceState('codem-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'codem-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://codem-inventory/html/images/%s.png"
|
||||
end
|
||||
|
||||
function Core.Inventory.OpenStash(id)
|
||||
-- does not exist in codem-inventory
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local items = exports['codem-inventory']:GetItemList()
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
if GetResourceState('codem-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'codem-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return exports['codem-inventory']:AddItem(src, item, count, nil, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
if metadata ~= nil then
|
||||
local items = exports['codem-inventory']:GetInventory(nil, src)
|
||||
for _, pItem in pairs(items) do
|
||||
if pItem.name == item.name and lib.table.matches(item.info, metadata) then
|
||||
return exports['codem-inventory']:RemoveItem(src, pItem.name, count, pItem.slot)
|
||||
end
|
||||
end
|
||||
end
|
||||
return exports['codem-inventory']:RemoveItem(src, item, count, nil)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
local items = exports['codem-inventory']:GetInventory(nil, src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item and metadata == nil then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
elseif itemInfo.name == item and metadata ~= nil then
|
||||
if itemInfo.info == metadata then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
if metadata == nil then
|
||||
return exports['codem-inventory']:GetItemsTotalAmount(src, item)
|
||||
else
|
||||
local items = exports['codem-inventory']:GetInventory(nil, src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item and itemInfo.info == metadata then
|
||||
return itemInfo.amount
|
||||
end
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
local items = exports['codem-inventory']:GetInventory(nil, src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
end
|
||||
return items
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
return true -- codem-inventory is another one that doesnt have a canCarry export.... do better.
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
-- could not find any exports in this for the docs... thank god I dont use it. May just remove stash shit.
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local items = exports['codem-inventory']:GetItemList()
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
exports['codem-inventory']:SetItemMetadata(src, slot, metadata)
|
||||
end
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
if GetResourceState('origen_inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'origen_inventory'
|
||||
local origen_inventory = exports.origen_inventory
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://origen_inventory/html/images/%s.png"
|
||||
end
|
||||
|
||||
---@param id number
|
||||
function Core.Inventory.OpenStash(id)
|
||||
-- cant find anything for this in the origen_inventory documentation... PR if you know something I dont.
|
||||
end
|
||||
|
||||
---@param item string
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local items = origen_inventory:GetItems()
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
if GetResourceState('origen_inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'origen_inventory'
|
||||
local origen_inventory = exports.origen_inventory
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return origen_inventory:AddItem(src, item, count, nil, nil, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return origen_inventory:RemoveItem(src, item, count, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
local items = origen_inventory:GetInventory(src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item and metadata == nil then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
elseif itemInfo.name == item and metadata ~= nil then
|
||||
if itemInfo.info == metadata then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
if metadata == nil then
|
||||
return origen_inventory:GetItemTotalAmount(src, item)
|
||||
else
|
||||
local items = origen_inventory:GetInventory(src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item and itemInfo.info == metadata then
|
||||
return itemInfo.amount
|
||||
end
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
local items = origen_inventory:GetInventory(src)
|
||||
for _, itemInfo in pairs(items) do
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
end
|
||||
return items
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
local src = src or source
|
||||
return origen_inventory:CanCarryItems(src, item, count)
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
-- I dont use stash systems, I am probably just gonna end up removing the functions for it.
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local items = origen_inventory:GetItems()
|
||||
for _, itemInfo in pairs(items) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
origen_inventory:SetItemMetadata(src, item, slot, metadata)
|
||||
end
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
if GetResourceState('ox_inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'ox_inventory'
|
||||
local ox_inventory = exports.ox_inventory
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://ox_inventory/web/images/%s.png"
|
||||
end
|
||||
|
||||
function Core.Inventory.OpenStash(id)
|
||||
ox_inventory:openInventory('stash', id)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
return ox_inventory:Items(item)
|
||||
end
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
if GetResourceState('ox_inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'ox_inventory'
|
||||
local ox_inventory = exports.ox_inventory
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return ox_inventory:AddItem(src, item, count, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return ox_inventory:RemoveItem(src, item, count, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
return ox_inventory:GetItem(src, item, metadata, false)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
return ox_inventory:GetItemCount(src, item, metadata, false)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
return ox_inventory:GetInventoryItems(src, false)
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
local src = src or source
|
||||
return ox_inventory:CanCarryItem(src, item, count)
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
return ox_inventory:RegisterStash(id, label, slots, weight, owner)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
return ox_inventory:Items(item)
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
ox_inventory:SetMetadata(src, slot, metadata)
|
||||
end
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
if GetResourceState('qb-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'qb-inventory'
|
||||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://qb-inventory/html/images/%s.png"
|
||||
end
|
||||
|
||||
function Core.Inventory.OpenStash(id)
|
||||
TriggerEvent("inventory:client:SetCurrentStash", id)
|
||||
TriggerServerEvent("inventory:server:OpenInventory", "stash", id, {
|
||||
maxweight = 50000,
|
||||
slots = 50,
|
||||
})
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
return QBCore.Shared.Items[item]
|
||||
end
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
if GetResourceState('qb-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'qb-inventory'
|
||||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
local added = exports['qb-inventory']:AddItem(src, item, count, nil, metadata)
|
||||
if not added then return added end
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[item], 'add', count)
|
||||
return added
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
if metadata ~= nil then
|
||||
local playerInv = QBCore.Functions.GetPlayer(src).PlayerData.items
|
||||
if not playerInv then return end
|
||||
for _, pItem in pairs(playerInv) do
|
||||
if pItem.name == item.name and lib.table.matches(item.info, metadata) then
|
||||
local removed = exports['qb-inventory']:RemoveItem(src, pItem.name, count, pItem.slot)
|
||||
if not removed then return removed end
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[pItem.name], 'remove', count)
|
||||
return removed
|
||||
end
|
||||
end
|
||||
end
|
||||
local removed = exports['qb-inventory']:RemoveItem(src, item, count, nil)
|
||||
if not removed then return removed end
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[item], 'remove', count)
|
||||
return removed
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
local playerItems = QBCore.Functions.GetPlayer(src).PlayerData.items
|
||||
if not playerItems then return end
|
||||
for _, itemInfo in pairs(playerItems) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
local totalItems = exports['qb-inventory']:GetItemsByName(src, item)
|
||||
return totalItems[1].amount or 0
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
local playerItems = QBCore.Functions.GetPlayer(src).PlayerData.items
|
||||
if not playerItems then return end
|
||||
for _, item in pairs(playerItems) do
|
||||
item.count = item.amount
|
||||
item.metadata = item.info
|
||||
item.stack = item.unique
|
||||
end
|
||||
return playerItems
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
return true -- this framework is garbage, doesn't have a check in v1 inv, so we just return true
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
-- v1 handles client, idk about v2.. so we just leave this alone
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local itemInfo = QBCore.Shared.Items[item]
|
||||
itemInfo.count = item.amount
|
||||
itemInfo.metadata = item.info
|
||||
itemInfo.stack = item.unique
|
||||
return itemInfo
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
local removed = exports['qb-inventory']:RemoveItem(src, item, 1, slot)
|
||||
if not removed then return end
|
||||
exports['qb-inventory']:AddItem(src, item, 1, nil, metadata)
|
||||
end
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
if GetResourceState('qs-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'qs-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://qs-inventory/html/images/%s.png"
|
||||
end
|
||||
|
||||
function Core.Inventory.OpenStash(id)
|
||||
exports['qs-inventory']:RegisterStash(id, 50, 50000)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local itemsLua = exports['qs-inventory']:GetItemList()
|
||||
if not itemsLua[item] then return end
|
||||
return itemsLua[item]
|
||||
end
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
if GetResourceState('qs-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'qs-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
return exports['qs-inventory']:AddItem(src, item, count, nil, metadata)
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
if metadata ~= nil then
|
||||
local playerInv = exports['qs-inventory']:GetInventory(src)
|
||||
if not playerInv then return end
|
||||
for _, pItem in pairs(playerInv) do
|
||||
if pItem.name == item.name and lib.table.matches(pItem.info, metadata) then
|
||||
return exports['qs-inventory']:RemoveItem(src, pItem.name, count, pItem.slot)
|
||||
end
|
||||
end
|
||||
end
|
||||
return exports['qs-inventory']:RemoveItem(src, item, count, nil)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
local playerItems = exports['qs-inventory']:GetInventory(src)
|
||||
for _, itemInfo in pairs(playerItems) do
|
||||
if itemInfo.name == item then
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
return exports['qs-inventory']:GetItemTotalAmount(src, item)
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
local playerItems = exports['qs-inventory']:GetInventory(src)
|
||||
for _, item in pairs(playerItems) do
|
||||
item.count = item.amount
|
||||
item.metadata = item.info
|
||||
item.stack = not item.unique
|
||||
end
|
||||
return playerItems
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
local src = src or source
|
||||
return exports['qs-inventory']:CanCarryItem(src, item, count)
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
-- qs-inventory handles all the stash stuff client side, so we don't need to do anything here
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local itemInfo = exports['qs-inventory']:GetItemList()[item]
|
||||
if not itemInfo then return end
|
||||
itemInfo.count = itemInfo.amount
|
||||
itemInfo.metadata = itemInfo.info
|
||||
itemInfo.stack = not itemInfo.unique
|
||||
return itemInfo
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
exports['qs-inventory']:SetItemMetadata(src, slot, metadata)
|
||||
end
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
if GetResourceState('tgiann-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'tgiann-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.ImgPath()
|
||||
return "nui://inventory_images/html/images/%s.webp"
|
||||
end
|
||||
|
||||
function Core.Inventory.OpenStash(id)
|
||||
-- open stash export... not sure what it is yet.
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local itemsList = exports['tgiann-inventory']:GetItemList()
|
||||
for _, itemData in pairs(itemsList) do
|
||||
if itemData.name == item then
|
||||
return itemData
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
if GetResourceState('tgiann-inventory') ~= 'started' then return end
|
||||
|
||||
Core.Info.Inventory = 'tgiann-inventory'
|
||||
|
||||
Core.Inventory = {}
|
||||
|
||||
function Core.Inventory.AddItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
local action = exports['tgiann-inventory']:AddItem(src, item, count, metadata)
|
||||
return (action.itemAddRemoveLog == 'added')
|
||||
end
|
||||
|
||||
function Core.Inventory.RemoveItem(src, item, count, metadata)
|
||||
local src = src or source
|
||||
local action = exports['tgiann-inventory']:RemoveItem(src, item, count, nil, metadata)
|
||||
return action
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItem(src, item, metadata)
|
||||
local src = src or source
|
||||
local item = exports['tgiann-inventory']:GetItemByName(src, item, metadata)
|
||||
item.count = item.amount
|
||||
item.metadata = item.info
|
||||
return item
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemCount(src, item, metadata)
|
||||
local src = src or source
|
||||
local item = exports['tgiann-inventory']:GetItemByName(src, item, metadata)
|
||||
return item.amount or 0
|
||||
end
|
||||
|
||||
function Core.Inventory.GetInventoryItems(src)
|
||||
local src = src or source
|
||||
return exports['tgiann-inventory']:GetPlayerItems(src)
|
||||
end
|
||||
|
||||
function Core.Inventory.CanCarryItem(src, item, count)
|
||||
local src = src or source
|
||||
return exports["tgiann-inventory"]:CanCarryItem(src, item, count)
|
||||
end
|
||||
|
||||
function Core.Inventory.RegisterStash(id, label, slots, weight, owner)
|
||||
exports["tgiann-inventory"]:CreateCustomStashWithItem(id, {})
|
||||
end
|
||||
|
||||
function Core.Inventory.GetItemInfo(item)
|
||||
local itemsList = exports['tgiann-inventory']:GetItemList()
|
||||
for _, itemData in pairs(itemsList) do
|
||||
if itemData.name == item then
|
||||
return itemData
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Inventory.SetMetadata(src, item, slot, metadata)
|
||||
local src = src or source
|
||||
exports["tgiann-inventory"]:UpdateItemMetadata(src, item, slot, metadata)
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue