Inventaire société reste a zéro


#1

● Machine locale
● Framework utilisé (ES/ESX/…)
●esx_inventory ? Aucune idée car aucune erreur

● Quand est-ce que l’erreur apparaît ? Quand je stock un item dans l’inventaire de la société

Bonjour, voilà je rencontre une nouvelle fois un soucis à croire que dès que j’en résout un, un autre apparaît :slight_smile:

Voilà en faire quand je pose un item dans l’inventaire de la société il ce met bien dedans, le soucis c’est que quand je le retire il reste dedans mais en nombre zéro, exemple :

Je pose un kit de réparation dans l’inventaire du mécano celà donne :

-Inventaire Mécano-
Kit de réparation X1

Et quand je le retire c’est mis comme ci-dessous :

-Inventaire mécano-
Kit de réparation X0

Je n’ai aucune erreur dans la console serveur et ingame, avez-vous une idée du soucis car il y a deux jours que j’essaie de trouver mais rien n’y fait.

Merci d’avance


#2

Bonjour. Ce n’est pas une erreur :rofl:

Il garde en BDD comme quoi il y a déjà eu un item de ce nom dans l’inventaire.
C’est esx_addoninventory qui gère ça.


#3

bonjour

en effet ce n’est pas une erreur. a toi de mettre une condition d affichage, si zero, n affiche pas.


#4

Bonsoir, merci pour vos réponse, entre temps j’ai eu l’idée de re télécharger esx_addoninventory, j’ai comparer les deux bdd donc celle que j’avais :

Résumé

USE essentialmode;

CREATE TABLE addon_inventory (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
label varchar(255) NOT NULL,
shared int(11) NOT NULL,
PRIMARY KEY (id)
);

CREATE TABLE addon_inventory_items (
id int(11) NOT NULL AUTO_INCREMENT,
inventory_name varchar(255) NOT NULL,
name varchar(255) NOT NULL,
count int(11) NOT NULL,
owner varchar(60) DEFAULT NULL,
PRIMARY KEY (id)
);

Celle obtenu sur le git officiel :

Résumé

USE essentialmode;

CREATE TABLE addon_inventory (
name VARCHAR(60) NOT NULL,
label VARCHAR(100) NOT NULL,
shared INT(11) NOT NULL,

PRIMARY KEY (`name`)

);

CREATE TABLE addon_inventory_items (
id INT(11) NOT NULL AUTO_INCREMENT,
inventory_name VARCHAR(100) NOT NULL,
name VARCHAR(100) NOT NULL,
count INT(11) NOT NULL,
owner VARCHAR(60) DEFAULT NULL,

PRIMARY KEY (`id`),
INDEX `index_addon_inventory_items_inventory_name_name` (`inventory_name`, `name`),
INDEX `index_addon_inventory_items_inventory_name_name_owner` (`inventory_name`, `name`, `owner`),
INDEX `index_addon_inventory_inventory_name` (`inventory_name`)

);

Du coup j’ai fait une save et j’ai importer la nouvelle qui pour moi allais résoudre le problème, j’ai importer une fois de plus toute les sociétés et la quand j’essaie de poser un item j’ai de nouveau une erreur :frowning:

Résumé

Error running call reference function for resource esx_addoninventory: citizen:/scripting/lua/scheduler.lua:405: @esx_addoninventory/server/classes/addoninventory.lua:39: attempt to index a nil value (global ‘Items’)
stack traceback:
@esx_addoninventory/server/classes/addoninventory.lua:39: in upvalue ‘ref’
citizen:/scripting/lua/scheduler.lua:391: in function citizen:/scripting/lua/scheduler.lua:390
[C]: in function ‘xpcall’
citizen:/scripting/lua/scheduler.lua:390: in function citizen:/scripting/lua/scheduler.lua:389
stack traceback:
[C]: in function ‘error’
citizen:/scripting/lua/scheduler.lua:405: in function citizen:/scripting/lua/scheduler.lua:374
[C]: in function ‘coroutine.resume’
citizen:/scripting/lua/scheduler.lua:34: in field ‘CreateThreadNow’
citizen:/scripting/lua/scheduler.lua:218: in function citizen:/scripting/lua/scheduler.lua:182
Error running call reference function for resource esx_policejob: citizen:/scripting/lua/scheduler.lua:405: citizen:/scripting/lua/MessagePack.lua:830: missing bytes
stack traceback:
[C]: in function ‘error’
citizen:/scripting/lua/MessagePack.lua:830: in method ‘underflow’
citizen:/scripting/lua/MessagePack.lua:465: in field ‘any’
citizen:/scripting/lua/MessagePack.lua:860: in field ‘unpack’
citizen:/scripting/lua/scheduler.lua:628: in field ‘getItem’
@esx_policejob/server/main.lua:136: in upvalue ‘ref’
citizen:/scripting/lua/scheduler.lua:391: in function citizen:/scripting/lua/scheduler.lua:390
[C]: in function ‘xpcall’
citizen:/scripting/lua/scheduler.lua:390: in function citizen:/scripting/lua/scheduler.lua:389
stack traceback:
[C]: in function ‘error’
citizen:/scripting/lua/scheduler.lua:405: in function citizen:/scripting/lua/scheduler.lua:374
[C]: in function ‘coroutine.resume’
citizen:/scripting/lua/scheduler.lua:34: in field ‘CreateThreadNow’
citizen:/scripting/lua/scheduler.lua:218: in function citizen:/scripting/lua/scheduler.lua:182
Error running system event handling function for resource esx_addoninventory: citizen:/scripting/lua/scheduler.lua:41: Failed to execute thread: citizen:/scripting/lua/MessagePack.lua:830: missing bytes
stack traceback:
[C]: in function ‘error’
citizen:/scripting/lua/MessagePack.lua:830: in method ‘underflow’
citizen:/scripting/lua/MessagePack.lua:465: in field ‘any’
citizen:/scripting/lua/MessagePack.lua:860: in field ‘unpack’
citizen:/scripting/lua/scheduler.lua:628: in local ‘cb’
@esx_addoninventory/server/main.lua:86: in upvalue ‘handler’
citizen:/scripting/lua/scheduler.lua:219: in function citizen:/scripting/lua/scheduler.lua:218
stack traceback:
[C]: in function ‘error’
citizen:/scripting/lua/scheduler.lua:41: in field ‘CreateThreadNow’
citizen:/scripting/lua/scheduler.lua:218: in function citizen:/scripting/lua/scheduler.lua:182

Il me semble avoir déjà eu cette erreur mais je ne sais plus quand ni ce que j’ai fait pour la résoudre …

Merci pour votre aide


#5

de ce que je comprend ( pas facile sans tout voir) il appel un item qui est nul dans ta base de donne. tu a bvien vide t coffre entreprise? verifie tout tes items qu un joueur n’en ai pas dans ces poches alors que ut l a delete de la bdd


#6

Oui tout les coffres son vide, j’ai réinstaller la bdd esx_addoninventory, j’ai retirer tout les items sauf un afin de tester et j’ai toujours le même problème, je continue de chercher je vais bien finir par trouver.

Edit : Quand je met manuellement un item dans la bdd genre 100 pains, je peux retirer et remettre mais uniquement le pain … :frowning:

Edit 2 : Donc en modifiant esw_addoninventory/server/main.lua à la ligne 1 j’ai remplacé :

local InventoriesIndex, Inventories, SharedInventories, Items = {}, {}, {}, {}

Par :

Items = {}
local InventoriesIndex, Inventories, SharedInventories = {}, {}, {}

Je parvient à déposé les items et les reprendre c’est une partie du soucis résolu car l’item reste a zéro même une fois retirer une idée ? :smiley:


#7

bonjour,

desole mai sla j arrive pas a comprendre le soucis qui subsiste. tu arrive a faire les aller retour mais le chiffre reste a zero?


#8

Bonjour,
non en faite c’est mon problème de départ, ci j’ai un kit de réparation dans l’inventaire de société sa donne “Kit de réparation x 1” et quand je le retire sa donne “Kit de réparation x 0” (dans l’affichage de l’inventaire)

C’est pas vraiment gênant mais je n’avais pas ce soucis avant ce qui m’embête un peux :frowning:


#9

bonjour

a ok j ai absolument pas compris ca !! il suffit juste d ajouter dans l affichage du contenu du coffre un if item ~= 0 then end.


#10

Le truc c’est que je n’ai rien toucher de particulier, avant je n’avais pas ce soucis, je doit avoir un conflit avec une autre ressource, je vais donc tester de les retirer une par une et tester.


#11

je pense que le comportement est normal.


#12

Ah pourtant avant je suis quasi sur que plus rien n’était afficher une fois l’item retirer tout comme l’inventaire des véhicules, je vais faire des tests je revient dire quoi.


#13

Mais c’est pas un conflit c’est la ressource qui fait ça de base.
Sa sauvegarde les datas des items que tu stock dedans. Les coffres
ne sont par exemple pas concernés pas ça parce qu’ils ne sont pas
sauvegardés au même endroit en BDD.