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

На главную


RequirementsTable

Таблица, представляющая описание требований (например к использованию заклинания). Содержит список таблиц:

RequirementsTable: table of tables (requirements) - индексированный с 0 список таблиц - описаний требований.
 Каждое требование представляет собой таблицу с полями:
  type: number (enum AFCT_...) or nil - Если требование составное, то значение перечисления enum AFCT_..., у простых требований это поле отсутствует.

  Остальные поля в зависимости от type:

Составные требования:
  type: number (enum AFCT_...) - Если требование составное, то значение перечисления enum AFCT_.... У таких требований есть список дочерних требований.
  isInNotPredicate: boolean - находимся ли мы сейчас в требовании Not - выполнение текущего требования инвертировано
  success: boolean - выполняется ли это требование
  childs: table of requirements - список дочерних требований, если есть

Простые требования:
  type: nil - у простых требований это поле отсутствует.
  success: boolean - выполняется ли это требование
  cause: number (int) - код ошибки.
  sysCause: string (enum "ENUM_ActionFailCause_...") - строковый код ошибки.
  isInNotPredicate: boolean - находимся ли мы сейчас в требовании Not - выполнение текущего требования инвертировано
  text: WString or nil - требования определенное в виде простой строки
  дополнительные параметры см. в EVENT_ACTION_FAILED_SPELL
    number: number or nil
    number2: number or nil
    money: number or nil - количество денег в меди
    name: WString or nil
    rank: number or nil - ранг заклинания или умения, если он больше 1
    dress: number or nil
    itemClass: WString or nil
    sysRace: string or nil
    sysPsionicContactType: string or nil
    reputationLevel: number or nil

Описание требований: "ENUM_ActionFailCause_...".

Дополнительные параметры как в EVENT_ACTION_FAILED_SPELL.

enum AFCT_...:

AFCT_Or - любое из требований может выполниться
AFCT_And - все требования должны выполняться
AFCT_Pet - все требования должны выполняться на ПИТОМЦЕ
AFCT_Not - дочернее требование не должно выполняться

-- пример использования
local spellbook = avatar.GetSpellBook()
local reqs = avatar.GetSpellRequirements( spellbook[0] )

local firstRequirement = nil

if reqs then
  local req = reqs.casterConditions[0]
  if req then

    if req.type then

      req = req.childs[ 0 ]
      if req then
        firstRequirement = req.sysCause
      end

    else
      firstRequirement = req.sysCause
    end
  end
end

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

AbilityId
ActionGroupId
AliasVisObjectId
AstralSectorId
BattlegroundMarkId
BillingBonusId
BuffId
CategoryTypes
CharacterClassId
CharacterFormId
CombatTagId
ComponentPropertyId
CurrencyCategoryId
CurrencyId
DecalObjectId
FactionId
FunctionCommonCreateValuedObject
FunctionCommonGetApiType
FunctionCommonGetFatalityPhraseLimits
FunctionCommonGetShortString
FunctionCommonIsFatalityPhraseFiltered
FunctionCommonIsTextFiltered
FunctionCommonIsValuedObject
FunctionCommonIsValuedText
FunctionResourceIdGetInfo
FunctionResourceIdGetInstanceId
FunctionResourceIdGetPath
FunctionResourceIdIsEqual
GamePosition
Geodata
InnateStatSecondary
InstancedEventCategoryId
InstancedEventResourceId
ItemCategoryId
ItemId
LfgDestinationCategoryId
LfgDestinationId
LifestyleCategoryId
LifestyleCollectionId
LootGroupId
LuaApiTypes
LuaFullDateTime
LuaRaceClassInfoPart
LuaSexInfoPart
MapModifierId
MedalId
MedalRankId
MountTalentId
MutationInfo
PostTypeId
QuestId
RecipeId
RelatedSoundsLua
RelatedTextsLua
RelatedTexturesLua
RequirementsTable
ResourceId
RuleId
ShipSkinId
SkillId
SocketId
Sound2DId
SpecialStatId
SpellId
TeleportMasterId
TextureId
TimeTableId
TutorialCategoryId
TutorialId
TypeValuedObject
TypeValuedText
TypeWidgetDesc
TypeWString
UniqueId
UnlockCategoryId
VisActionId
VisObjectId
VisualShipId
VoteId
WishmasterResourceId


CategoryLuaApi CategoryFunction CategoryTypes

На главную