Адаптация .dat

L2ClientDat, имеющийся тут на форуме где-то в файлах вполне с этим справляется. правда да, в шарной версии не хватает правильных структур для всех датников под крусейд, но ничего не мешает их добавить самому, пользуясь данными из ddf-файлов для l2asm/disasm, что юзаются в l2fileedit

и да, в L2ClientDat надо всю пачку датников пересобирать, если в них есть поля типа MAP_INT, как раз те поля куда кладутся индексы от строк в геймдата. потому что иначе в геймдата останутся только строки от датника который упаковали, а от других пропадут - в итоге само собой будут криты при загрузке.
получается что L2GameDataName.dat вообще не нужно трогать, и все что нужно само туда запихивается.
 

Смотря какой крит, бывает крит когда ты чистишь Armor\Weapon\EtcItemGrp - а ItemName - нет, поэтому происходит крит.
Тоже самое и со скилами, если в SkillName есть ID скилов которых нету в SkillGrp - будет крит.

Ещё может быть крит после чисти Armor\WeaponGrp, если не удалить лишние ID в AditionalItemGrp.

Если крит из-за убийства L2GameDataName - то тебе надо каждый раз переоткрывать файл который ты редактируешь.
Например изменил что-то в Armorgrp - сохранил - то нельзя повторно отредактировать и сохранить, надо ещё раз открывать Armorgrp и сохранять.
L2ClientDat он умеет распаковывать пачкой, а так-же упаковывать.
вот взял все дадки распаковал, ничего не меняя, упаковал = крит по памяти.
 
получается что L2GameDataName.dat вообще не нужно трогать, и все что нужно само туда запихивается.
да, при перепаке датников с полями MAP_INT старый L2GameDataName затирается и создается новый
 
да, при перепаке датников с полями MAP_INT старый L2GameDataName затирается и создается новый
А если упаковывать пачкой, он должен быть вместе со всеми, или его можно не ложить в деррикторию?
 
L2ClientDat он умеет распаковывать пачкой, а так-же упаковывать.
вот взял все дадки распаковал, ничего не меняя, упаковал = крит по памяти.
ну вот мне в свое время перед повторной упаковкой датников от крусейда пришлось править косяки в данных
о них вроде бы и сам L2ClientDat предупреждает в логе при распаковке
я говорю о строках которые содержат символы [ и ] к примеру - их быть не должно - они там образовались потому-что немного кривовато некоторые строки в датниках корейцы вписали.
так что после распаковки смотрим содержимое L2GameDataName ищем такие строки, после чего разбираемся откуда они и правим.

еще есть один ньюанс для скиллов в крусейде
если у вас есть кастомные скиллы, и они имеют ид выше 64к - меняйте на более маленькие
сейчас зачем-то ид скиллов при загрузке видимо приводятся к short'у и с слишком большими ид будет переполнение значения и крит при парсе.
 
ну вот мне в свое время перед повторной упаковкой пришлось править косяки в данных
о них вроде бы и сам L2ClientDat предупреждает в логе при распаковке
я говорю о строках которые содержат символы [ и ] к примеру - их быть не должно - они там образовались потому-что немного кривовато некоторые строки в датниках корейцы вписали.
так что после распаковки смотрим содержимое L2GameDataName ищем такие строки, после чего разбираемся откуда они и правим.
А вот с этим по подробнее, можно пример?)
 
А если упаковывать пачкой, он должен быть вместе со всеми, или его можно не ложить в деррикторию?
старый можешь вобще удалить, ибо как я выше сказал - он генерится с нуля каждый раз при упаковке датников с такими полями
 
А вот с этим по подробнее, можно пример?)
ну дык открываешь L2GameDataName после распаковки и ищешь строки где эти символы есть
после чего пытаешся найти в других датниках, где эти строки использованы и разбираешься - что же не так там описано

еще вроде с ";" не должно быть строк
 
ну дык открываешь L2GameDataName после распаковки и ищешь строки где эти символы есть
после чего пытаешся найти в других датниках, где эти строки использованы и разбираешься - что же не так там описано

еще вроде с ";" не должно быть строк
Я понял, ещё он ругается на неизвестные индексы, с этим что делать?) он эти строчки оставляет как есть, цифрами, как узнать что под конкретным индексом должно быть
 
как раз про эти строки, в этих скобках индексы, и я их не правил
 
я теперь совсем запутался..)
в общем надо делать так.
Распаковывать с gamedata, а запаковывать без него - так?
зачем тогда в нем что то править:D или править нужно уже в готовом варианте?)
 
я так понял речь об этом
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 13430 string: [none]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 35432 string: ItemSound.public_sword_shing_3;[ItemSound.sword_great_4
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 70776 string: Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 70777 string: Npcdialog2.human_M_young_lively_guard_02;[Npcdialog2.human_M_young_lively_guard_04
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 76010 string: [Branch3.G_Russia_npc_m00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 82846 string: [icon.ev_wp_halloween]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90260 string: [icon.etc_clear_crystal_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90261 string: [icon.etc_violet_crystal_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90262 string: [icon.etc_pink_crystal_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90263 string: [icon.etc_dkbrown_crystal_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90264 string: [icon.etc_black_crystal_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90265 string: [icon.etc_golden_ore_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90266 string: [icon.etc_silver_ore_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90267 string: [icon.etc_cupreous_ore_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90268 string: [icon.etc_earthen_ore_cube_pc_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90269 string: [icon.etc_crystal_cube_event_i00]
2018-10-03 19:46:35 INFO DebugUtil:413 - GameDataName: Error index: 90272 string: [icon.npoint_talisman_stat]
 
и да, [ ] есть во всех строках:D
name_begin name=[Кольцо Благословения] name_end
name_begin name=[Ожерелье Знаний] name_end
name_begin name=[Ожерелье Мучений] name_end
 
Ругается он на "[]" - но как сказал Test - вообще пофиг, это лишь предупреждение что в поле есть "[]" и не надо обращать на них внимание.
и да, [ ] есть во всех строках:D
name_begin name=[Кольцо Благословения] name_end
name_begin name=[Ожерелье Знаний] name_end
name_begin name=[Ожерелье Мучений] name_end

Там идёт [[Вот] Так] - и ругается на "[Вот] Так", но это ни на что не влияет (Опять же по словам Test'а).
 
Но в большинстве случаев это является косяком в плане того что такие строки указывают на несуществующие текстуры и т.п. - ибо с такими названиями текстур нет.
 
я теперь совсем запутался..)
в общем надо делать так.
Распаковывать с gamedata, а запаковывать без него - так?
зачем тогда в нем что то править:D или править нужно уже в готовом варианте?)
геймдату тебе вобще не надо трогать - не нужен он тебе в распакованном виде вобще никаким местом - он чисто самим распаковщиком используется для подстановки строк из него в нужные места в других датниках, а при запаковке он не используется вобще никак - просто создается с нуля после того как упакуются все другие датники, если в них были строки для этого файла.

и да, косячные строки надо править уже в конечных файлах
 
получается что после упаковки, открываем опять l2gamedata, и правим его)
 
только вот что править так до меня и не дошло:D
 
Но в большинстве случаев это является косяком в плане того что такие строки указывают на несуществующие текстуры и т.п. - ибо с такими названиями текстур нет.
Сколько проверял - всё есть и всегда подходит.

Но проблемы были с добавлением новых предметов, которые я решил очень легким способом, сутки сидел лопатил все .dat файлы и выпиливал всё, потом добавлял с нуля всё нужно, в тоге сработало и теперь все збс пашет.
 
Назад
Сверху Снизу