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

На главную


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
FunctionAvatarLockArmorCraftCounter
FunctionAvatarLockArmorCraftProperty
FunctionAvatarPutArmorCraftItemToEmptySlot
FunctionAvatarPutArmorCraftItemToSlot
FunctionAvatarRerollArmorCraft
FunctionAvatarStartArmorCraftGame


CategoryLuaApi CategoryFunction CategoryAvatar CategoryArmorCraft

На главную