Un seul module pour cdt_marketrobbery_light 1.1.0 ou ultérieure (API 1). Le bouton d'activation dans la configuration nécessite la Light 1.2.0 et le module Premium 1.1.0 ou ultérieurs :
- otages, consignes des braqueurs, libération et prise en charge par la police ;
- enquêtes : témoignage du commerçant, inspections des caisses et des coffres, réouverture ;
- réglages avancés dans le même éditeur : conditions d'armes et d'objets, difficulté personnalisée, animations, accessoires, inventaires personnalisés et administration avancée.
Le module n'est pas un deuxième script de braquage autonome. La Light reste le noyau, possède les scènes et utilise sa table SQL cdt_marketrobbery_light_data. Les commandes restent /marketlightadmin, /marketlightreset et /marketlightminigame. Les accès ACE restent cdt.market.light.admin et, pour les fonctions police, cdt.market.light.police.
Témoignages
Le commerçant et chaque otage donnent un récit avec des formulations variables et un niveau de précision influencé par les événements vécus. Les souvenirs des otages tiennent compte des menaces, de la mise à genoux, des déplacements constatés, des transferts entre braqueurs, des tentatives de rassurer, des blessures et d'une libération avant les autres. Le nombre de personnes et la présence d'une arme sont limités aux participants suivis à proximité pendant la scène ; il ne s'agit pas d'une analyse visuelle des vêtements ou véhicules.
Le premier témoignage reste identique lors des interrogations suivantes. Les témoignages des otages sont conservés dans police_reports, sous hostageTestimonies, avec la date et l'agent qui les a recueillis. Ils restent facultatifs pour la réouverture. Les constatations financières du commerçant sont conservées. Tous les récits sont disponibles en français et en anglais via les catalogues de la Light.
Installation
Placer cdt_marketrobbery_light et cdt_marketrobbery_premium côte à côte dans resources/[cdt]. Dans server.cfg, après le framework, l'inventaire, ox_lib et oxmysql :
set cdt_language "fr"
ensure cdt_marketrobbery_premium
ensure cdt_marketrobbery_light
Cet ordre active le module dès le démarrage. Le module peut également démarrer après la Light et être activé depuis sa configuration. Ne pas démarrer l'ancienne ressource complète cdt_marketrobbery sur les mêmes magasins. Aucun remplacement des fichiers Light n'est nécessaire pour les activations suivantes.
Si la Light est déjà démarrée, démarrer le module dans la console serveur :
ensure cdt_marketrobbery_premium
Ouvrir /marketlightadmin, puis cliquer sur Détecter les modules et Activer le module maintenant. Le bouton affiche l'état du module, vérifie les permissions et la compatibilité, puis déclenche une courte recharge automatique du noyau pour tous les joueurs. L'interface se rouvre pour l'administrateur demandeur avec les paramètres Premium.
Enregistrer les modifications avant d'activer le module. L'activation est bloquée pendant les braquages, les interventions et lorsqu'un autre administrateur a son éditeur ouvert. Une recharge en cours empêche les nouvelles actions jusqu'au redémarrage. La commande manuelle restart cdt_marketrobbery_light reste possible.
Les otages restent désactivés par défaut sur les supérettes existantes : leur activation exige de configurer les emplacements et le point de sécurité.
Revenir à la version gratuite
Attendre la fin des scènes, puis :
stop cdt_marketrobbery_light
stop cdt_marketrobbery_premium
ensure cdt_marketrobbery_light
Retirer également ensure cdt_marketrobbery_premium du server.cfg pour rester en mode gratuit au prochain démarrage.
Les options Premium restent sauvegardées, mais ne sont ni affichées ni actives en mode gratuit. Les modifications des paramètres gratuits (gains, délais, placements) sont conservées lors de la réactivation. Une supérette, une caisse ou un coffre supprimé en mode gratuit reste supprimé. Les enquêtes interrompues sont converties en recharge normale lorsque le noyau revient au mode gratuit. Le module ne s'active pas à chaud pendant un braquage.
Contrat technique
module.json déclare apiVersion: 1. La Light vérifie cette version côté serveur et côté client avant de charger les composants. Un module incompatible provoque une erreur explicite de démarrage. Les composants Lua s'exécutent dans le contexte de la Light ; les appels réseau et les contrôles d'autorisation restent ceux du noyau. L'interface Premium est hébergée dans un cadre de la NUI Light et adresse ses callbacks à la Light.
Vérification
tests/run.ps1 vérifie les otages et l'éditeur Premium. Le lanceur tests/run.ps1 de la Light vérifie également le serveur complet et le cycle gratuit → Premium → gratuit → Premium si le module est présent. Les contrôles simulés ne remplacent pas une validation sur FiveM des entités, des animations, du focus NUI et des inventaires installés.
