AI Core
Essentielsai-scoreboard

ai-scoreboard pour les développeurs

ai-scoreboard n’a aucun export. Ce qu’il lit depuis AI Core et les events qu’il utilise en interne.

ai-scoreboard n’a aucun export et aucun event destiné aux autres scripts. Tout ce qu’il affiche vient d’AI Core, donc vous changez le tableau en changeant les données d’AI Core :

  • Les joueurs et les noms viennent des personnages chargés (onCharacter, online.name de la lib).
  • Le nombre de personnes en service vient de l’état de service d’AI Core (online.onDutyFor de la lib, GlobalState ai:duty:<job>). Un joueur compte dès qu’AI Core le met en service (export SetDuty, ou l’event de service d’un script de pont). Voir les exports serveur d’ai-core.

Si vous voulez les mêmes nombres dans votre propre script, lisez-les depuis AI Core, pas depuis le tableau :

// Côté client : le nombre de policiers en service, le même que celui du tableau.
const police = Number(GlobalState["ai:duty:police"] ?? 0);
console.log(`${police} police on duty`);

Events internes

Ces noms appartiennent au client et au serveur propres d’ai-scoreboard. Ils sont listés pour que vous les reconnaissiez dans les logs ; ne les appelez pas depuis d’autres ressources.

NomTypeCe qu’il transporte
ai-scoreboard:boardCallback client vers serveurRépond avec les nombres affichés en ce moment (demandés à chaque appui sur la touche, débit limité).
ai-scoreboard:subscribeCallback client vers serveurAbonne le joueur à la liste des joueurs. Une liste complète suit une fois, puis uniquement les changements.
ai-scoreboard:client:rosterServeur vers client (latent)(seq, rows) : toute la liste des joueurs.
ai-scoreboard:client:changesServeur vers client(seq, puts, removes) : les joueurs arrivés ou partis, au plus une fois par seconde.

Sur cette page