Пользовательские дополнения

На главную


matchMaking.GetEventProgressInfo()

Получить информацию о достижениях участников текущего или только что закончившегося инстанс-ивента. Информация доступна автоматически сразу после завершения инстанс-ивента либо может быть получена запросом matchMaking.ListenEventProgress(). В обоих случаях приходит сообщение EVENT_MATCH_MAKING_EVENT_PROGRESS_ADDED.

-- библиотека:
matchMaking

-- объявление:
function GetEventProgressInfo()

-- параметры:
нет

-- возвращаемое значение:
table or nil - таблица с описанием, если информация получена, содержит поля:
  completed: boolean - завершился ли ивент
  durationMs: number (integer) - фактическая длительность завершившегося инстанс-ивента (в миллисекундах), если ивент ещё не завершён, то 0
  elapsedMs: number (integer) - время с начала инстанс-ивента в миллисекундах
  round: number (integer) -  номер текущего раунда (начинается с нуля)
  durationsByRound: table - ключи - номера раундов, значения - длительность раундов
  startTimesByRound: table - ключи - номера раундов, значения - время старта раундов
  winnerBattlegroundMarkId: BattlegroundMarkId or nil - BattlegrounMarkId победившей команды в случае группового инстанс-ивента, nil в случае одиночного или ещё не завершённого
  winnerFactionId: FactionId - FactionId победившей фракции в случае группового инстанс-ивента, nil в случае одиночного или ещё не завершённого
  members: table of tables or nil - индексированная с нуля таблица с описаниями достижений отдельных участников инстанс-ивента, nil если механика данного инстанс-ивента подразумевает сокрытие участников; в каждом поле содержится таблица с описанием достижений участника инстанс-ивента, формат поля:
    name: WString - ник игрока
    shardName: WString - название шарда игрока
    id: ObjectId or nil - идентификатор аватара(если доступен)
    factionId: FactionId - фракция игрока
    present: boolean - флаг наличия игрока на инстанс-ивенте (игрок может покинуть ивент до его окончания, в этом случае значение флага будет false)
    achievements: table of tables - индексированная с нуля таблица с достижениями данного участника; в каждом поле содержится таблица с описанием достижения. ВАЖНО: набор полей может меняться в процессе сражения. Формат поля:
      sysName: string или nil - если есть, то нелокализуемое системное имя достижения
      name: WString - имя
      description: WString - описание
      value: number (integer) - количество
    raceClass: table LuaRaceClassInfoPart - таблица с описанием расы/класса персонажа, см. описание по ссылке ниже
    battlegroundMarkId:  BattlegroundMarkId или nil - идентификатор команды, к которой принадлежит участник (используется для баттлграунда)

См. LuaRaceClassInfoPart

Пример:

local info = matchMaking.GetEventProgressInfo()
if info.winnerBattlegroundMarkId then
  LogInfo( "Winner team: ", info.winnerBattlegroundMarkId:GetInfo() )
end

for i, memberInfo in pairs( info.members ) do
  LogInfo( "-- member: ", memberInfo.name )
  for j, achievInfo in pairs( info.memberInfo.achievements ) do
    LogInfo( "-- achievement: ", achievInfo.name, achievInfo.value )
  end
end

См. также

Связанные страницы: "CategoryLuaApi" "CategoryMatchMaking" "CategoryFaction"

CategoryMatchMaking
EnumMatchMakingMechanicsType
EnumRatingArenaType
EventLfgDestinationVisitsChanged
EventMatchMakingAutoDepartTimeChanged
EventMatchMakingCurrentBattleChanged
EventMatchMakingEventAdded
EventMatchMakingEventAvailabilityChanged
EventMatchMakingEventDoubleBonusChanged
EventMatchMakingEventProgressAdded
EventMatchMakingEventProgressCompletedChanged
EventMatchMakingEventProgressDurationChanged
EventMatchMakingEventProgressMemberChanged
EventMatchMakingEventProgressMembersChanged
EventMatchMakingEventProgressRemoved
EventMatchMakingEventProgressRoundsChanged
EventMatchMakingEventQueueAdded
EventMatchMakingEventQueueRemoved
EventMatchMakingEventQueuesRemoved
EventMatchMakingEventRemoved
EventMatchMakingEventsAvailabilityChanged
EventMatchMakingEventsChanged
EventMatchMakingEventTeleportReject
EventMatchMakingEventTeleportRequest
EventMatchMakingEventVisitsChanged
EventMatchMakingJoinTimeChanged
EventMatchMakingMembersRolesChanged
EventMatchMakingProgressAchievementsChanged
EventMatchMakingProgressMembersAchievementsChanged
FunctionMatchMakingAwayBattleEvent
FunctionMatchMakingCanAwayBattleEvent
FunctionMatchMakingCanJoinInstancedEventById
FunctionMatchMakingCanJoinInstancedEvents
FunctionMatchMakingCanReturnToBattle
FunctionMatchMakingCanUseMatchMaking
FunctionMatchMakingGetAutoDepartTime
FunctionMatchMakingGetCurrentBattleInfo
FunctionMatchMakingGetEventCategories
FunctionMatchMakingGetEventInfo
FunctionMatchMakingGetEventJoinTimeEstimate
FunctionMatchMakingGetEventProgressInfo
FunctionMatchMakingGetEventReward
FunctionMatchMakingGetEvents
FunctionMatchMakingGetEventsByCategory
FunctionMatchMakingGetEventScore
FunctionMatchMakingGetJoinRequirements
FunctionMatchMakingGetMembersRoles
FunctionMatchMakingGetRatingPvPScoreByUnitId
FunctionMatchMakingGetRatingURL
FunctionMatchMakingInstancedEventTeleportReply
FunctionMatchMakingIsAvatarInMatchMakingEvent
FunctionMatchMakingIsAvatarJoinedAnyEvent
FunctionMatchMakingIsAvatarJoinedAnySpecificEvent
FunctionMatchMakingIsEventIdExist
FunctionMatchMakingIsEventListValid
FunctionMatchMakingIsEventProgressExist
FunctionMatchMakingIsFreePass
FunctionMatchMakingIsPvE
FunctionMatchMakingIsRaid
FunctionMatchMakingIsRatingPvPScoreAvailable
FunctionMatchMakingLeaveInstancedEventQueue
FunctionMatchMakingLeaveInstancedEventQueueById
FunctionMatchMakingListenEventProgress
FunctionMatchMakingListenEvents
FunctionMatchMakingReturnToBattle
InstancedEventCategoryId
InstancedEventResourceId
LootGroupId


CategoryLuaApi CategoryFunction CategoryMatchMaking CategoryFaction

На главную