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

На главную


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
FunctionAvatarGetRecipeAfflatusItem
FunctionAvatarGetRecipeInfo
FunctionAvatarGetSkillInfo
FunctionAvatarGetSkills
FunctionItemLibGetActivationInfo
FunctionItemLibGetCraftInfo
FunctionItemLibGetCraftToolInfo
FunctionItemLibGetExchangeInfo
FunctionItemLibGetOwnershipLimit
FunctionItemLibIsCopied
RecipeId
SkillId


CategoryLuaApi CategoryFunction CategoryAvatar CategorySkill CategoryCraft

На главную