MPQ Editor [Для открытия патчей] DBC Editor [Для открытия и эдитинга ДБЦ] DBC-CSV [Для конвертации ДБЦ в ЦСВ] И хороший блокнотик [Я юзаю Блокнотом]
Рассмотрим на примере Гоблинов. Для начала создадим папку с именем DBC (например), и положим в неё все выше перечисленные DBC. Скачаем DBC-CSV конвертер. Переконвертируем все DBC в CSV, и удалим ранее скопированные DBC. (DBC-CSV почему-то не захотел конвертировать файл ChrRaces.dbc, поэтому я сначала открыл его в DBCEditor и ч/з него переконвертировал в CSV)
Колонка | Поле | Примечание 1 | ID Рассы | 2 | Флаги | Для играбельности рассы необходимо поставить 12 3 | Фракция | ID фракции можно узнать в Faction.dbc 4 | Разведка | 5 | Муж.модель | Используется только для создания персонажей на экране выбора персонажа 6 | Жен.модель | Используется только для создания персонажей на экране выбора персонажа 7 | Аббревиатура | Две любые буквы, с помощью их подмены можно править отображение шлема* 8 | Сторона | 1-Орда, 7-Альянс 9 | Тип | 7-Гуманоид 10 | Неизвестно | Всегда 15007 11 | Неизвестно | 1090-Дварфы, 1096-Все остальные
Дальше нам не нужно. (*Если у вас например на гоблине не отображается шлем, или криво отображается, то вы можете просто заменить на людей к примеру, но размер будет такой же как и у человека)
Faction.csv
Создаём новую фракцию "ИГРОК: гоблин" :
Code
Крутим в конец и вставляем следующее: 1161,-1,0,0,0x0,0x0,0,0,0x0,0x0,0,0,0,0,0x0,0,0x0,0x0,0,1.0,1.0,5,5,,,,,,,,,"ИГРОК: гоблин",,,,,,,,0xFF01FE,,,,,,,,,"",,,,,,,,0xFF01DC,
CharBaseInfo.csv
Вы можете узнать ID рассы посмотрев в предыдущем файле. Вот ID классов:
Рассмотрим как же добавить поддержку спелла новой рассе. На примере главных языков.
Спелл для Альянса:
Code
590,98,668,1101,0,,,1,0,0x2,0,0,,,
Спелл для орды:
Code
592,109,669,690,0,,,1,0,0x2,0,0,,,
2-номер спелла 3-ID спелла 4-использование спелла
Мы видим 4-ое значение, которое нам нужно перевести в двоичный код.(Вот сайт для перевода) После чего выстраивается такая таблица: 11|10|9|8|7|6|5|4|3|2|1 1| 0 |0|0|1|0|0|1|1|0|1 (двоичный код)
Где 1 строка - ID рассы, 2 строка - разрешение на использование спелла (1-можно, 0-нельзя). Так как сейчас редактируется спелл для альянса, следовательно вы его даёте только тем рассам которые будут за альянс, то есть расса 2(орк) под ним стоит "0", а под 1(человек) стоит 1, следовательно в языке для орды всё будет наоборот. Стоит отметить, что если у вас получилась, к примеру, такая таблица: 14|13|12|11|10|9|8|7|6|5|4|3|2|1 0 | 1 | 0 | 1 | 0 |0|0|1|0|0|1|1|0|1 то есть начинается с "0", то чтобы переделать в DEC(десятеричный) код, можно убрать первое значение.
После того как всё расставили, переводим назад в десятеричный код. И сохраняем полученное число вместо предыдущего.
SkillRaceClassInfo.csv:
Ищем:
Code
40,98,1101,1535,0x80,0x0,0,0x0,
Видите 3-ее значение 1101? Заменяем его на получившееся в предыдущем файле. (Для орды ищем по номеру спелла,ID спелла).
Faction.csv
Сново, только по другому поводу. Сейчас будем настраивать что бы новая расса получала репутацию у других фракций.
Настраивается ч/з двоичную систему. У фракций 1100-альянс, 1791-орда, просто настройте и переведите обратно в десятеричный, а после с помощью функции "замены" в блокноте, или чем вы пользуетесь замените все значения на новые.
CharStartOutfit.csv
Начальная одежда персонажа.
Структура:
Code
Column Field Type Notes 1 ID Integer 2.1 Race iRefID (byte) 2.2 Class iRefID (byte) 2.3 Gender byte male, female 2.4 Pad byte Alignment to 4-bytes 3 Items[24] Integer[] These reference item IDs (see wowhead or the itemcache). -1 or 0 if none. Actually ignored by the client. 28 DisplayInfo[24] Integer[] Both only set if Item[x] is set too. 53 InventoryType[24] Integer[] Values from -1 to 26.