Добавление детали - Форум
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: friendkiller, Grave, Dreamer 
Форум » Main partitio/ Главный раздел » Tutorials/ Уроки » Добавление детали (by Hald)
Добавление детали
KarmanДата: Воскресенье, 22.11.2009, 22:23 | Сообщение # 1
Сообщений: 2773
Статус:
Тутор написан HALD'ом

Для этого потребуются утилиты 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!


 
JACKДата: Суббота, 05.06.2010, 12:18 | Сообщение # 2
Сообщений: 307
Статус:
а как полностью убрать деталь что б потом еррор лог не ругался ?


Skype: jack15312704
vkontakte
street legal fans
slrr by jack
 
KarmanДата: Суббота, 05.06.2010, 13:54 | Сообщение # 3
Сообщений: 2773
Статус:
JACK, сделай обратное действие этому тутору

 
JACKДата: Суббота, 05.06.2010, 14:32 | Сообщение # 4
Сообщений: 307
Статус:
Karman я то сделал только потом в ерор логе написало что детали не хватает


Skype: jack15312704
vkontakte
street legal fans
slrr by jack
 
KarmanДата: Суббота, 05.06.2010, 14:35 | Сообщение # 5
Сообщений: 2773
Статус:
JACK, по-моему нельзя полностью удалить деталь

 
Maryus_x90Дата: Понедельник, 12.07.2010, 06:12 | Сообщение # 6
Сообщений: 256
Статус:
i have a question about add-on parts, how to make it come in aftermakert parts section in catalog ? i must change super id ?

 
fox68Дата: Понедельник, 30.08.2010, 23:59 | Сообщение # 7
Сообщений: 93
Статус:
@Maryus: Yup.
 
UA13Дата: Вторник, 09.11.2010, 17:10 | Сообщение # 8
Сообщений: 1
Статус:
a sho s RES i RSD???
ih menyat ne nada??? (tipa shob ne povtoryalis)

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>

 
KarmanДата: Вторник, 09.11.2010, 17:20 | Сообщение # 9
Сообщений: 2773
Статус:
UA13, Нет, не надо! они ничего не дают

 
BesikДата: Вторник, 28.12.2010, 18:51 | Сообщение # 10
Сообщений: 332
Статус:
деталь можно удалить полностью=)

http://noobracingteam.ucoz.ru/ - NRT TEAM!

http://noobracingteam.ucoz.ru/ - NRT TEAM!


Сообщение отредактировал Besik - Вторник, 28.12.2010, 18:51
 
KarmanДата: Вторник, 28.12.2010, 19:02 | Сообщение # 11
Сообщений: 2773
Статус:
Besik, да, я знаю smile

 
AK_47Дата: Пятница, 02.03.2012, 22:51 | Сообщение # 12
Сообщений: 65
Статус:
слоожно)

http://vkontakte.ru/tazprom
 
Форум » Main partitio/ Главный раздел » Tutorials/ Уроки » Добавление детали (by Hald)
Страница 1 из 11
Поиск:


Хостинг от uCoz