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

На главную


matchMaking.GetEventInfo( eventId )

Получить информацию об инстанс-ивенте с заданным id.

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

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

-- параметры:
eventId: ObjectId - id инстанс-ивента, о котором запрашивается информация

-- возвращаемое значение:
table or nil - таблица с описанием, если информация получена:
  id: ObjectId - id инстанс-ивента
  name: ValuedText or WString - преобразованное имя инстанс-ивента
  rawName: WString or nil - необработанное название инстанс-ивента взятое из ресурса; nil если совпадает с name
  description: ValuedText or WString - описание с подставленными текущими значениями параметров
  resourceId: ResourceId (InstancedEventResourceId) - идентификатор ресурса инстанс-ивента
  category: ResourceId (InstancedEventCategoryId) - идентификатор ресурса категории инстанс-ивента
  isAvailable: boolean - доступен ли инстанс-ивент аватару
  allowQuickExit: boolean - позволять быстро покидать активность(кнопка в углу экрана)
  sysCause: string (enum "ENUM_ActionFailCause_...") - строковый код ошибки.
  hasDoubleBonus: boolean - наличие бонуса за прохождение
  ignoreFactions: boolean - ивент со смешанными фракциями(при формировании группы принадлежность к фракции игнорируется)
  leaderDepartOnly: boolean - если true, то инициировать отправку в активность может только лидер группы
  soloMode: boolean - если true, ивент доступен только для одного игрока
  requiredItem: ItemId or nil - ресурс необходимый для отправки
  requiredCurrency: CurrencyId or nil - альтвалюта необходимая для отправки
  isHighPriority: boolean - если true, то это приоритетный эвент. Он должен быть выше остальных в списке.
  mechanicsType: number (enum ENUM_MatchMakingMechanicsType...) - тип игровой механики
  maxVisitsPerDay: number (integer) - максимальное кол-во посещений ивента в день; 0 - без ограничений
  maxVisitsPerWeek: number (integer) - максимальное кол-во посещений ивента в неделю; 0 - без ограничений
  exclusive: boolean - если true, то запрещено становиться одновременно в очередь к этому и любому другому эвенту
  leaderOnly: boolean - если true, то за выход\постановку в очередь отвечает только лидер группы (соло аватар считается сам себе лидером)
  ticket: ItemId или nil - nil если нет информации, иначе ResourceId предмета, являющегося билетом на эвент; при постановке в очередь проверяется наличие такого предмета у игрока, предмет забирается перед телепортацией на эвент
  activeEventJoinPeriod: number (integer) - возможность присоединения к арене новых игроков в течении определённого периода времени после старта ивента. Если значение меньше 0 - можно присоединяться всегда, равно 0 - присоединяться нельзя вообще, иначе - период в течение которого возможно присоединение
  todayVisits: number (integer) or nil - если есть, то сколько посещений совершил главный игрок сегодня; если нет, то информация отсутствует
  weeklyVisits: number (integer) or nil - если есть, то сколько посещений совершил главный игрок за текущую неделю; если нет, то информация отсутствует
  duration: number (integer) - длительность ивента в миллисекундах
  minAvatarLevel: number (integer) - минимальный уровень, необходимый для участия в ивенте
  canJoinActiveEvent: boolean - можно ли присоединяться к ивенту после его начала
  isAvatarJoined: boolean - стоит ли аватар в очереди на этот инстанс-ивент
  eventType: table of tables - таблица с описанием типа инстанс-ивента.
  startTime: table of tables - таблица с описанием типа и времени старта
  startTimes: table или nil - если ошибка, то nil; иначе список (индексируется от 0) таблиц с описанием типа и времени старта (описание полей см. ниже)
  inviteTimeout: number (integer) - задержка при телепорте на арену (мс)
  difficulty: wstring or nil - сложность эвента текстом
  difficultyMode: Number(ENUM_LFGEventDifficulty) - сложность эвента индексом
  sysDifficultyMode: String(ENUM_LFGEventDifficulty) - сложность эвента строкой

Таблица eventType представляет собой описание типа инстанс-ивента. Так как тип может быть только один (либо solo, либо group, но не оба сразу), то в таблице eventType заполнено только одно поле из представленых ниже. В заполненом поле содержится таблица с описанием данных для этого типа инстанс-ивента.

Формат таблицы eventType:

-- Поля (заполнено только одно в зависимости от типа интервала):
solo: table or nil - если тип "одиночный" (каждый сам за себя), то таблица с полями:
  minAvatarsCount: number (integer) - минимум игроков, после которого запускается таймер самоуничтожения острова
  capacity: number (integer) - максимальное кол-во игроков
  minAvatarLevel: number (integer) - минимальный уровень, необходимый для участия в ивенте
group: table or nil - тип "групповой" (фракция на фракцию), таблица с теми же полями, что и у solo
premade: table or nil - таблица с теми же полями, что и у solo
mwar: table or nil - тип "глобальная война за территорию", таблица с теми же полями, что и у solo
pillage: table or nil - тип "грабительский налет", таблица с теми же полями, что и у solo
lastStand: table or nil - тип "lastStand", таблица с теми же полями, что и у solo
mwarRaid: table or nil - рейдовое сражение Доминиона, таблица с теми же полями, что и у solo
mwarLadder: table or nil - групповое сражение Доминиона, таблица с теми же полями, что и у solo
ratingPvP: table or nil - рейтинговая арена
randomBG: table or nil - случайное бг(хутор/яр)
lfgRaid: table or nil - рейдовый PvE эвент
lfg: table or nil - PvE эвент

Таблица startTime представляет собой описание времени старта инстанс-ивента. Так как время старта может быть только разного типа (почасовое, ежедневное, еженедельное и т.п.), то в этой таблице заполнено только одно поле из представленых ниже. В заполненом поле содержится таблица с описанием данных для этого типа времени старта.

Формат таблицы startTime или элемента списка startTimes:

-- Поля (заполнено только одно в зависимости от типа интервала):
hourly: table or nil - ежечасно, таблица с полями:
  minute: number (integer) - минута начала события, начиная с 0

daily: table or nil - ежедневно, таблица с полями:
  hour: number (integer) - час начала события, начиная с 0
  minute: number (integer) - минута начала события, начиная с 0

weekly: table or nil - еженедельно, таблица с полями:
  day: number (integer) - день недели начала события, начиная с 0
  hour: number (integer) - час начала события, начиная с 0
  minute: number (integer) - минута начала события, начиная с 0

monthly: table or nil - ежемесячный, таблица с полями:
  day: number (integer) - день месяца начала события, начиная с 1
  hour: number (integer) - час начала события, начиная с 0
  minute: number (integer) - минута начала события, начиная с 0

yearly: table or nil - ежегодный, таблица с полями:
  sysMonth: string (enum "ENUM_Month...") - месяц начала события
  month: number (enum ENUM_Month...) - месяц начала события
  day: number (integer) - день месяца начала события, начиная с 1
  hour: number (integer) - час начала события, начиная с 0
  minute: number (integer) - минута начала события, начиная с 0

now: table or nil - "сейчас", пустая таблица

never: table or nil - "никогда", пустая таблица

once: table or nil - однократный, таблица с полями:
  year: number (integer) - год начала события
  sysMonth: string (enum "ENUM_Month...") - месяц начала события
  month: number (enum ENUM_Month...) - месяц начала события
  day: number (integer) - день месяца начала события, начиная с 1
  hour: number (integer) - час начала события, начиная с 0
  minute: number (integer) - минута начала события, начиная с 0

Пример:

local info = matchMaking.GetEventInfo( eventId )
if info then
  if info.group then
    LogInfo( "Group instanced event, capacity: ", info.group.capacity )
  end
end

См. также:

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

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

На главную