{"id":185242,"date":"2025-05-10T12:31:49","date_gmt":"2025-05-10T10:31:49","guid":{"rendered":"https:\/\/fivemx.com\/?p=185242"},"modified":"2026-08-11T12:02:51","modified_gmt":"2026-08-11T10:02:51","slug":"chasse-aux-oeufs-de-paques-qbox","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/fr\/qbox-easter-egg-hunting\/","title":{"rendered":"QBox Chasse aux \u0153ufs de P\u00e2ques pour FiveM"},"content":{"rendered":"<p>ss_easter de ShoeShuffler\/Shuffle Shop place des \u0153ufs \u00e0 collecter \u00e0 des endroits configur\u00e9s pour les personnages Qbox. Le code utilise qbx_core, ox_lib, oxmysql, ox_inventory et ox_target. La configuration fournie comporte 24 emplacements ; les fichiers de mod\u00e8les sont requis s\u00e9par\u00e9ment et ne sont pas automatiquement inclus avec ce script.<\/p>\n<h2>Pr\u00e9parer mod\u00e8les, objets et persistance<\/h2>\n<p>Le README renvoie aux mod\u00e8les ShopFusion et permet de configurer vos propres mod\u00e8les. Associez chaque cl\u00e9 de Config.EggLocations \u00e0 un objet d\u2019inventaire et son mod\u00e8le \u00e0 un accessoire charg\u00e9 en streaming. V\u00e9rifiez les instructions d\u2019inventaire pour votre version d\u2019ox_inventory plut\u00f4t que de copier aveugl\u00e9ment les champs d\u2019exemple.<\/p>\n<p>Au d\u00e9marrage, le serveur cr\u00e9e une table ss_easter si elle n\u2019existe pas. Les collectes sont stock\u00e9es en JSON sous un citizenid unique : la limite pr\u00e9vue est une collecte de chaque \u0153uf par personnage. Sauvegardez la base et conservez la table lors des mises \u00e0 jour ; la vider r\u00e9initialise l\u2019historique.<\/p>\n<h2>Tester l\u2019inventaire et les r\u00e9compenses<\/h2>\n<p>Le serveur valide un identifiant d\u2019\u0153uf configur\u00e9 et refuse la collecte au-del\u00e0 de huit m\u00e8tres. Il v\u00e9rifie l\u2019\u00e9tat enregistr\u00e9, mais l\u2019\u00e9crit avant AddItem et ne contr\u00f4le pas le succ\u00e8s de l\u2019ajout. Un inventaire plein peut donc laisser un \u0153uf enregistr\u00e9 comme collect\u00e9 sans livraison. Examinez la gestion des \u00e9checs avant d\u2019activer les r\u00e9compenses.<\/p>\n<p>Lecture des collectes, enregistrement, livraison des objets et primes bancaires ne forment pas une transaction unique et ne sont pas prot\u00e9g\u00e9s par un verrou de collecte par personnage. Testez les demandes r\u00e9p\u00e9t\u00e9es et simultan\u00e9es, la capacit\u00e9, la reconnexion, plusieurs personnages et chaque palier configur\u00e9. Le client supprime l\u2019\u0153uf local avant la r\u00e9ponse du serveur ; les demandes rejet\u00e9es n\u00e9cessitent aussi une r\u00e9cup\u00e9ration.<\/p>\n<h2>Source et port\u00e9e de la v\u00e9rification<\/h2>\n<p>Code source v\u00e9rifi\u00e9 le 10 septembre 2026 \u00e0 la r\u00e9vision b1a881576314632512409295b5c221648da70438 ; le manifeste indique la version 1.0.0. Aucun mod\u00e8le d\u2019\u0153uf n\u2019a \u00e9t\u00e9 install\u00e9 et aucun test de base de donn\u00e9es, de r\u00e9compense ou multijoueur n\u2019a \u00e9t\u00e9 effectu\u00e9.<\/p>\n<p><a href=\"https:\/\/github.com\/NobodyDeveloper\/ss_easter\/tree\/b1a881576314632512409295b5c221648da70438\">Examiner le code de ss_easter<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Examinez ss_easter pour Qbox : d\u00e9pendances ox, mod\u00e8les s\u00e9par\u00e9s, sauvegarde par personnage, \u00e9checs d\u2019inventaire et r\u00e9compenses.<\/p>","protected":false},"author":27669,"featured_media":185382,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2297,2298],"tags":[3001,2928,3000,2940],"class_list":["post-185242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free","category-scripts","tag-fivem-script","tag-free","tag-free-script","tag-qbox"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/185242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/users\/27669"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/comments?post=185242"}],"version-history":[{"count":3,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/185242\/revisions"}],"predecessor-version":[{"id":214334,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/185242\/revisions\/214334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media\/185382"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media?parent=185242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/categories?post=185242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/tags?post=185242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}