Доброго времени суток! Сегодня я постараюсь детально разобрать вопрос, который возникает у новеньких (и не только) юзеров "Как работать с Classic/Legacy Клиентом, а именно с *.dat файлами".
Начнем, буду разбирать на примере Classic p166 en. Что нам понадобиться - Editor для dat файлов, возможно Вам повезет и "нужный" попадется с первого раза, а возможно и с 20-го.
1. Копируем все *.dat файлы из папки system_en - их получается 191, создаем отдельную папку с названием (например) "sys_dat" (где вам угодно) и закидываем их туда.
2. Удаляем файл icudtl.dat -> 190
3. Запускаем наш Editor и жмем "Decrypt All"/"Распаковать все"/ или может у вас еще какая-то кнопка, указываем путь к нашей созданной папке - "sys_dat", затем "select"/"ok"/"хорошо"/"дальше"/"распаковать" или что-то подобное.
4. По завершению процесса мы должны получить 190 файлов в формате *.txt (если 190 - смотри следующий шаг), если меньше - пробуем то же самое, но уже с другим Editor'ом (мне повезло, мой Editor работает и с Classic-p166 и с Legacy-p306/p311 клиентами)
5. Смотрим лог/консоль
Видим ошибки типа ...
... их нужно исправить.
открываем нашу папку "Это путь к вашей папке\sys_dat" и видим, что в ней появилась новая папка с названием "!unpacked", в которой лежат наши 190 *.txt файлы. Открываем Notepad++ и через массовый поиск (указываем путь к "Это путь к вашей папке\sys_dat\!unpacked") ищем и исправляем.
Еще надо исправить 2 файла MobSkillAnimgrp.txt и MobSkillAnimgrp_Classic.txt - открываем и через поиск ищем "seq_name=[skill_end]" (у меня это строка 7762) и исправляем на "seq_name=[SpAtk01]".
Начнем, буду разбирать на примере Classic p166 en. Что нам понадобиться - Editor для dat файлов, возможно Вам повезет и "нужный" попадется с первого раза, а возможно и с 20-го.
1. Копируем все *.dat файлы из папки system_en - их получается 191, создаем отдельную папку с названием (например) "sys_dat" (где вам угодно) и закидываем их туда.
2. Удаляем файл icudtl.dat -> 190
3. Запускаем наш Editor и жмем "Decrypt All"/"Распаковать все"/ или может у вас еще какая-то кнопка, указываем путь к нашей созданной папке - "sys_dat", затем "select"/"ok"/"хорошо"/"дальше"/"распаковать" или что-то подобное.
4. По завершению процесса мы должны получить 190 файлов в формате *.txt (если 190 - смотри следующий шаг), если меньше - пробуем то же самое, но уже с другим Editor'ом (мне повезло, мой Editor работает и с Classic-p166 и с Legacy-p306/p311 клиентами)
5. Смотрим лог/консоль
[2023-10-03 19:06:29] INFO Mass unpacker with using p166_en chronicles by path [Это путь к вашей папке\sys_dat]
[2023-10-03 19:06:29] INFO Unpacking [AbnormalDefaultEffect.dat]
[2023-10-03 19:06:30] INFO Unpacking [L2GameDataName.dat]
[2023-10-03 19:06:30] INFO GameDataName: Error index: 13893 string: [none] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 37309 string: ItemSound.public_sword_shing_3;[ItemSound.sword_great_4 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72447 string: [MonSound22.fafurion_warrior_a_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72448 string: [MonSound22.fafurion_warrior_a_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72456 string: [MonSound22.fafurion_warrior_b_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72457 string: [MonSound22.fafurion_warrior_b_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75071 string: Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75072 string: Npcdialog2.human_M_young_lively_guard_02;[Npcdialog2.human_M_young_lively_guard_04 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 80409 string: [Branch3.G_Russia_npc_m00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 93126 string: LineageAccessory3.fertheia_pvp_Hrm_ad11;[none status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97286 string: [icon.bm_elmoaden_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97287 string: [icon.bm_elmoaden_pocket] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97288 string: [icon.bm_elmoaden_gold_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97289 string: [icon.bm_elmoaden_silver_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97290 string: [icon.etc_treasure_box_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97374 string: [icon.etc_clear_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97375 string: [icon.etc_violet_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97376 string: [icon.etc_pink_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97377 string: [icon.etc_dkbrown_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97378 string: [icon.etc_black_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97379 string: [icon.etc_golden_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97380 string: [icon.etc_silver_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97381 string: [icon.etc_cupreous_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97382 string: [icon.etc_earthen_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97383 string: [icon.etc_crystal_cube_event_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Load 100098 count.
[2023-10-03 19:06:30] INFO Unpacking [AbnormalEdgeEffectData.dat]
...(все остальные файлы)
[2023-10-03 19:06:39] INFO Unpacking [ZoneName_Classic-eu.dat]
[2023-10-03 19:06:39] INFO Completed. Elapsed 9 sec
[2023-10-03 19:06:29] INFO Unpacking [AbnormalDefaultEffect.dat]
[2023-10-03 19:06:30] INFO Unpacking [L2GameDataName.dat]
[2023-10-03 19:06:30] INFO GameDataName: Error index: 13893 string: [none] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 37309 string: ItemSound.public_sword_shing_3;[ItemSound.sword_great_4 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72447 string: [MonSound22.fafurion_warrior_a_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72448 string: [MonSound22.fafurion_warrior_a_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72456 string: [MonSound22.fafurion_warrior_b_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72457 string: [MonSound22.fafurion_warrior_b_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75071 string: Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75072 string: Npcdialog2.human_M_young_lively_guard_02;[Npcdialog2.human_M_young_lively_guard_04 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 80409 string: [Branch3.G_Russia_npc_m00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 93126 string: LineageAccessory3.fertheia_pvp_Hrm_ad11;[none status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97286 string: [icon.bm_elmoaden_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97287 string: [icon.bm_elmoaden_pocket] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97288 string: [icon.bm_elmoaden_gold_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97289 string: [icon.bm_elmoaden_silver_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97290 string: [icon.etc_treasure_box_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97374 string: [icon.etc_clear_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97375 string: [icon.etc_violet_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97376 string: [icon.etc_pink_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97377 string: [icon.etc_dkbrown_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97378 string: [icon.etc_black_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97379 string: [icon.etc_golden_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97380 string: [icon.etc_silver_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97381 string: [icon.etc_cupreous_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97382 string: [icon.etc_earthen_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97383 string: [icon.etc_crystal_cube_event_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Load 100098 count.
[2023-10-03 19:06:30] INFO Unpacking [AbnormalEdgeEffectData.dat]
...(все остальные файлы)
[2023-10-03 19:06:39] INFO Unpacking [ZoneName_Classic-eu.dat]
[2023-10-03 19:06:39] INFO Completed. Elapsed 9 sec
[2023-10-03 19:06:30] INFO GameDataName: Error index: 13893 string: [none] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 37309 string: ItemSound.public_sword_shing_3;[ItemSound.sword_great_4 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72447 string: [MonSound22.fafurion_warrior_a_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72448 string: [MonSound22.fafurion_warrior_a_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72456 string: [MonSound22.fafurion_warrior_b_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72457 string: [MonSound22.fafurion_warrior_b_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75071 string: Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75072 string: Npcdialog2.human_M_young_lively_guard_02;[Npcdialog2.human_M_young_lively_guard_04 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 80409 string: [Branch3.G_Russia_npc_m00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 93126 string: LineageAccessory3.fertheia_pvp_Hrm_ad11;[none status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97286 string: [icon.bm_elmoaden_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97287 string: [icon.bm_elmoaden_pocket] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97288 string: [icon.bm_elmoaden_gold_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97289 string: [icon.bm_elmoaden_silver_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97290 string: [icon.etc_treasure_box_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97374 string: [icon.etc_clear_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97375 string: [icon.etc_violet_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97376 string: [icon.etc_pink_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97377 string: [icon.etc_dkbrown_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97378 string: [icon.etc_black_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97379 string: [icon.etc_golden_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97380 string: [icon.etc_silver_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97381 string: [icon.etc_cupreous_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97382 string: [icon.etc_earthen_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97383 string: [icon.etc_crystal_cube_event_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Load 100098 count.
[2023-10-03 19:06:30] INFO GameDataName: Error index: 37309 string: ItemSound.public_sword_shing_3;[ItemSound.sword_great_4 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72447 string: [MonSound22.fafurion_warrior_a_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72448 string: [MonSound22.fafurion_warrior_a_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72456 string: [MonSound22.fafurion_warrior_b_dmg_2 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 72457 string: [MonSound22.fafurion_warrior_b_dmg_3 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75071 string: Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 75072 string: Npcdialog2.human_M_young_lively_guard_02;[Npcdialog2.human_M_young_lively_guard_04 status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 80409 string: [Branch3.G_Russia_npc_m00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 93126 string: LineageAccessory3.fertheia_pvp_Hrm_ad11;[none status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97286 string: [icon.bm_elmoaden_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97287 string: [icon.bm_elmoaden_pocket] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97288 string: [icon.bm_elmoaden_gold_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97289 string: [icon.bm_elmoaden_silver_box] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97290 string: [icon.etc_treasure_box_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97374 string: [icon.etc_clear_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97375 string: [icon.etc_violet_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97376 string: [icon.etc_pink_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97377 string: [icon.etc_dkbrown_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97378 string: [icon.etc_black_crystal_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97379 string: [icon.etc_golden_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97380 string: [icon.etc_silver_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97381 string: [icon.etc_cupreous_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97382 string: [icon.etc_earthen_ore_cube_pc_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Error index: 97383 string: [icon.etc_crystal_cube_event_i00] status fix: false
[2023-10-03 19:06:30] INFO GameDataName: Load 100098 count.
открываем нашу папку "Это путь к вашей папке\sys_dat" и видим, что в ней появилась новая папка с названием "!unpacked", в которой лежат наши 190 *.txt файлы. Открываем Notepad++ и через массовый поиск (указываем путь к "Это путь к вашей папке\sys_dat\!unpacked") ищем и исправляем.
Все ошибки помимо того, как указано выше, взятые в кавычки, например:
когда мы видим
[2023-10-03 19:06:30] INFO GameDataName: Error index: 13893 string: [none] status fix: false
для поиска используем [[none]], убираем одни квадратные скобки + "none" должно быть с заглавной буквы, т.е. на выходе мы получаем [None]
>
так же и со всеми остальными ошибками - где надо убрать скобки, где наоборот не хватает скобки, например как здесь:
Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05
когда мы видим
[2023-10-03 19:06:30] INFO GameDataName: Error index: 13893 string: [none] status fix: false
для поиска используем [[none]], убираем одни квадратные скобки + "none" должно быть с заглавной буквы, т.е. на выходе мы получаем [None]
>
так же и со всеми остальными ошибками - где надо убрать скобки, где наоборот не хватает скобки, например как здесь:
Npcdialog2.human_M_young_lively_guard_03;[Npcdialog2.human_M_young_lively_guard_05