mod.game.party отслеживает состав группы. В конструкторе включите mod.game.initialize('party').
Методы
| Метод | Результат |
|---|---|
isMember(gameId) |
Есть ли объект с таким gameId в отслеживаемом списке |
inParty() |
Непустой ли список участников |
getMemberData(gameId) |
Объект участника или null |
Объект участника содержит gameId, playerId, serverId, name, class. В исходном README пример называл метод isPartyMember, но в этой сборке правильное имя — isMember.
События
| Событие | Аргумент |
|---|---|
list |
Массив участников после списка группы, удаления участника или исправления gameId |
member_leave |
{ playerId, serverId, name, class } вышедшего участника |
member_kick |
Такой же объект исключенного участника |
leave |
Без аргументов; выход из группы |
Список обновляется по S_PARTY_MEMBER_LIST; данные выхода — по S_LEAVE_PARTY_MEMBER и S_BAN_PARTY_MEMBER. По S_SPAWN_USER библиотека может исправить gameId уже известного участника и повторно отправить list. При входе/выходе из игры список сбрасывается.
mod.game.initialize('party');
const member = mod.game.party.getMemberData(targetGameId);
if (member) mod.log(member.name);
Источники: mods/tera-game-state/doc/party.md, mods/tera-game-state/lib/party.js.