Анатомия клиента Aion

Актуальность - 2.1.2  Правки - Показать  Вставки - Показать
2.1.2 Без изменений.
2.1 Без изменений.
2.0 Без изменений.
1.9 Без изменений.
1.8 Без изменений.
1.6 Без изменений.
  for /r c:\out\ F in (*.xml) do Gibbed.Aion.ConvertXml.exe F F.new

Ниже рассматриваются способы извлечения из игрового клиента ресурсов и информации о игровых вещах/скиллах/мобах.

Вкратце:

  • Все ресурсы находятся в .pak файлах. Извлекать их оттуда можно при помощи утилиты AionPak.
  • Картинки сидят в .dds файлах разрешением 64х64. Сконвертировать сразу много .dds в что-то другое (скажем, jpg, gif, png, tga) можно при помощи XnView. Им же можно эти файлы массово обрезать до нужного размера.

Подробно и долго:

Оглавление:
1. Распаковываем данные
1.1. Архивы
1.2. Изображений
1.3. XML-файлы
1.4. HTML-файлы

2. Разбираем XML-файлы

2.1. Файлы локализации
2.2. Предметы
2.3. Навыки
2.4. Рецепты

Для работы потребуется:

Для удобства пользования давайте создадим папку, скажем, AionDB и все манипуляции с файлами будем проводить именно там, а путь к клиенту игры будем обозначать как Aion.
Распаковываем AionDB утилиты для распаковки ресурсов клиента. Утилита для HTML не имеет графического интерфейса и работает из командной строки. Создадим текстовый файл "run.bat" содержащий 1 строку:

@cmd

Запустив этот файл вы откроете командную строку с текущим рабочим каталогом. Дальше по тексту это понадобится.


Извлекаем данные

Все данные (скиллы, картинки и пр.) содержатся в .pak файлах. Это zip-архивы, но с изменёнными заголовками, поэтому запускаем AionPak, перетаскиваем в него нужный .pak файл и распаковываем. Появится папка с именем .pak файла и неким содержимым.

Вот список некоторых интересных архивов в которых мы поковыряемся:

  1. L10N\RUS.pak - файлы русской локализации.
    • RUS\Data\Strings\client_strings.xml - название предметов, НПС, различные названия.
    • Куча HTML с диалогами НПС.
    • Шрифты и пр.
  2. Data\Items\items.pak
    • Изображения предметов в формате DDS.
    • client_items.xml - характеристики предметов.
    • client_setitem.xml - описания сетов предметов.
    • client_combine_recipe.xml - рецепты крафта и преобразования.
  3. Data\Skills\skills.pak
    • Изображения умений и статусов в формате DDS.
    • client_skills.xml - список умений.
    • client_skill_learns.xml - список уровней и классов для изучения умений.
  4. Data\ui\ui.pak
    • элементы интерфейса пользователя в формате DDS.
  5. Data\Quest\Quest.pak
    • combine_task.xml - заказы для крафтов.
    • quest.xml - описание квестов.

В дальнейшем имя архива, в котором находится файл, упоминаться не будет, если этого явно не потребуется.

Размер окна: