1. Создание детали для редактора. Здесь рассматривается как добавить новую деталь для редактора в игру и описание необходимых параметров. ШАГ №1 - создание детали. Сами детали для редактора делаются в 3D-редакторе (Zmodeler, 3D-Max). Если делать через 3моделер - то деталь конвертируется в p3d (формат 3D-моделей в игре) спецальным плагином (есть в SDK к игре), если в максе - то через makep3d (тоже в SDK присутствует). Но перед экспортом надо модель еще и создать... smile Для того, чтобы модель получилось по размерам нормальной (а не так, что к напримеру, дом меньше машины или бочка больше дома biggrin ) советую для образца взять какуюнибудь деталь из редактора (импортировать в Змоделер) и уже смотря на ее размеры создовать свою. Затем деталь покрывается текстурой. После чего экспортируем ее в формат .p3d и ложем деталь в папку editor. ШАГ №2.1 - включение детали в игру (для обычных деталей). Идем сюда trkdata\tiles копируем 3 файла (например alley.cai alley.cfl alley.cst) и переименовываем их в название своей детали. .cai - это для аи нужно... хз как там че делать, потому оставляем (в принципе можно редактировать через showcfl.exe из СДК, но в лицензиооной версии игры эта прога не работает). .cfl - здесь вместо этой строчки alley.p3d # Modellfile нужно написать свое название детали. В разделе VEGETATION вроде настраиваются координаты растительности (кустиков). .cst - здесь настраиваются награды при выполнении различных трюков на этой детали. Можно редактировать в программе stuntedit из СДК (в лицензиооной версии не работает). Затем идем сюда trkdata\tiles\pictures . Здесь создаем новый файл tga с именем своей детали (размер одной занимаемой клетки 64х64). После этого идем сюда trkdata\editor и открываем fields.cat блокнотом. Деталь можно добавить или уже в существующий раздел или в старый. При создании новой категории не забудь вверху увеличить число категорий на одну (строчка 12 # Number of categories). Добавим например в категорию $ID trkdata/editor/fields.cat CategorySet7 . В строчку с количеством предметов (15 # Objects per category) добавляем +1. Затем в конце создаем новую строчку и пишем: ИМЯ_ДЕТАЛИ.cfl 5 3 0 НАЗВАНИЕ_ДЕТАЛИ # 5 - положение детали в списке по Х, 3 - положение детали по Y, 0 - угол поворота детали. ШАГ №2.2 - включение детали в игру (для чекпоинтов). Идем в trkdata\tiles копируем 3 файла (например chkfield.cai chkfield.cfl chkfield.cst) и переименовываем их в название своей детали. .cai - это для аи нужно... хз как там че делать, потому оставляем (в принципе можно редактировать через showcfl.exe из СДК, но в лицензиооной версии игры эта прога не работает). .cfl - здесь вместо этой строчки chkfield.p3d #Modellfile нужно написать свое название детали. В строке 1 # Ist das Feld ein Checkpoint? цифра 1 означает что это чекпоинт. В строке -8.7 2.2 8.7 -2 # Nur fьr CPs: Zusatzinfos! (linke obere / rechte untere grenze) как я понял задаются координаты чека... точнее не знаю. В разделе VEGETATION вроде настраиваются координаты растительности (кустиков). [i].cst - здесь настраиваются награды при выполнении различных трюков на этой детали. Можно редактировать в программе stuntedit из СДК (в лицензиооной версии не работает). Затем идем сюда trkdata\tiles\pictures . Здесь создаем новый файл tga с именем своей детали (размер одной занимаемой клетки 64х64). После этого идем сюда trkdata\editor и открываем cps.cat блокнотом. Деталь можно добавить или уже в существующий раздел или в старый. При создании новой категории не забудь вверху увеличить число категорий на одну (строчка 1 # Number of categories). Добавим в уже существующую категорию $ID trkdata/editor/cps.cat CategorySet1. В строчку с количеством предметов (15 # Objects per category) добавляем +1. Затем в конце создаем новую строчку и пишем: ИМЯ_ДЕТАЛИ.cfl 3 3 0 НАЗВАНИЕ_ДЕТАЛИ # 3 - положение детали в списке по Х, 3 - положение детали по Y, 0 - угол поворота детали. ШАГ №2.3 - включение детали в игру (для динамичных объектов). Идем сюда trkdata\dynamics копируем 1 файла (например toilet.cdo) и переименовываем его в название своей детали. Открываем этот файл. В строке toilet.p3d # 3D-Modell (low) и toilet.p3d #3D-Modell (hi) пишем название своей детали; в строке PLASTIC # Material указываем материал; в строке 120 #Masse in KG указываем массу объекта. Затем идем сюда trkdata\dynamics\pictures. Здесь создаем новый файл tga с именем своей детали (128х128) и копируем любой файл .tex и переименовываем его в имя своей детали. После этого идем сюда trkdata\editor и открываем dynobj.cat блокнотом. Деталь можно добавить или уже в существующий раздел или в старый. При создании новой категории не забудь вверху увеличить число категорий на одну (строчка 2 #Number of categories). Добавим например в категорию $ID trkdata/editor/dynobj.cat CategorySet2. В строчку с количеством предметов (10 # Objects per category) добавляем +1. Затем в конце создаем новую строчку и пишем: ИМЯ_ДЕТАЛИ.cdo 5 3 0 НАЗВАНИЕ_ДЕТАЛИ # 5 - положение детали в списке по Х, 3 - положение детали по Y, 0 - угол поворота детали. ШАГ №3 - тестирование. Заходим в игру, редактор трасс, выбираем созданную деталь, ставим ее и смотрим как деталь выглядит в игре, есть ли глюки и т.п. Если есть - устраняем, если нет - то радуемся . 2. Конверт в формат .p3d. С помощью программы makep3d (входит в набор SDK). 3ds-файл для конвертирования должен быть расположен в папке [crashday]\editor или [crashday]\trkdata\cars\[carfolder] В строке input-3DS model введите название 3DS файла (с или без .3ds) В строке output-3DS model введите название P3D файла, который будет создан (с или без .p3d) Для конвертирования из/в папку введите [carfolder]/[имя].[расширение] Например: "input-3DS model: judge.3ds" "output-3DS model: judge\judge.p3d" В данном случае файл judge.3ds находится в папке \editor, а файл judge.p3d создаётся в папке \trkdata\cars\judge Для дополнительных функций используются параметры командной строки: -in [filename].3ds - 3DS файл для импортирования -out [filename].p3d - P3D файл для экспортирования -notex - заменяет любую текстуру белым цветом. Если параметр не используется, удостовертесь, что требуемые текстуры находятся в нужных директориях в нужном формате swap - меняет ориентацию полигонов -ignoredupl - отключает "объединение" дублируемыех вершин (идентичные полигоны в пространстве) в одну. Может использоваться для сохранения резкого затения граней, особенно если модель построена без использования групп сглаживания. -sgs - используется, если конвертируемая модель построена с использованием групп сглаживания. Полезно для сохранения сохранения резкого затения граней. Когда этот параметр включен, обычно нет необходимости использовать параметр "-ignoredupl" -scaling xx.xx - масштабный коэффициент, "1.0” означает без масштабирования -liftbottombound xx.xx - смещение вверх нижней плоскости основной сетки модели на число в метрах. [...] -lowertopbound xx.xx - смещение вниз верхней плоскости сетки модели -mirrorx - отражение модели по Х-координате -mirrory - отражение модели по Y-координате -mirrorz - отражение модели по Z-координате -flares - если модель содержит точечные источники света (omni lights), в игре будет добавлен свет фар -owrite - включение принудительной перезаписи файлов Для более эффективного экспортирования можно создать bat-файл или ярлык, в котором прописать нужные параметры. Например: "makep3d.exe -owrite -in judge -out judge/judge -ignoredupl -sgs -flares" Более подробная информация находится в документации по SDK С помощью программы Zmodeler 1.07 1. Качаем плагин: http://mod-s.ucoz.ru/load/4-1-0-37, распаковываем архив. 2. Копируем папку Filters в папку с установленным Zmodeler 1.07. 3. Копируем папку system32 в папку Windows. 4. Запускаете Zmodeler 1.07, нажимаете Файл - Импорт, в тип файла указываете CrashDay (*.p3d), выбираем нужную модель и жмем ОК. 5. При первом импорте детали в Zmodeler потребуется указать папку с установленной игрой CrashDay. В последующем в этом нет необходимости. 3. Как добавить новый винил. Здесь рассматривается, как добавить новый винил в игру или изменить цвет уже существующего винила, не редактируя сам винил. Рассматривается на примере машины incubator. Добавление нового винила. 1. Заходим в папку trkdata\cars\incubator, создаем новый винил, допустим, с именами decal4....tga. 2. Открываем блокнотом файл carinfo.cca, ищем строчку --- Tuning ---, после нее видим цифру 18 - эта цифра означает количество тюнингуемых деталей (винилов, обвесов, улучшений двигателя и все остальное, кроме колес). Изменяем цифру на 19. 3. Находим, копируем и вставляем ниже эту строчку: // car paint decal 2 (blitz) name=pnt2 decaltype=decal decal1=decal2a.tga decal2=decal2b.tga decal3=decal2a_2.tga decal4=decal2b_2.tga decalcolor=FFFFFF tex1toapplydecal1=body.tga tex2toapplydecal2=tuning.tga tex3toapplydecal3=body2.tga tex4toapplydecal4=tuning2.tga 4. Разбираемся, что эта писанина означает: name=pnt2 - имя винила (используется в прописании этого винила в магазине). Ставим pnt4. decaltype=decal – не знаю, оставляем так. decal1=decal2a.tga - эта и похожие - имена файлов с новым винилом. Изменяем на decal4a.tga и т.д. decalcolor=FFFFFF - цвет винила (об этом ниже). tex1toapplydecal1=body.tga - эта и похожие - можно перевести как "на текстуру накладывается винил". Здесь указываешь, на какую текстуру машины накладываешь винил (например на текстуру body.tga накладывается decal4a.tga и т.д.) 5. Сохраняем. Теперь идем в магазин (открываем блокнотом файл shop.lst" 6. Находим, копируем и вставляем ниже эту строчку: Next: #--------------------------------------------- pnt2 # identifier name skin # group (car, fbumper, rbumper, sidekit, hood, rwing, wheels, performance, weapon, skin, cassis, armour, crashpower) *currentcar* # parent object (e.g. car folder) or NONE $ID trkdata/cars/incubator/shop.lst pnt2.Name # Article name (English) DEPRECATED # article description (English) aftercarbought # availability condition (see doc for more info) (+ val [+ val2]) 0 # show media _before_ available NONE # Media showed when available (can be NONE) 4200 # cost to buy in shop NONE # shop picture 0 # Is this a stock car part? 7. Разбираемся в этих строчках (перечисляю только то, что используется): pnt2 - имя винила (у нас оно pnt4) skin - указывается, к чему относится этот винил (передний/задний бампер, спойлер и т.п.). Т.к. у нас это винил - ничего не меняем. $ID trkdata/cars/incubator/shop.lst pnt2.Name - имя винила отображаемое в игре. Вместо этой надписи пишем название винила (можно как на русском так и английском языках). Например: Мой винил 1. 4200 - цена винила 8. Сохраняем. Всё, винил готов! Создание нового цвета винила. 1. Открываем блокнотом файл carinfo.cca, ищем строчку --- Tuning ---, после нее цифру 18 изменяем на 19. 3. Находим, копируем и вставляем ниже эту строчку: // car paint decal 2 (blitz) name=pnt2 decaltype=decal decal1=decal2a.tga decal2=decal2b.tga decal3=decal2a_2.tga decal4=decal2b_2.tga decalcolor=FFFFFF tex1toapplydecal1=body.tga tex2toapplydecal2=tuning.tga tex3toapplydecal3=body2.tga tex4toapplydecal4=tuning2.tga 4. Здесь мы будем изменять только 2 параметра: name=pnt2 - имя винила. Ставим pnt4. decalcolor=FFFFFF - цвет винила. Вместо FFFFFF вставляем код любого цвета и в игре цвет винила тоже изменится. Это очень полезно, когда сделан однотонный (или с небольшими примесями других цветов) винил и хочется добавить еще разных цветов. Если винил, цвет которого вы хотите изменить, сильно темный - цвет винила в игре почти не изменится; если, допустим, винил по стандарту красный, а вы ставите зеленый цвет - готовьтесь к неожиданному результату wink . А вот из белого и серого цветов получится как раз то, что вы указали. 5. Сохраняем и добавляем винил в магазин (читаем об этом выше). 4. Как добавить новые колеса. Допустим, в группе уже есть диски на 15'. Первым способом можно добавить диски любого не существующего размера (к примеру, можно добавить на 20', 12' и т.д., но на 15' нельзя). Вторым способом можно добавить диски любого размера. Это очень полезно при добавлении новых колес в игру. Способ 1. 1. Идем в папку trkdata\wheels, копируем, например, файл offroad_s1_15.whl и изменяем его имя, допустим на offroad_s1_22.whl (числа 15 и 22 - это скольки дюймовые будут колеса). 2. Открываем в этой же папке файл shop.lst блокнотом. 3. Находим, копируем и вставляем строки, те что ниже: Next: #--------------------------------------------- offroad_s1_15.whl # identifier name wheels # group NONE # parent object (e.g. car folder) or NONE $ID trkdata/wheels/shop.lst offroad_s1_15.whl.Name # Article name (English) DEPRECATED # Article description (English) withrespect 0 # availability condition (see doc for more info) (+ val [+ val2]) 0 # show media _before_ available NONE # Media showed when available (can be NONE) 2200 # cost to buy in shop NONE # shop picture 0 # Is this a stock car part? 4. Разбираемся в этой писанине (объясняю значение только необходимых строк): offroad_s1_15.whl - имя файла с настройками колеса. В нашем случае пишем offroad_s1_22.whl. $ID trkdata/wheels/shop.lst offroad_s1_15.whl.Name - имя колеса, которое будет указываться в игре. Можно писать на русском и английском языках. 2200 - цена. 5. Сохраняем и любуемся в игре smile Способ 2. 1. Идем сюда trkdata\cars, создаем там папку REALmodW 2. Идем сюда trkdata\wheels, копируем файл offroad_s1_15.whl и вставляем его в trkdata\cars\REALmodW 3. В каталоге trkdata\wheels открываем файл shop.lst. 4. Находим, копируем и вставляем строки, те что ниже: Next: #--------------------------------------------- offroad_s1_15.whl # identifier name wheels # group NONE # parent object (e.g. car folder) or NONE $ID trkdata/wheels/shop.lst offroad_s1_15.whl.Name # Article name (English) DEPRECATED # Article description (English) withrespect 0 # availability condition (see doc for more info) (+ val [+ val2]) 0 # show media _before_ available NONE # Media showed when available (can be NONE) 2200 # cost to buy in shop NONE # shop picture 0 # Is this a stock car part? 5. Изменяем: REALmodW.offroad_s1_15.whl - папка где находится и имя файла с настройками колеса. $ID trkdata/wheels/shop.lst offroad_s1_15.whl.Name - имя колеса в игре. 2200 - цена. 5. Сохраняем. И все должно работать smile 5. Создаем карьеру. Здесь рассматривается принцип создания карьеры, файлы, которые нужно править и описание основных параметров. Заходим в папку Career. Там есть куча файлов. Нам нужны следующие: intro4 - отборочный тур amateurs1-8 - новичек professionals1-8 - проффесионал finals1-8 - финальные endmission - финальное сражение. Открываем, к примеру, amateurs1 и видим следующее (после # дан мой коментарий, выделен жирным) $ID career/amateurs1.txt EventTitle # Название миссии auto # Цель миссии none # 1st=6500 2nd=1200 3rd=300 4th=0 5th=0 6th=0 # сколько денег дадут за 1-6 место 0 # 5 # Кол-во очков репутации, которое дается после прохождения миссии 0 # очки репутации, которые добавляются после прохождения блока миссий amateurs1.trk # трасса career/amateurs1.tga # фон миссии (когда выбираешь ее, там еще идет описание миссии) none # amateurs1.ogg # Звук при появлении описания миссии (если поставить none - звук проигрываться не будет) none # none # 1 # Значения 1 или 0. Если стоит 1 - трасса заблокирована для одиночной игры (разблокируется только после прохождения миссии.) stunt # Режим игры. (в данном случае это режим трюков) START_OF_EVENT_DETAILS # --------- # opps=2 # кол-во противников. damagerealism=0 # повреждения (0 - низкие, 1 - высокие, вроде можно значения типа 0.5 0.8, но точно не помню) gamevar=stunt-timelimit # тип игры (в данном случае режим трюки на время) gamemodetime=180 # время игры forcestartgridpos[0]=1 # Здесь, все значения с тегом [0] - игрока. Этот параметр - стартовая позиция forcecar[1]=buster # Здесь, все значения с тегом [1] - бота №1. Этот параметр - название машины. forceaiskill[1]=easy # скилл бота forcecartunings[1]=perf1|susp1|fb1|rb1|sid1|wng1|pnt0 # тюнинг машины forcecarcolor[1]=8DCC2A # цвет машины forcewheel[1]=sport_s1_14.whl # тип колес forcestartcp[1]=1 # на каком чекпоинте начинает гонку (в редакторе все контрольные точки под номерами - сюда и пишется номер КТ) forcestartgridpos[1]=2 # у каждой КТ есть 6 стартовых позиций, здесь указывается, на кокой будет начинать forcedrivermodel[1]=driver5.p3d # модель водителя forcenitro[1]=abnitro # тип нитро (если стоит abnitro - значит нитро можно использовать) forceminigun[1]=none # есть ли миниган? force - да, none - нет forcemines[1]=none # НЕ используется forcemissile[1]=none # есть ли рокеты? double - двойные, none - нет forcenumplate[1]=l_eur3.tga # номерной знак. END_OF_EVENT_DETAILS # --------------------- # START_OF_BRIEFING_TEXT # -------------- # $ID career/amateurs1.txt BriefingText # в место этого, сюда можно написать описание миссии END_OF_BRIEFING_TEXT # --------------- # 6. Создание новых погодных условий. 1. Идем в папку textures\ambience, создаем копии файлов, к примеру day.amb, day.tex, day.tga, dayh.tga. 2. Переименовываем их, допустим, в day2.amb, day2.tex, day2.tga, day2h.tga. 3. Открываем файл day2.amb блокнотом. 4. Обозначения некоторых параметров: - # name of ambience (overwritten by localized data) - имя новой погоды. ambience/day # texture set for skies/envmap - имя текстуры неба. В нашем случае ставим day2. ambience/day.wav # environment sound - фоновый звук. Остальные параметры влияют на освещенность, тени, дальность прорисовки и т.п. Тут придется вооружаться переводчиком, терпением и методом тыка настраивать погоду. 5. Текстуры day2.tga и day2h.tga правим в любом графическом редакторе. Например, если делаем ночь - рисуем ночное небо и т.д.
Источник: http://fleim42mods.ucoz.ru/publ/read_crashday/uchimsja_redaktirovat_crashday/1-1-0-1 |