ESX.Modules['addoninventory'] = {} local self = ESX.Modules['addoninventory'] self.Ready = false self.Items = {} self.InventoriesIndex = {} self.Inventories = {} self.SharedInventories = {} self.GetInventory = function(name, owner) for i=1, #self.Inventories[name], 1 do if self.Inventories[name][i].owner == owner then return self.Inventories[name][i] end end end self.GetSharedInventory = function(name) return self.SharedInventories[name] end self.CreateAddonInventory = function(name, owner, items) local self = {} self.name = name self.owner = owner self.items = items self.addItem = function(name, count) local item = self.getItem(name) item.count = item.count + count self.saveItem(name, item.count) end self.removeItem = function(name, count) local item = self.getItem(name) item.count = item.count - count self.saveItem(name, item.count) end self.setItem = function(name, count) local item = self.getItem(name) item.count = count self.saveItem(name, item.count) end self.getItem = function(name) for i=1, #self.items, 1 do if self.items[i].name == name then return self.items[i] end end item = { name = name, count = 0, label = Items[name] } table.insert(self.items, item) if self.owner == nil then MySQL.Async.execute('INSERT INTO addon_inventory_items (inventory_name, name, count) VALUES (@inventory_name, @item_name, @count)', { ['@inventory_name'] = self.name, ['@item_name'] = name, ['@count'] = 0 }) else MySQL.Async.execute('INSERT INTO addon_inventory_items (inventory_name, name, count, owner) VALUES (@inventory_name, @item_name, @count, @owner)', { ['@inventory_name'] = self.name, ['@item_name'] = name, ['@count'] = 0, ['@owner'] = self.owner }) end return item end self.saveItem = function(name, count) if self.owner == nil then MySQL.Async.execute('UPDATE addon_inventory_items SET count = @count WHERE inventory_name = @inventory_name AND name = @item_name', { ['@inventory_name'] = self.name, ['@item_name'] = name, ['@count'] = count }) else MySQL.Async.execute('UPDATE addon_inventory_items SET count = @count WHERE inventory_name = @inventory_name AND name = @item_name AND owner = @owner', { ['@inventory_name'] = self.name, ['@item_name'] = name, ['@count'] = count, ['@owner'] = self.owner }) end end return self end