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

На главную


avatar.GetRecipeInfo( id )

Возвращает информацию о рецепте по идентификатору ресурса.

-- система:
UIState/GameState
функция имеет основную реализация в логике и расширенную реализацию в UI

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

-- объявление:
function GetRecipeInfo( id )

-- параметры
id: RecipeId - Id ресурса рецепта

-- возвращаемые значения
nil, если рецепт не найден по идентификатору, или table:
  id: RecipeId - Id ресурса рецепта
  name: WString - название
  description: ValuedText or nil - описание с подставленными текущими значениями параметров
  skillId: SkillId or nil - идентификатор ресурса скила, которому принадлежит рецепт (если скилл выучен игроком)
  score: number( int ) - необходимый уровень (score) умения для изучения
  --{ часть таблицы, реализованная только для UI
  image: TextureId - идентификатор текстуры для иконки рецепта
  --}
  components: table of ObjectId or ResourceId - массив компонент рецепта (см. ниже)
  resultQuantity: number( int ) - количество предметов, получаемых из рецепта по умолчанию
  defaultItem: ObjectId or nil - идентификатор предмета, получаемый из рецепта по умолчанию
  nextRecipe: ObjectId or nil - идентификатор анлока следующего ресурса (если ещё не выполнен)
  nextRecipeId: RecipeId or nil - следующий рецепт
  nextRecipePoints: number( int ) - Сколько надо просветления для анлока следующего рецепта
  qualificationPoints: CurrencyId - Id альтернативной ценности
  resultItems: table of ObjectId - индексированный с 0 массив идентификаторов предметов, создаваемых по рецепту (отсортированы по качеству от менее качественного (0) до более качественного)
  bindResult: boolean - будет ли результат привязан к аватару

-- пример использования
local alchemy = avatar.GetAlchemyInfo()
local recipes = alchemy.recipes
for i = 0, GetTableSize( recipes ) - 1 do
  local recipeInfo = avatar.GetRecipeInfo( recipes[ i ] )
  if recipeInfo then
    common.LogInfo( debugCommon.FromWString( recipeInfo.name ) )

    local firstItemInfo = avatar.GetItemInfo( recipes[ i ].resultItems[ 0 ] )
    if firstItemInfo then
      common.LogInfo( "Предмет, создаваемый рецептом - ", debugCommon.FromWString( firstItemInfo.name ) )
    end
  end
end

Таблица components содержит список идентификаторов компонент рецепта. Для разных скиллов передаются разные идентификаторы:

Search: "CategoryLuaApi" "CategorySkill"

CategoryCraft
ComponentPropertyId
EnumToolProperty
EventForagingFailed
EventSkillAdded
EventSkillImprovementChanged
EventSkillRemoved
EventSkillsChanged
EventSkillScoreChanged
FunctionAvatarGetActiveCraftingSkill
FunctionAvatarGetComponentInfo
FunctionAvatarGetCurrentMaxSkillScore
FunctionAvatarGetMaxSkillScore
FunctionAvatarGetRecipeInfo
FunctionAvatarGetSkillInfo
FunctionAvatarGetSkills
FunctionItemLibGetActivationInfo
FunctionItemLibGetCraftInfo
FunctionItemLibGetCraftToolInfo
FunctionItemLibGetExchangeInfo
FunctionItemLibIsCopied
RecipeId
SkillId


CategoryLuaApi CategoryFunction CategoryAvatar CategorySkill CategoryCraft

На главную