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.namede la lib). - Le nombre de personnes en service vient de l’état de service d’AI Core (
online.onDutyForde la lib, GlobalStateai:duty:<job>). Un joueur compte dès qu’AI Core le met en service (exportSetDuty, 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.
| Nom | Type | Ce qu’il transporte |
|---|---|---|
ai-scoreboard:board | Callback client vers serveur | Répond avec les nombres affichés en ce moment (demandés à chaque appui sur la touche, débit limité). |
ai-scoreboard:subscribe | Callback client vers serveur | Abonne le joueur à la liste des joueurs. Une liste complète suit une fois, puis uniquement les changements. |
ai-scoreboard:client:roster | Serveur vers client (latent) | (seq, rows) : toute la liste des joueurs. |
ai-scoreboard:client:changes | Serveur vers client | (seq, puts, removes) : les joueurs arrivés ou partis, au plus une fois par seconde. |