Aller au contenu

Dépannage

Les problèmes réels rencontrés et les vérifications à effectuer.


Une modification d’un fichier n’a rien changé

Section intitulée « Une modification d’un fichier n’a rien changé »

Un redémarrage simple ne relit pas fxmanifest.lua. Si vous avez ajouté ou renommé un fichier, tapez d’abord refresh dans la console serveur, puis restart mic_pawnshop. Les modifications apportées à config.lua ne requièrent quant à elles qu’un redémarrage.

L’application est ajoutée automatiquement dès que lb-phone fonctionne, préinstallée par défaut. Si elle n’apparaît pas :

  • lb-phone est-il démarré ? Vérifiez que ensure lb-phone se trouve au-dessus de ensure mic_pawnshop dans votre server.cfg.
  • mic_pawnshop a-t-il bien démarré ? Une erreur console au démarrage indique généralement qu’oxmysql ou le framework n’était pas encore prêt — déplacez la ligne plus bas.

Le fichier pawnshop.sql n’a pas été importé, ou a été importé dans une autre base de données que celle utilisée par votre serveur FiveM. Importez-le une fois dans la bonne base ; la ressource ne crée pas les tables automatiquement.

Erreur console au démarrage relative à getSharedObject ou GetCoreObject

Section intitulée « Erreur console au démarrage relative à getSharedObject ou GetCoreObject »

Config.Framework ne correspond pas à votre serveur. Utilisez "esx" ou "qb", en minuscules.

Sur QBox, la valeur attendue est "qb" — QBox gère les ressources QBCore via sa compatibilité — et qbx_core doit impérativement démarrer avant mic_pawnshop.

Le dossier a été renommé. Les écrans de l’application dialoguent avec la ressource via le nom mic_pawnshop ; rétablissez le nom de dossier initial.

Tous les items affichent la même image (des frites)

Section intitulée « Tous les items affichent la même image (des frites) »

C’est l’image de secours utilisée lorsqu’une image d’item est introuvable. Config.InventoryImagePath doit pointer exactement vers le dossier où votre inventaire stocke ses images, sous la forme resource/dossier/ — comme ox_inventory/web/images/ ou qb-inventory/html/images/ — et l’image doit porter exactement le même nom que l’item.

L’item est inscrit dans Config.BlackList. Les items blacklistés n’apparaissent d’ailleurs pas dans le sélecteur d’items.

Le joueur ne transporte pas une quantité suffisante de l’item par rapport au nombre qu’il a saisi.

L’offre a été publiée avec un prix Total (en lot), elle est donc vendue comme un tout indivisible. L’acheteur doit prendre l’intégralité du lot. Pour des offres dont la quantité peut être fractionnée par les acheteurs, publiez-les avec un prix Unit (à l’unité).

“Insufficient funds in bank” / “Insufficient cash”

Section intitulée « “Insufficient funds in bank” / “Insufficient cash” »

Avec Config.Bank = true, le montant est prélevé sur le compte bancaire de l’acheteur. Avec Config.Bank = false, il est prélevé sur l’item spécifié dans Config.Money — ce qui ne fonctionne que si l’argent est géré sous forme d’item d’inventaire, comme sur ox_inventory. Avec l’inventaire natif d’ESX et sur QBCore, laissez Config.Bank = true.

Sur ox_inventory, l’acheteur ne disposait pas d’assez d’espace ou de poids pour porter les items, l’achat a donc été annulé et l’argent remboursé. Si cette même réponse survient lorsqu’un vendeur supprime son offre, cela signifie qu’il n’a pas la place requise pour récupérer ses items ; l’offre reste alors publiée.

L’argent est en attente. Les gains des ventes vont dans le solde Pending en haut de l’application, et rien n’arrive sur leur compte bancaire tant qu’ils n’appuient pas sur le bouton de transfert.

Les offres sont automatiquement supprimées lorsqu’elles expirent — après Config.Expire jours, 7 par défaut — ou lorsque leur item est ajouté à Config.BlackList. Dans les deux cas, les items sont supprimés avec l’offre ; ils ne sont pas restitués. Modifier le prix d’une offre réinitialise son délai d’expiration, ce qui permet au vendeur de la maintenir active.

Lorsque Config.RequireLocation est activé, le marqueur n’apparaît que si le joueur a une annonce à publier ou un achat à finaliser, et uniquement lorsqu’il est à moins de 20 mètres. Il doit être à l’intérieur de Config.InteractionDistance — un mètre par défaut — pour appuyer sur E. Augmentez légèrement cette distance si vos joueurs ont du mal à trouver le point précis.