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