AI Core
Основноеai-scoreboard

ai-scoreboard для разработчиков

У ai-scoreboard нет экспортов. Что он читает из AI Core и какие события использует внутри.

У ai-scoreboard нет экспортов и нет событий для других скриптов. Всё, что он показывает, берётся из AI Core, поэтому вы меняете содержимое табло, меняя данные AI Core:

  • Игроки и имена берутся из загруженных персонажей (onCharacter, online.name из lib).
  • Число людей на дежурстве берётся из состояния дежурства AI Core (online.onDutyFor из lib, GlobalState ai:duty:<job>). Игрок учитывается, как только AI Core ставит его на дежурство (экспорт SetDuty или событие дежурства скрипта-моста). См. серверные экспорты ai-core.

Если вам нужны те же числа в своём скрипте, читайте их из AI Core, а не из табло:

// Клиентская сторона: число полицейских на дежурстве, то же, что показывает табло.
const police = Number(GlobalState["ai:duty:police"] ?? 0);
console.log(`${police} police on duty`);

Внутренние события

Эти имена принадлежат собственному клиенту и серверу ai-scoreboard. Они перечислены, чтобы вы узнавали их в логах; не вызывайте их из других ресурсов.

NameKindWhat it carries
ai-scoreboard:boardКолбэк от клиента к серверуОтвечает числами, которые показываются прямо сейчас (запрашивается при каждом нажатии клавиши, с ограничением частоты).
ai-scoreboard:subscribeКолбэк от клиента к серверуПодписывает игрока на список игроков. Один раз приходит полный список, затем только изменения.
ai-scoreboard:client:rosterСервер к клиенту (latent)(seq, rows): весь список игроков.
ai-scoreboard:client:changesСервер к клиенту(seq, puts, removes): игроки, которые зашли или вышли, не чаще раза в секунду.

На этой странице