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

На главную

## avatar.GetMetaUpgradeResults( sourceId, enhancerId, agentId, agentCount )

Возвращает предсказание по улучшению мета-предмета.

См. ENUM_UpgradeChanceBehavior_...

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

    -- объявление:
    function GetMetaUpgradeResults( sourceId, enhancerId, agentId, agentCount )

    -- параметры:
    sourceId: ObjectId - идентификатор улучшаемого предмета
    enhancerId: ObjectId - идентификатор предмета-улучшителя
    agentId: ObjectId - идентификатор предмета-агента, требуемого для улучшения
    agentCount: number (integer) - количество используемых агентов

    -- возвращаемые значения:
    table or nil - если нет ошибок, то таблица с полями:
      canUpgrade: boolean - true, если есть возможность улучшить при таком сочетании параметров; false если возможности улучшить предмет нет
      upgradeChance: nil or number - шанс моментального/двойного улучшения в промежутке [0, 1]; если возможности улучшить нет, то nil
      upgradeChanceBehavior: nil or number (enum ENUM_UpgradeChanceBehavior_...) - поведение при срабатывании шанса моментального/двойного улучшения
      sysUpgradeChanceBehavior: nil or string (enum "ENUM_UpgradeChanceBehavior_...") - поведение при срабатывании шанса моментального/двойного улучшения
      sysUpgradeVector: int (enum META_UPGRADE_...) - что улучшается при срабатывании шанса моментального/двойного улучшения: качество или уровень
      improvement: nil or number (float) - какая степень улучшения будет у результата после операции в промежутке [0, 99]; если возможности улучшить нет, то nil
      maxImprovement: nil or number (float) - наибольшая возможная степень улучшения (при бесконечном значении agentCount) в промежутке [0, 100], предполагается что если improvement равен maxImprovement, то увеличивать agentCount бессмысленно (см. также поле isSingleUpgradeAgent у avatar.GetItemMetaInfo( itemId )); если возможности улучшить нет, то nil
      resultId: ObjectId (ItemId) - Id предмета, который получится, если мета-апгрейд предполагает замену предмета при склейке (sysUpgradeVector == "META_UPGRADE_ITEM")

    -- пример:
    local tryResult = avatar.GetMetaUpgradeResults( sourceId, enhancerId, agentId, 1 )
    if tryResult and tryResult.canUpgrade then
      LogInfo( "Шанс улучшить: ", tryResult.upgradeChance * 100 )
    end

См. также:

- avatar.UpgradeMetaItem.

- ENUM_UpgradeChanceBehavior_....

- META_UPGRADE_....

- EVENT_META_UPGRADE_RESULT.

- поле isSingleUpgradeAgent у itemLib.GetMetaInfo( itemId ).

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

CategoryMeta
EnumMetaUpgrade
EnumUpgradeChanceBehavior
EventMetaDialog
EventMetaUpgradeBreak
EventMetaUpgradeResult
FunctionAvatarConvertMetaEnhancer
FunctionAvatarDuplicateMetaEnhancerItem
FunctionAvatarGetItemMallMetaUpgradeEnhancer
FunctionAvatarGetMetaUpgradeCost
FunctionAvatarGetMetaUpgradeResults
FunctionAvatarIsMetaEnhancerDuplicator
FunctionAvatarShowMetaUpgradeDialog
FunctionAvatarUpgradeMetaItem
FunctionCanPlaceMetaUpgradeAgent
FunctionCanPlaceMetaUpgradeEnhancer
FunctionCanPlaceMetaUpgradeSource
FunctionItemLibGetMetaInfo
FunctionItemLibGetRelatedQuestObjectives
FunctionItemLibGetUniversalMetaEnchancerItems

CategoryLuaApi CategoryFunction CategoryAvatar CategoryMeta

На главную