Последние статьи| Популярные файлы| Последние файлы
Главная » Статьи » Учебники по Dragon age toolset » Текстовые учебники

2da файлы
Перевод и редакция DeKaVi 
Источники: 2DA or not 2DA – Overriding 2DA files Автор: John Vanderbeck

От редактора: Я далеко не профессионал в деле перевода и оформления статей и тем более в DA toolset. Взялся я за это нелегкое дело т.к. нет альтернативных русскоязычных источников. Сам разбираюсь и не прочь другим помочь. Потому прошу воспринимать мои труды адекватно. Буду рад если подскажете или иными способами поможете исправить неточности. Спасибо за понимание. Поехали!

В уроке мы рассмотрим, как работать с файлами 2DA, как их правильно изменять, вводить пользовательские элементы и поведения в Dragon Age.

Что такое 2DA файл? 
По своей сути, 2da файлы не более чем таблица. Набор строк и столбцов, описывающих данные игры. Перечень игровых предметов, например, и вся связанная с ними статистика, работает безукоризненно как таблица.

2da файлы используются для определения большинства, если не всех, данных в игре. В качестве бонуса для моддеров, у вас есть возможность изменять эти файлы.

В "сыром", не откомпилированном формате, 2da хранятся в виде простого XLS файла - таблице Excel. Их можно открывать и редактировать в Microsoft Excel (OpenOffice или др. программами пользоваться НЕ РЕКОМЕНДУЕТСЯ). Эти таблицы в итоге компилируются в двоичный файл с расширением GDA.

Преимущества 2DA файлов 
В теории, вы могли бы просто заменить соответствующие данные в XLS файле, затем скомпилировать, но это неправильный способ. Если вы это сделаете, то игра в будущем, с новой версией этого файла, может сбросить ваши изменения или могут появиться проблемы в работе с другими модулями.

В этом случае, Bioware дало нам возможности не трогать главный файл, а создавать дополнение этого файла - M2DA(Mutliple two dimensional arrays). Это хороший способ расширить или переопределить данные. Давайте посмотрим, как это работает.

Давайте рассмотрим на примере. Скажем, xls таблица с предметами игры могут выглядеть примерно так: 
 
Здесь мы можем увидеть определение и параметры нескольких предметов. Скажем данный файл является "items.xls".Теперь мы хотим сделать новый элемент в игре. Мы хотим добавить новый длинный лук(longbow). Мы могли бы открыть копию этого файла(items.xls) и добавить новую строку с ID 5, но это было бы неправильным! 
Вместо этого мы создаем новый файл, назовем его "items_bow.xls". И здесь мы будем определять наш лук, но мы не должны забывать, что ID(идентификатор) должен быть 5. Мы получим нечто вроде этого: 
 
Теперь мы создали новый файл с нашим новым предметом. Мы, в сущности, создали M2DA файл. Но каким образом наши данные теперь будут сочетаться с данными игры? Все дело в имени файла! Помните, файл предметов называется "items.xls" и мы создали новый файл с именем "items_bow.xls"? Обратите внимание, что оба файла начинаются с одного и того же слова "items". Это является ключевым моментом! Когда игра грузит предметы, она будет загружать их из 2da файлов. Затем, будет загружать данные с нашего items_bow файла(M2DA файла) и обнаружив там лук с ID 5, он будет дополнять игру новым объектом.

В итоге, мы имеем два ключевых момента. Это имя файла и идентификатор объекта. Если мы указали уникальный ID, т.е. его еще не было в главном файле - мы добавим новый предмет, если мы будем использовать ранее созданный ID, то мы заменим объект, переопределим его в новом файле. Например, мы могли бы сделать файл "items_new_swords.xls" 
 
Этот файл, в сочетании с нашими предыдущими двумя будет создавать еще один новый предмет, Shortsword, №6, но также переопределит данные предмета с ID №2. Давайте теперь посмотрим на реальном примере.

Реальный 2DA немного сложнее, но не намного. Давайте взглянем на настоящий 2da. Это из 2DA_base.xls (Прим. ред.: находится в папке игры Dragon Age - Origins\tools\Source\2DA) 
 
Первые две строки в 2da всегда одни и те же. Строка 1 содержит имена столбцов, в первом столбце всегда ID. Остальное зависит от данных 2da. Вторая строка показывает тип данных в каждой колонке. Int - целое число, string - строка(просто текст) и т.д. Фактически, данные начинаются на третей строке. Каждая строка должна иметь уникальный идентификатор, а идентификатор должен быть в последовательном порядке.

Ранее мы говорили, что игра объединяет 2da на основании имен файлов.Но как вы узнаете, какие имена файлов использовать? В файле 2DA_base.xls хранится ответ на этот вопрос. В нем мы видим, что файл, который определяет предметы в игре будут начинаться с "BITM_". Любой M2DA который мы хотим сделать для переопределения, должен иметь такой же префикс.

Компиляция 2DA файлов 
Теперь, когда мы знаем как использовать 2da файлы для создания новых и переопределения старых данных, мы должны узнать, как собрать из xls файлов, файлы GDA - понятные для игры. Это очень легко. Для этого используются утилита ExcelProcessor.exe из директории toolsest(Dragon Age\tools\ResourceBuild\Processors). Есть несколько способов использования этого инструмента, но сейчас я собираюсь описать самый простой. 
Для начала выберите каталог для хранения ваших xls файлов. Не имеет значение, где вы будете их хранить. Копируйте туда утилиту ExcelProcessor.exe. Создайте с этого файла ярлык в той же папке. теперь можете просто перетаскивать xls файл на ярлык. В той же папке появится много файлов. Для разных объектов может потребоваться различные файлы (названия задаются из имен вкладок в xls файле). Для предметов это скорее всего будут файлы BITM_base.GDA и ItemStats.GDA.

Куда поместить скомпилированные файлы 2DA 
После компилирования этих файлов, вам необходимо их разместить для правильной работы. К сожалению у меня нет точных данных, поэтому хочу сразу сказать что моя информация может быть неправильной или неполной. Я буду обновлять информацию. 
(Прим. ред.: далее в комментариях предлагают рецепт: 
1) сделал копию ABI_Base.xml 
2) Удалил все лишние строки. оставил только свои изменения 
3) Использовал ExcelProcessor конвертировал таблицы в файлы GDA 
4) удалил всё, кроме двух файлов GDA ABI_Base и ability_data 
5) переименовал их в ABI_Base_NightmarePlus и ability_data_NightmarePlus 
6) скопировал файлы в packages/core/override/zNightmarePlus подкаталог (примечание редактора: в папке "Мои документы" наверное...) 
7) Игра работает безупречно и модификации работают вместе с другими модами ABI_Base)


Категория: Текстовые учебники | Добавил: Darkspawn (15.02.2010)
Просмотров: 2815 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]