Возвращает информацию о рецепте по идентификатору ресурса.
-- система:
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: UnlockId 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 содержит список идентификаторов компонент рецепта. Для разных скиллов передаются разные идентификаторы:
Алхимия - table of ComponentPropertyId - массив идентификаторов ресурсов алхимических компонент рецепта (см. avatar.GetComponentInfo(componentId)
Создание доспехов (armorCraft или DiceCraft) - table of ObjectId - массив идентификаторов объектов предметов, необходимых для рецепта