Возвращает информацию, необходимую для смены класса аватара, например варианты для замены вещей на подходящие новому классу. Имеет смысл, только если аватар находится в соответствующем состоянии (см. EVENT_CHARACTER_CLASS_CHANGER_CHANGED), когда класс для замены уже выбран (для выбора используется ClassSelectQuestion) и требуется уточнить детали замены.
-- библиотека: avatar -- объявление: function GetClassChangerInfo() -- параметры: нет -- возвращаемые значения: table or nil - nil если аватар не находится в соответствующей фазе смены класса; иначе таблица с данными о замене класса поля: charClassId: ResourceId - идентификатор ресурса CharacterClass: на какой класс меняем класс substs: table of tables или nil - список возможных замен для имеющихся у аватара вещей: nil если таких вещей нет, иначе список таблиц с полями: itemId: ObjectId - идентификатор имеющейся у аватара вещи, которая будет заменена itemSubstitutions: table of tables - список описаний возможных замен этой вещи (нужно будет выбрать одну из них, см. avatar.SetClassChangerInfo( changeList )): список таблиц с полями: itemSubstituteParts: table of tables of tables - список замен, которые могут быть выданы (все вместе) взамен имеющейся у аватара вещи (как правило одна вещь, но возможна замена двуручной вещи на пару право/леворучных) или отобраны вместе с ней (например в случае замены пары право/леворучных вещей на двуручную); каждый элемент списка является таблицей-списком, из которого нужно выбрать одну замену; каждый элемент такой вложенной таблицы-списка является таблицей с полями: substItemId: ObjectId - идентификатор вещи, которая будет выдана; если выбирается именно эта замена, то этот идентификатор впоследствии должен быть передан в avatar.SetClassChangerInfo( changeList ) как один из элементов списка changeList isRemoved: boolean - если false, то такая вещь будет выдана аватару при замене; если true, то эта вещь будет отобрана у аватара enchantsSubstitutions: table of tables - список замен самоцветов (для всех самоцветов, вставленных в заменяемую вещь и подлежащих замене): список таблиц с полями: sourceEnchantItemId: ObjectId - идентификатор самоцвета, который будет заменён oneOfEnchantSubstitution: table of ObjectId - список id самоцветов, один из которых надо выбрать на замену (см. avatar.SetClassChangerInfo( changeList ))
Пример:
local info = avatar.GetClassChangerInfo()
См. также