This technical guide is currently available in French. The navigation and site interface are in English.
Choisir chaque domaine
Le framework et les fournisseurs sont indépendants. Modifier config/integrations.lua ou le menu serveur protégé par ACE. Les domaines sont fuel, needs, stress et voice.
Config.Integrations = {
fuel = { provider = 'auto', resource = nil, minimum = 0, maximum = 100 },
needs = { provider = 'auto' },
voice = { provider = 'auto', resource = 'pma-voice' },
stress = { provider = 'framework' },
}
Selon le domaine, les modes disponibles comprennent auto, natif, fournisseur nommé, export, statebag, custom et disabled. Tous les modes ne s’appliquent pas à chaque domaine. Si plusieurs fournisseurs sont actifs, choisir explicitement celui voulu. Adapter resource pour une ressource renommée.
Carburant
Pour un export client simple :
Config.Integrations.fuel = {
provider = 'export', resource = 'mon_fuel', export = 'GetFuel',
minimum = 0, maximum = 100
}
Pour un statebag : choisir provider = 'statebag', key = 'fuel' et l’échelle adaptée. Vérifier la signature sur la version installée du fournisseur. Une erreur d’un fournisseur choisi explicitement n’est pas remplacée silencieusement par du carburant natif.
Besoins et stress
Les besoins peuvent provenir du framework, d’esx_status ou d’un adaptateur custom. Le contrat de lecture renvoie {hunger, thirst} en pourcentage ; le stress renvoie un pourcentage. Une donnée absente reste indisponible ; zéro est une valeur réelle.
Voix et radio
Le script gère pma-voice, les statebags (proximity.distance, radioChannel, éventuellement proximity.index), les exports séparés sans argument ou un adaptateur custom. Le contrat renvoie {voice, radio, talking}. Sans état de parole explicite, Mumble est utilisé.
Ressources personnalisées
Enregistrer un adaptateur avec RegisterProvider, puis sélectionner custom, ou alimenter un domaine custom non enregistré avec SetStatus. Voir le Guide développeur et l’API client.
Les lectures doivent retourner immédiatement. Pour une API asynchrone, maintenir un cache au moyen d’événements ou callbacks, sans lancer une requête à chaque lecture. Les ressources tierces ne sont pas incluses ; tester leurs API et leur cycle de démarrage/arrêt sur le serveur cible.
