Тутор написан HALDом
и возвращается на свое место, он давно был на promods еще на старом форуме... пора вернуть былую славу.. Для этого потребуются утилиты resdecode и resconvert. Рассмотрим добавление деталей на примере Duhen-а. Добавим капот. Допустим, что модель капота только-что закончена и экспортирована в папку duhen_data\meshes. При экспорте создаётся ещё один файл с расширением tex - о нём позже. Для того, чтобы добавить деталь надо распаковать duhen.rpk утилитой recdecode. Это удобнее делать в отдельной папке. Ещё нам потребуюся скрипты из папки duhen_data\scripts. Если делаем капот, то можно взять за основу скрипт hood_2.cfg. Его надо скопировать куда-то, переиминовать в hood_3.cfg и кинуть обратно в папку со скриптами.
Ещё не плохо-бы сразу заготовить яву. Для этого надо найти архив с исходниками ява для машин. Вся ява кладётся в папку duhen_data\scripts\src. Т.е. нам надо найти файл в папке с исходниками duhen_data\scripts\src\duhen_hood_2.java и скопировать его в рабочую папку с Духеном под именем duhen_hood_3.java. Откроем файл duhen_hood_3.java. У него есть заголовок, который должен в ТОЧНОСТИ соответствовать имени файла. Ещё раз повторяю: В ТОЧНОСТИ! Т.е. если у нас есть файл DuhEn_HoOD_3.java, то заголовок дожен быть такой:
public class DuhEn_HoOD_3 extends Hood
{
public DuhEn_HoOD_3( int id )
{
Расширение java убирается вместе с точкой. Такжэ в яве можно поменять название деталькт (поле name), престиж (brand_new_prestige_value) и цену (value). Всё, с явой закончили.
Теперь переходим к скрипту hood_3.cfg. Откроем его и распакованный архив duhen.rdb. В начале файла hood_3.cfg есть такой ИД: 0x000000D9. Это индекс детали в РПК. если сделать поиск в файле duhen.rdb по этому ИДу, то мы найдём такие строки:
Code |
<FILE 00000447.res > typeof 8 superid 0x00000161 typeid 0x000000D9 alias hood isparentcompatible 1.00 </FILE> <FILE 00000447.rsd > script cars\racers\Duhen_data\scripts\Duhen_hood_2.class native part cars\racers\Duhen_data\scripts\hood_2.cfg lod_amp 3.000 </FILE> |
Это кусок скрипта обьявляет деталь. Что бы добавить свою деталь, можно просто сделать его копию, преиминовав файлы Duhen_hood_2.class и hood_2.cfg. Ещё нужно поменять ИД с 0x000000D9 на что-нибудь другое, например на 0x000010D9. Важно! Это ИД должен быть уникален! Т.е. если сделать поиск от начала и до конца файла duhen.rdb по этому ИД, то он должен встретиться только один раз в определении новой детали! Причём ИД пишется только в последних 4х цифрах, т.е. это может быть 0x0000E13A, но не может быть 0x0002EA12 - т.к. это будет указание на оглавление РПК, а нам это не надо. В результате мы должны получить что-то такое:
Code |
<FILE 00000447.res > typeof 8 superid 0x00000161 typeid 0x000010D9 alias my_new_hood isparentcompatible 1.00 </FILE> <FILE 00000447.rsd > script cars\racers\Duhen_data\scripts\Duhen_hood_3.class native part cars\racers\Duhen_data\scripts\hood_3.cfg lod_amp 3.000 </FILE> |
alias может быть любым. На этом можно закрыть РДБ, конвертировать его в РПК и проверить - должен появиться ещё один капот. Но он будет выглядеть так-жэ как капот номер 2. Кста, в cfg можно в оглавлении изменить ИД с 0x000000D9 на 0x000010D9. Он не на что не влияет, т.к. первые строки закоментированы, но удобнее смотреть ИД в конфиге, чем шарить по РПК.
Теперь поменяем модель. Начнём с поля ckick. Ищем его по ИДу 0x0000011A, копируем, меняем значения и получаем что-то такое:
Code |
<FILE 00000038.res > typeof 9 superid 0x00000001 typeid 0x0000A11A alias click isparentcompatible 1.00 </FILE> <FILE 00000038.rsd > shape cars\racers\Duhen_data\meshes\hood_3.scx </FILE> |
Не забываем поменять в конфиге ИД клика на новый! Теперь mesh, точно так-жэ.
Code |
<FILE 00000193.res > typeof 5 superid 0x00000003 typeid 0x0000A196 alias hood_3 isparentcompatible 1.00 </FILE> <FILE 00000193.rsd > sourcefile cars\racers\Duhen_data\meshes\hood_3.scx </FILE> |
И самое интересное - render. Сначала он выглядит так:
Code |
<FILE 00000324.res > typeof 14 superid 0x00000005 typeid 0x00000095 alias hood isparentcompatible 1.00 </FILE> <FILE 00000324.rsd > mesh 0x00000096 flags 8.000 lod_amp 3.000 texture 0x00020025 texture 0x00000097 </FILE> |
Мнеяем typeID и alias по своему усмотрению. alias может повторяться - это не критично. Потом смотрим на строку mesh и вписываем в неё индекс нашего меша. Теперь текстуры. Я говорил про файл tex. В нём обозначена поседовательность текстур. Именно в этой последовательности должны идти иды текстур. Текстура с ИДом 0x00020025 - это основной цвет, который будет краситься. Она-жэ продублирована в cfg. Текстура с ИДом 0x00000000 - это отражение. После всех модификаций получаем такое:
Code |
<FILE 00000324.res > typeof 14 superid 0x00000005 typeid 0x0000A295 alias hood_3 isparentcompatible 1.00 </FILE> <FILE 00000324.rsd > mesh 0x0000A196 flags 8.000 lod_amp 3.000 texture 0x00000000 texture 0x00020025 texture 0x00000097 </FILE> |
Текстуры прописаны от балды! Они пишутся под конкретный меш!
Всё, РДБ можно сохранять, компилить и запускать игру. Только не забудте вписать правильные ИДы в cfg!
з.ы. (взято с сайта партнера ) спасибо ребята что сделали бекап туториалов )