CAS Blackmarket est l’ancienne ressource de boutique FiveM de Codeaftersex, publiée en 2023. La source originale est mb-later/CAS-Market. L’ancienne URL GitHub contenait yourgithublink, un texte provisoire plutôt qu’un téléchargement. En septembre 2024, le créateur a indiqué avoir arrêté le support FiveM.
Dossier de ressource et configuration
Extrayez le dossier interne cas-market dans les ressources du serveur et conservez exactement ce nom : l’interface web l’utilise directement dans les URL des callbacks NUI. Sélectionnez qb ou esx avec CAS.Framework et comparez l’adaptateur d’inventaire server/server_hook.lua et celui des notifications client/client_hook.lua à vos ressources installées.
Configurez le catalogue, les prix et l’emplacement unique CAS.PedCoords. Le client ouvre le marché avec E à proximité. inventoryPatch dans html/app.js vise les images de qb-inventory par défaut ; adaptez ce chemin à votre inventaire réel. sessionStorage conserve le panier dans le navigateur, sans démontrer un gain de performance.
Le traitement des achats doit être corrigé
Le serveur inspecté accepte les totaux du panier, quantités et moyens de paiement transmis par le client. Il tente ensuite de prélever le total reçu dans la boucle de chaque ligne d’article. Un panier contenant plusieurs articles peut ainsi être facturé plusieurs fois au lieu d’une. Prix et quantités doivent être validés et le total recalculé depuis le catalogue serveur.
Avant une utilisation publique, validez aussi la proximité et les comptes de paiement, vérifiez la remise effective des objets et gérez les échecs sans perte d’argent ni duplication. Le libellé de paiement cash par défaut doit correspondre aux noms de comptes ESX. Des hooks configurables ne garantissent pas la compatibilité avec tous les inventaires.
Autres limites à tester
Le client crée CAS.Ped mais utilise ensuite une autre variable ped pour configurer le PNJ. Vérifiez ces références et la coordonnée d’orientation avant de supposer le PNJ figé et correctement configuré. Aucune ressource n’a été exécutée : l’intégrité ZIP et l’ensemble du Lua pertinent, de la configuration et du JavaScript de boutique ont été vérifiés. Testez interaction, paniers mixtes, fonds insuffisants et inventaires pleins sur un serveur distinct.