{"id":201813,"date":"2025-11-13T08:00:00","date_gmt":"2025-11-13T07:00:00","guid":{"rendered":"https:\/\/fivemx.com\/?p=201813"},"modified":"2026-08-11T12:02:57","modified_gmt":"2026-08-11T10:02:57","slug":"systeme-de-livraison-de-taches-de-fusion-pour-serveurs-esx","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/fr\/smelting-delivery-job-system-for-esx-servers\/","title":{"rendered":"Syst\u00e8me de travail de livraison de fonderie pour FiveM"},"content":{"rendered":"<p>sm_smelterdelivery de SamuelTV associe collecte de minerai, fonte, fabrication de composants et livraisons. Le manifeste examin\u00e9 indique 1.0.0 et importe directement ESX. Le code utilise aussi ox_inventory, ox_target et ox_lib ; ce n\u2019est pas une ressource autonome ou QBCore.<\/p>\n<h2>Pr\u00e9parer la ressource et les objets<\/h2>\n<p>Utilisez le dossier sm_smelterdelivery contenant fxmanifest.lua. D\u00e9marrez ESX et les ressources ox compatibles avant ensure sm_smelterdelivery. Ajoutez iron_ore, iron, steel_ore, steel et component aux d\u00e9finitions sans \u00e9craser les objets existants. Le libell\u00e9 fourni de steel_ore indique \u00e0 tort Component ; corrigez l\u2019affichage en conservant sa cl\u00e9.<\/p>\n<p>Le fichier d\u2019installation donne deux dossiers contradictoires : web\/build\/images et web\/build\/img. Utilisez le r\u00e9pertoire et le param\u00e9trage d\u2019images de votre version d\u2019ox_inventory plut\u00f4t que de cr\u00e9er aveugl\u00e9ment les deux. Sauvegardez la configuration et v\u00e9rifiez le chargement des cinq images fournies.<\/p>\n<h2>Comprendre recettes et commandes<\/h2>\n<p>Le code pr\u00e9voit 3 iron_ore ou 2 steel_ore par collecte. La fonte consomme 3 iron_ore pour 1 iron ou 2 steel_ore pour 1 steel. La fabrication utilise 2 iron et 1 steel pour 1 component. La progression client dure 10 secondes pour collecter et 6,5 secondes pour fondre ou fabriquer ; ces barres n\u2019imposent aucun d\u00e9lai serveur.<\/p>\n<p>Config.MoneyPerComponent vaut initialement 1400 unit\u00e9s mon\u00e9taires du jeu par composant. Les clients Easy demandent 1\u20133 composants, Medium 3\u20138 et Hard 8\u201312, avec d\u00e9lais client de 8, 5 et 3 minutes. Les clients disponibles sont partag\u00e9s entre joueurs. La r\u00e9initialisation horaire efface aussi les livraisons actives ; ce n\u2019est pas un stockage persistant des missions.<\/p>\n<h2>Corriger API et transactions avant ouverture<\/h2>\n<p>Le serveur r\u00e9cup\u00e8re r\u00e9guli\u00e8rement exports.ox_inventory:Inventory() et appelle les m\u00e9thodes du r\u00e9sultat. Comparez cela aux exports document\u00e9s de votre version sans pr\u00e9sumer la compatibilit\u00e9. Les deux callbacks de collecte omettent aussi l\u2019argument source document\u00e9 par ox_lib et lisent la variable globale source. Corrigez identit\u00e9 du joueur et int\u00e9gration d\u2019inventaire avant les tests de r\u00e9compense.<\/p>\n<p>Le serveur conserve le propri\u00e9taire de la livraison et refuse les missions \u00e9trang\u00e8res ou termin\u00e9es, mais n\u2019enregistre ni destination ni \u00e9ch\u00e9ance pour valider la fin. Collecte et fabrication ne v\u00e9rifient pas non plus distance et progression c\u00f4t\u00e9 serveur. Ajoutez contr\u00f4les autoritatifs de lieu, temps et mission active unique ; minuterie et zone client ne sont pas une autorisation serveur.<\/p>\n<p>Les retraits et ajouts d\u2019objets ne sont pas v\u00e9rifi\u00e9s. La livraison est marqu\u00e9e termin\u00e9e seulement apr\u00e8s des attentes suivant le paiement. R\u00e9servez sa finalisation avant toute attente et rendez consommation et paiement r\u00e9cup\u00e9rables en cas d\u2019\u00e9chec partiel. Le client efface sa mission sans confirmation positive. Testez inventaires pleins, mat\u00e9riaux insuffisants, fin r\u00e9p\u00e9t\u00e9e, expiration, reset horaire et reconnexion avant une \u00e9conomie publique.<\/p>\n<p>Examin\u00e9 le 10 septembre 2026 \u00e0 la r\u00e9vision 5fa8179ecaa18aecbacbb11234b6fc1812b9d1ec. Tous les Lua, manifeste et instructions fournis ont \u00e9t\u00e9 lus et la documentation officielle des API ox v\u00e9rifi\u00e9e. Aucune ressource FiveM, fabrication ou r\u00e9compense n\u2019a \u00e9t\u00e9 ex\u00e9cut\u00e9e.<\/p>\n<p><a href=\"https:\/\/github.com\/SamuelTVx\/sm_smelterdelivery\/tree\/5fa8179ecaa18aecbacbb11234b6fc1812b9d1ec\">Lire Smelter Delivery \u00e0 la r\u00e9vision v\u00e9rifi\u00e9e<\/a><\/p>\n<p><a href=\"https:\/\/overextended.dev\/docs\/ox_inventory\/Functions\/Server\">V\u00e9rifier l\u2019API serveur ox_inventory<\/a><\/p>\n<p><a href=\"https:\/\/overextended.dev\/docs\/ox_lib\/Callback\/Lua\/Server\">V\u00e9rifier les arguments des callbacks serveur ox_lib<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Configurer sm_smelterdelivery pour ESX : recettes, clients, d\u00e9pendances ox et paiements. V\u00e9rifier la compatibilit\u00e9 API avant installation.<\/p>","protected":false},"author":62604,"featured_media":201807,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877],"tags":[2858,2928,2866,2944,2859,2940],"class_list":["post-201813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","tag-esx","tag-free","tag-job","tag-ox","tag-qbcore","tag-qbox"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/201813","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\/62604"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/comments?post=201813"}],"version-history":[{"count":2,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/201813\/revisions"}],"predecessor-version":[{"id":214338,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/201813\/revisions\/214338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media\/201807"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media?parent=201813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/categories?post=201813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/tags?post=201813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}