Рецепты (раскрывающееся дерево)

Bageerah

Свой человек
Участник
Сообщения
24
Розыгрыши
0
Репутация
0
Реакции
0
Баллы
533
Добрый день, коллеги!
Подскажите пожалуйста, в каких файлах искать отображение дерева рецепта?
Или не в файлах дело?

MHP.JPG


Суть в том что делаю кастомные рецепты, где из базового компонента крафтится другой, из другого третий и т.д. (т.е. у меня есть рецепт вещи "Part2", который состоит из вещи "Part1" и вещи "Mysterious Solvent". А "Part1" свою очередь состоит из "Mysterious Solvent".
Так вот проблема в том, что в рецепте "Part2" - не отображается такое дерево как на скрине с "GMHP"

Вот как выглядит у меня:
1721570815735.jpeg part2.JPG

Клиент: interlude

вот реализация клиентских и серверных файлов:
 

Вложения

  • 9300-9399_xml.JPG
    9300-9399_xml.JPG
    157,9 КБ · Просмотры: 39
  • 9400-9499_xml.JPG
    9400-9499_xml.JPG
    104,2 КБ · Просмотры: 42
  • etcitem_grp.JPG
    etcitem_grp.JPG
    148 КБ · Просмотры: 37
  • ItemName_dat.JPG
    ItemName_dat.JPG
    141,8 КБ · Просмотры: 38
  • Recipe_xml.JPG
    Recipe_xml.JPG
    114,4 КБ · Просмотры: 31
  • Recipe-c_dat.jpg
    Recipe-c_dat.jpg
    112,1 КБ · Просмотры: 42
Вроде бы оно должно само детектить по данным из recipe.dat, что такой-то ингредиент крафтится другим рецептом, т.е. показать из чего крафт этого ингредиента идет.

В новых хрониках в этом файле есть по идее поле is_showtree, которое вроде как как раз отвечает за показ дерева, но в более старых хрониках вроде как этого нема.
recipe_begin name=[mk_wooden_arrow] id=1 recipe_id=1666 level=1 product_id=17 product_num=500 is_showtree=1 is_multiple_product=0 mp_consume=30 success_rate=100 material={{1864;4;0};{1869;2;0}} recipe_end
 
Последнее редактирование:
material={{1864;4;0};{1869;2;0}}
тут 3й параметр как раз ид рецепта из которого изготовление идет ингредиента.
 
Вроде бы оно должно само детектить по данным из recipe.dat, что такой-то ингредиент крафтится другим рецептом, т.е. показать из чего крафт этого ингредиента идет.

В новых хрониках в этом файле есть по идее поле is_showtree, которое вроде как как раз отвечает за показ дерева, но в более старых хрониках вроде как этого нема.
да, такого определённо в интерлюд клиенте нет.
Было-бы понятно если-бы вообще, на всех рецептах дерево не показывалось.... а то получается на дефолтных показывает, а на новых, не из дефолтных продуктов - нет.
Да, ещё момент - если я в свой рецепт добавляю к примеру VoP - то он вполне себе нормально раскрывается...
Такое ощущение что где-то ещё лежит или зашито...

З.Ы.
Коллеги, если не затруднит, у кого есть свои рецепты на интерлюд клиенте - подтвердите или опровергните что работает или нет дерево на своих рецептах из своих компонентов....
Может зря бьюсь :rolleyes:

Всё ещё актуально...
Пробовал разные последовательности/очерёдности в recipe-c.dat - результат не меняется.
З.ы. неужели поставил в тупик всё сообщество? o_O
 
Вон выше Test написал уже что ссылка на состав материала идет как третье значение в инфе об ингредиенте. Но в реалиях интерлюда этого в структуре датника нет, так что как идет определение этого дела - фиг знает. там где-то в клиенте вобще может быть тупо захардкодено, что такие-то ид в материалах - это крафтящиеся предметы и для них надо показать состав, взяв из рецепта с таким-то ид.
 
Вон выше Test написал уже что ссылка на состав материала идет как третье значение в инфе об ингредиенте. Но в реалиях интерлюда этого в структуре датника нет, так что как идет определение этого дела - фиг знает. там где-то в клиенте вобще может быть тупо захардкодено, что такие-то ид в материалах - это крафтящиеся предметы и для них надо показать состав, взяв из рецепта с таким-то ид.
Выяснить-бы теперь где. Есть идеи как ??
 
в общем сама функция которая отвечает за построение дерева с плюсиками - находится в interface.u;
Берёт данные откуда-то отсюда: class 'UIDATA_RECIPE' и class 'UIDATA_ITEM';
Не могу пока сообразить где их искать и как править...
 
в общем сама функция которая отвечает за построение дерева с плюсиками - находится в interface.u;
Берёт данные откуда-то отсюда: class 'UIDATA_RECIPE' и class 'UIDATA_ITEM';
Не могу пока сообразить где их искать и как править...
В исходниках интерфейса.

class UIDATA_RECIPE extends UIDataManager
native;

native static function int GetRecipeClassID(int id);
native static function string GetRecipeIconName(int id);
native static function int GetRecipeProductID(int id);
native static function int GetRecipeProductNum(int id);
native static function int GetRecipeCrystalType(int id);
native static function int GetRecipeMpConsume(int id);
native static function int GetRecipeLevel(int id);
native static function int GetRecipeIndex(int id);
native static function string GetRecipeDescription(int id);
native static function int GetRecipeSuccessRate(int id);
native static function ParamStack GetRecipeMaterialItem(int id);

native static function string GetRecipeNameBy2Condition(int id, int nSuccessRate);
native static function string GetRecipeIconNameBy2Condition(int id, int nSuccessRate);
native static function string GetRecipeDescriptionBy2Condition(int id, int nSuccessRate);
native static function ParamStack GetRecipeMaterialItemBy2Condition(int id, int nSuccessRate);
defaultproperties
{
}
class UIDATA_ITEM extends UIDataManager
native;

native static function int GetFirstID();
native static function int GetNextID();
native static function int GetDataCount();
native static function string GetItemName(int id);
native static function string GetItemAdditionalName(int id);
native static function string GetItemTextureName(int id);
native static function string GetItemDescription(int id);
native static function int GetItemClassID(int id);
native static function int GetItemWeight(int id);
native static function int GetItemDataType( int classID );
native static function int GetItemCrystalType( int classID );
native static function bool GetItemInfo( int classID, out ItemInfo info );
native static function bool IsCrystallizable( int classID );
native static function string GetRefineryItemName( string strItemName, int RefineryOp1, int RefineryOp2 );
native static function GetSetItemIDList( int ClassID, int EffectID, out array<int> arrID );
native static function int GetSetItemEnchantValue( int ClassID );
native static function string GetSetItemEffectDescription( int ClassID, int EffectID );
native static function string GetSetItemEnchantEffectDescription( int ClassID );
defaultproperties
{
}
Возможно чем то поможет.
П.С И лежит это добро кстати в НВидов.длл
 
Последнее редактирование:
Вопрос закрыт, переписал всё с нуля (второй раз) - всё заработало. Где была ошибка так и не понял.
 
Назад
Сверху Снизу