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

На главную

## avatar.GetArmorCraftGameInfo(skillId)

Возвращает информацию о текущей миниигре armor craft. Если игрок не играет, то возвращает nil.

Миниигра включат в себя следующие свойства:

- rerollCount - количество доступных бросков кубика, случайно распределяющих свойства

- properties - массив выброшенных свойств и соответствующий список закрепленных слотов свойств

- counters - массив счетчиков свойств, накопленных за игру (и список закрепленных слотов).

Последний массив и есть массив с результатами миниигры. Слоты в массиве индексированы енумом ARMOR_CRAFT_PROP_....

Списки закрепленных слотов соответствуют каждому массиву.

Если элемент такого списка false, то свойство или счетчик можно закрепить. В случае properties это означает, что при следующем броске кубика, свойство в этом слоте не изменится. А в случае counters счетчик соответствующего свойства нарастится на выпавшее в игре в данный момент количество слотов с данным свойством, слоты свойств разлочатся и кубик снова бросится.

Если элемент такого списка true, то для counters уже нельзя провести закрепление по этому слоту, а для roperties можно снова разлочить этот слот.

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

    -- объявление:
    function GetArmorCraftGameInfo(skillId)

    -- параметры
    skillId: SkillId - Id ресурса умения

    -- возвращаемые значения
    nil, если главный игрок не в состоянии миниигры armor craft-а, или table:

    -- поля возвращаемой таблицы
      -- текущее состояние
      defaultRerollCount: number(integer) - начальное количество доступных бросков кубика
      rerollCount: number(integer) - текущее количество доступных бросков кубика

      raisedScoreProb: number (float) - вероятность повышения уровня навыка при завершении игры на текущих счётчиках

      properties: Table of number(integer) - текущие выпавшие свойства после броска кубика
      propertiesLocks: Table of boolean - закреплено ли соответствующее свойство

      counters: Table of number(integer) - текущие значения счётчиков набранных свойств за время миниигры. Размер таблицы равен 6 по числу свойств. Свойства индексируются по значениям енума ARMOR_CRAFT_PROP_...
      countersLocks: Table of boolean - закреплен ли уже соответствующий счетчик

    -- пример использования
    local gameInfo = avatar.GetArmorCraftGameInfo(skillId)
    if gameInfo then
      if gameInfo.countersLocks[ARMOR_CRAFT_PROP_LVL_ADD] then
       local finishedLevelAdd = gameInfo.counters[ARMOR_CRAFT_PROP_LVL_ADD]
      end

      if gameInfo.propertiesLocks[propSlot] then
       local lockedProperty = gameInfo.properties[propSlot]
      end
    end

#### Search: "CategoryLuaApi" "CategoryArmorCraft"

EnumArmorCraftProp
EventArmorCraftCanceled
EventArmorCraftFinished
EventArmorCraftGameStarted
EventArmorCraftItemCreated
EventArmorCraftItemEmpty
EventArmorCraftItemPlaced
EventArmorCraftNoEmptySlot
EventArmorCraftNotArmorCraftItem
EventArmorCraftNotAvailableResources
EventArmorCraftNotEnoughComponents
EventArmorCraftRecipesChanged
EventArmorCraftRerolled
EventArmorCraftResultRejected
EventArmorCraftScoreChanged
EventArmorCraftStarted
FunctionAvatarCancelArmorCraft
FunctionAvatarGetArmorCraftCounterInfo
FunctionAvatarGetArmorCraftCurrentItem
FunctionAvatarGetArmorCraftGameInfo
FunctionAvatarGetArmorCraftInfo
FunctionAvatarGetArmorCraftPlacedItems
FunctionAvatarGetArmorCraftResultItem
FunctionAvatarGetArmorCraftResultRecipe
FunctionAvatarGetArmorCraftViewedRecipes
FunctionAvatarGetCraftingSkillRerollCurrencyId
FunctionAvatarIsArmorCraftComponentEnough
FunctionAvatarPutArmorCraftItemToEmptySlot
FunctionAvatarPutArmorCraftItemToSlot

CategoryLuaApi CategoryFunction CategoryAvatar CategoryArmorCraft

На главную