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

На главную

## 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 - выполнение текущего требования инвертировано
      дополнительные параметры см. в 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
AstralRegionId
AstralSectorId
BattlegroundMarkId
BillingBonusId
BuffId
CategoryTypes
CharacterClassId
CheckRoomCategoryId
CheckRoomCollectionId
ComponentPropertyId
CurrencyCategoryId
CurrencyId
DecalObjectId
FactionId
FunctionCommonCreateValuedObject
FunctionCommonCreateValuedText
FunctionCommonGetApiType
FunctionCommonGetEmptyWstring
FunctionCommonIsEmptyWstring
FunctionCommonIsTextFiltered
FunctionCommonIsValuedObject
FunctionCommonIsValuedText
FunctionCommonIsWString
FunctionResourceIdGetInfo
FunctionResourceIdGetInstanceId
FunctionResourceIdGetPath
FunctionResourceIdIsEqual
GamePosition
Geodata
InnateStatSecondary
InstancedEventResourceId
ItemCategoryId
ItemId
LootGroupId
LuaApiTypes
LuaFullDateTime
LuaRaceClassInfoPart
LuaSexInfoPart
MapModifierId
MutationInfo
PostTypeId
QuestId
RecipeId
RelatedTextsLua
RelatedTexturesLua
RequirementsTable
ResourceId
ShipSkinId
SkillId
Sound2DId
SpellId
TextureId
TimeTableId
TypeValuedObject
TypeValuedText
TypeWidgetDesc
TypeWString
VisActionId
VisObjectId
VisualShipId
WishmasterResourceId

CategoryLuaApi CategoryFunction CategoryTypes

На главную