[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Моддинг карьерных соревнований
St1ngLeRДата: Пятница, 23.07.2021, 22:15 | Сообщение # 1
Титул: Sunlight Studios - Owner
Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
Репутация: 77
Вступление

Режим карьеры в Crashday является одной из основных типов игры в игре. Именно в карьере мы проходим разные соревнования, получая деньги и репутацию, а также покупаем автомобили и тюнинг к ним. Эта статья поможет вам узнать принцип работы карьерных соревнований. И так, начнем…

Во-первых, все файлы карьеры содержатся в папке «career», которая находится в корневой папке с игрой.


Часть содержимого папки «career»

Во-вторых, каждый файл соревнование обладает расширением .txt, это значит что вы можете работать с файлом даже в стандартном блокноте из Windows.

В-третьих, за каждое соревнование отвечает один файл, значит что общее количество файлов будет 32 (26 соревнований и 6 мини-игр).

Ну и напоследок, в-четвертых, название каждого файла состоит из лиги карьеры и нумерации соревнования в этой лиги. Например, amateurs5 это пятое соревнование в любительской (на англ. amateurs) лиге. Исключениями являются intro4 (начало игры) и endmission (конец игры).

И так, основная информация, касаемая файлов, была расписана, пришло время перейти к непосредственному редактированию файла.

Редактирование соревнования

В этой части статьи будет описываться файл соревнования на основе amateurs5. Как и было сказано ранее, для редактирования можно использовать любой текстовый редактор. В текущем случае, это будет Notepad++.

Часть 1. Заголовок файла

Первая часть файла

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

Строка №1 — Название соревнования (Event Title). Название соревнования используется в списке выбора соревнований и в заголовке при появлении брифинга соревнования. В данном случае, можно использовать любое название или использовать ссылку на текст в файле локализации (как в случае с текущим файлом). Подробная информация о файле локализации будет разобрана в следующей статье.

Строка №2 — Цель соревнования. Если указан «auto», тогда игра сама определяет и отображает цель соревнования, определяя ее по режиму и вариации соревнования. Важное примечание: для этой строки ссылка на текст в файле локализации не работает!

Строка №3 — Условие для участия в соревновании. Не используется игрой.

Строка №4 — Награда (в игровых долларах) для каждого места. Все очень просто, для каждого место нужно указать нужную сумму в качестве награды за прохождение соревнования.

Строка №5 — Секретный приз за бонус. Не используется игрой.

Строка №6 — Очки репутации за победу. Также как и с денежной наградой вы должны просто указать сколько очков репутации может получить игрок, получив первое место.

Строка №7 — Добавочные очки репутации. Эти очки выдаются игроку при прохождении последнего соревнования в дивизионе (т. е. после окончания группы и/или лиги).

Строка №8 — Название файла трассы. В этой строке указывается название файла трассы в .trk разрешении. Трасса должна находится в папке trkdata/tracks.

Строка №9 — Название файла изображения соревнования. Этот файл используется для заднего фона при выборе соревнования. Расположения файла может быть любым. Сам файл может быть в формате .tga или .dds.

Строки №10, 12, 13 — Не используются игрой. Нужно указывать «none».

Строка №11 — Файл озвучки брифинга соревнования. Этот файл используется для озвучки текста к соревнованию, воспроизводится при выборе миссии. Файл должен быть формата .ogg, однако можно и вовсе отключить использование какого-либо файла, используя значение «none».

Строка №14 — Тип доступа трассы. В игре есть все два типа доступа трассы карьерного соревнования: 0 — трасса недоступна для игры в синглплеер, пока игрок не дойдет до группы, в которой есть соревнование с участием этой трассы, и 1 — трасса всегда доступна для игры в синглплеер. Для этой строки достаточно использовать либо «0», либо «1».

Строка №15 — Режим игры. Эта строка определяет режим игры, на которой будет базироваться данное соревнование. Для того, чтобы указать режим игры, необходимо написать нижеперечисленные режимы:

stunt — Шоу трюков
wrecking — Аварийный этап
speed — Динамитная гонка
checkpoint — Гонка
ctf — Удержание флага
ptb — Передача бомбы
minigame — Мини игра

Примечание: для использования какого-либо из этих режимов необходимо указать определенную вариацию режима!

Далее, после этой части следует пустая строка, разделитель в виде текста «START_OF_EVENT_DETAILS» и другая пустая строка.

Часть 2. Основная часть файла


Основная часть файла amateurs3

В этой части файла расписываются конкретные детали соревнования. Каждая деталь помечается либо условием самого прохождения (эти детали указываются в начале), либо деталь к конкретному оппоненту и/или игроку. Чаще всего, детали разделяются пустой строкой по каждому ИИ. Например, как на нижеприкрепленном скриншоте. Строки разделяются по настройкам гонки (кол-во ИИ и множитель повреждений), по настройкам режима (вариация и числовое значение), а далее идет разделение по ИИ (сначала первый по счету, потом второй и так далее). Вы можете делить строки как Вам удобно, однако не забывайте разделять их пустой строкой и не старайтесь допускать повторяющиеся значения.


Файл amateurs5

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

opps=[от 0 до 5] — Это значение определяет количество оппонентов в этом соревновании. Если оппонентов оказывается меньше, чем их деталей (например указано 3, а детали расписаны на 4-ех ИИ), то игра будет их игнорировать. Однако, если наоборот, то игра будет случайно подбирать детали для оппонента используя его тюнинг для мультиплеер и заготовленные цвета машины.

damagerealism=[от 0 до 1] — Это значение отвечает за множитель повреждений. Функция этого значения такая же, как и у параметра «Повреждения машины» при выборе одиночной гонки. Чем меньше значение, тем более низкие повреждения у машин. Примечание: два вышенаписанных значения являются обязательными, без их указания игра будет вылетать!

Далее идут настройки режима. Но тут есть и некоторые необязательные настройки. Но сперва, будут описываться обязательные, их всего 3 значения:

gamevar=[вариация режима] — Определяет вариацию режима. Если вариация не соответствует указанному в строке №15 режиму игры, то игра при запуске соревнования вылетит, а в качестве цели будет написано «???».

gamemodevalue=[любое значение] — Определяет требование для победы. Для каждого режима оно может быть любое. Например, если в строке №15 указан режим ctf (Удержание флага), а далее будет указано gamevar=ctf-team (Командное удержание) и gamemodevalue=5 (5 флагов), то это будет значить что соревнование будет проводится в режима Удержания флага в командной вариации, а для победы нужно провести флаг по КТ 5 раз.

gamemodetime=[любое значение в секундах] — Определяет время на прохождения данного соревнование. Эта деталь используется только в том случае, если ограничение времени не является условием для победы (т. е. если главная цель это не успеть по времени, а что-то другое). Это значение используется для gamevar=stunt-timelimit вместо gamemodevalue.

Две детали gamemodevalue и gamemodetime могут использоваться одновременно, например, для мини-игр.

Значения для gamevar:

Шоу трюков
stunt-timelimit и stunt-timelimit-team — Обратный отсчет. Для обозначения времени используется gamemodetime=[любое значение в секундах]
stunt-targetscore и stunt-targetscore-team — Добраться до цели. Для обозначения цели используется gamemodevalue=[любое значение]

Динамитная гонка
speed-default — Обычный вид режима. Для обозначения начальной отметки бомбы используется gamemodevalue=[любое значение] (1 — по умолчанию)

Гонка
race-laps — Круговая гонка. Для обозначения количества кругов используется gamemodevalue=[любое значение]
race-ptp — Спринт. Обозначения не используются.
race-ko — Гонка на выбывание. Обозначения не используются.

Аварийный этап
wreck-lms — Последний уцелевший. Обозначения не используются.
wreck-dm и wreck-dm-team — Смертельный поединок. Для обозначения количества аварий используется gamemodevalue=[любое значение]
wreck-advance — Последовательные аварии. Для обозначения количества аварий используется gamemodevalue=[любое значение]

Удержание флага
ctf-default и ctf-team — Обычный вид режима. Для обозначения количества флагов используется gamemodevalue=[любое значение]

Передача бомбы
ptb-default — Обычный вид режима. Для обозначения количества раундов используется gamemodevalue=[любое значение]. Для обозначения времени на каждый раунд используется gamemodetime=[любое значение в секундах]

Мини-игры
minigame-vehicleblast — Взрыв машины. Для обозначения плитки на координате X от левой стороны, на которой начинается счет дистанции используется gamemodevalue=[значение плитки]. Для обозначения времени используется gamemodetime=[любое значение в секундах]
minigame-longjump — Затяжной прыжок. Для обозначения плитки на координате X от левой стороны, на которой начинается счет дистанции используется gamemodevalue=[значение плитки].
minigame-checkpointchase — Погоня по КТ. Для обозначения времени используется gamemodetime=[любое значение в секундах]
minigame-maxdestruction — Уничтожение объектов (вырезанная мини-игра). Для обозначения времени используется gamemodetime=[любое значение в секундах]

-----------------------------------

Теперь про вышеупомянутые необязательные детали. В игре есть такая деталь, как «условие победы». Эта деталь делает геймплей более разнообразным и усложненным. Условием победы называется условие, которое игрок должен пройти, при этом соответствуя требованием прохождения соревнования. Например, finals7 — Супер комбо. Это соревнование основывается на вариации режима для Шоу Трюков — Обратный отсчет, здесь это 5 минут 20 секунд. Но игроку мало того, что нужно уложится в этот отрезок время, так еще и нужно выполнить условие для победы — набрать 70000 трюковых очков за комбо.


Пример использование необязательной детали в файле finals7 — условие победы

Для обозначение условия победы нужно использовать winningcond=[условие], а для самого значения — winningcondvalue=[значение].

На самом деле, таких условий достаточно много, так что они будут описаны кратко, как и со значениями для gamevar:

Шоу трюков
stunt-reachtargetfasterthan — Достигнуть кол-во очков быстрее чем за указанное время. Поддерживается с вариациями stunt-targetscore и stunt-targetscore-team. Для обозначения времени используется winningcondvalue=[значение в секундах]
stunt-comboscore — Супер комбо. Поддерживается с вариациями stunt-timelimit и stunt-timelimit-team. Для обозначения очков комбо используется winningcondvalue=[значение]
stunt-airtime — Время в воздухе. Поддерживается с вариациями stunt-timelimit и stunt-timelimit-team. Для обозначения времени, которое нужно провести в воздухе используется winningcondvalue=[значение в секундах]

Динамитная гонка
speed-mincps — Прохождение до определенной КТ. Поддерживается с вариацией speed-default. Для обозначения конечной КТ без учета старта используется winningcondvalue=[значение]. Без этого условия для победа игроку придется проезжать КТ до тех пор, пока его машина не взорвется.

Гонка
race-finishfasterthan — Прийти к финишу быстрее назначенного времени. Поддерживается со всеми вариациями режима. Для обозначения времени используется winningcondvalue=[значение в секундах]

Аварийный этап
wreck-fasterthan — Победить быстрее назначенного времени. Поддерживается со всеми вариациями режима. Для обозначения времени используется winningcondvalue=[значение в секундах]
wreck-perfectwin — Идеальная победа или победа «в сухую». Поддерживается со всеми вариациями режима. Обозначения не используются.

Удержание флага
ctf-finishfasterthan — Победить быстрее назначенного времени. Поддерживается со всеми вариациями режима. Для обозначения времени используется winningcondvalue=[значение в секундах]

Передача бомбы
ptb-perfectwin — Идеальная победа или победа «в сухую». Поддерживается со всеми вариациями режима. Обозначения не используются.

И так, следующим этапом в этой части является прописывание деталей для ИИ. Если в Вашем соревновании указано 0 оппонентов (opps=0), то вы можете не указывать детали.

В отличии от деталей режима, для оппонентов у деталей есть своя нумерация от 0 до 5 (деталь[от 0 до 5]=). Например, forcecar[0]=incubator значит что в соревновании игрок будет управлять The Incubator V12. Ниже расписаны возможные нумерации:

[0] — игрок
от 1 до 5 — ИИ
символ "звездочка" — игрок и все оппоненты.

На самом деле, тут рассказывать про детали для оппонентов не так много, как для деталей режима поскольку тут нет особых условий и все детали подходят для всех ИИ и игроку без исключений. Ниже указан список возможных деталей и пояснения:

forcecar — автомобиль. Для этой детали нужно указать название папки машины, которая должна находится в trkdata/cars

forceaiskill — уровень сложности ИИ. Здесь нужно указать «easy», «medium» или «hard». Информация о сложности ИИ соответствующей сложности берется из файла game.dbs

forcecartunings — список тюнинга машины. Здесь перечисляются идентификаторы запчастей тюнинга из carinfo.cca для вышеуказанной машины (через forcecar). Запчасти разделяются символом «|». Примечание: для правильной работы не рекомендуется использовать эту деталь если не указан forcecar!

forcecarcolor — цвет машины. Для этой детали принимаются значения цвета в формате HEX. Без этого параметра игра будет выбирать случайный цвет, с каждым перезапуском гонки цвет будет менятся.

forcewheel — колесо машины. Этот параметр поддерживает заводские колеса (папка_машины.колесо_defXX.whl) и колеса из магазина (колесо_sY_XX.whl). При использовании первой опции игра будет ссылаться на папку машины и колеса внутри, а при второй ссылаться на папку trkdata/wheels.

forcenitro — нитро для ИИ/игрока. Данная деталь отвечает за наличие нитро у ИИ/игрока. Здесь поддерживаются только два значения: «none» — нет нитро, «abnitro» — есть нитро. По умолчанию нитро будет включено для всех.

forceaggression — уровень агрессии для ИИ. При обычных условиях уровень агрессии у ботов повышается по мере взаимодействия игрока с ИИ (столкновения, удар ракетой и т.д.) в зависимости от режима игры, однако используя эту деталь вы можете вручную выставить минимальное значение агрессии, которое по мере прохождение может вырасти до 100. Допустимые значения: от 0 до 100.

forcedrivermodel — 3д-модель водителя в формате .p3d. Эта деталь заменяет модель водителя машины на уникальную модель, которая будет задана в этой детали. 3д-модель должна находится в editor в корневой папке игры.

forcenumplate — Номерной знак. С помощью этой детали вы можете задать какому-либо ИИ и/или игроку уникальный номерной знак. Сам номерной знак должен находится либо в textures либо в textures/numplate. Примечание: обращайте внимание на формы номерного знака, если у машины форма номерного знака широкая, а текстура будет для номерного знака США, то номерной знак будет выглядеть некоректно. Определить форму номерного знака можно в файле carinfo.cca у указанной в forcecar машины!

forcedrivername — Имя водителя. С помощью этой детали вы можете задать игроку и/или ИИ уникальное имя. Для ввода Вы можете использовать латиницу и кириллицу, а также Вы можете изменять цвет имени. Примечание: для пробела используйте символ «|»!

forcestartcp — Номер стартового КТ. Задав номер КТ для этой детали, Вы можете задать другое место старта ИИ/игрока с другой КТ.

forcestartgridpos — Место стартовой позиции. Используя эту деталь, вы можете поменять место в стартовой позиции. Допустимые значения: от 1 до 6.

forceminigun — Установка пулемета. Здесь поддерживаются только два значения: «none» — нет пулемета, «force» — есть пулемет. По умолчанию пулемет не будет доступен для всех.

forceminigunammo — Кол-во патрон у пулемета. Здесь принимаются все возможные положительные значения. Если этого параметра не будет, то игра будет использовать значения из game.dbs если это версия 1.0 или из EXE-файла игры если это версия 1.1 или позднее.

forcemissile — Установка ракеты. Здесь поддерживаются только три значения: «none» — нет ракер, «single» — одиночная ракета, «double» — двойная ракета. По умолчанию ракеты не будут доступны для всех.

forcemissileammo — Кол-во ракет. Здесь принимаются все возможные положительные значения. Если этого параметра не будет, то игра будет использовать значения из из EXE-файла игры.

На этом заканчивается вторая часть файла. После перечислений деталей идет очередная пустая строка, разделение в виде текста «END_OF_EVENT_DETAILS» и другая пустая строка.

Часть 3. Брифинг соревнования


Брифинг соревнования в файле finals8

В самом конце идет самая короткая и последняя часть — брифинг соревнования. Единственное, что здесь нужно указать это сам текст или ссылку на него в файле локализации. В тексте обычно указывается суть соревнования, какое-нибудь предисловие или часть какого-либо сюжета.

Заключение

На этом статья об изменении файла соревнования подошел к концу… Надеюсь Вам понравилась данная статья и Вы что-то узнали для себя новое или по этой статье повторили что-то забытое. Спасибо за прочтение!
Прикрепления: 6795169.jpg (96.3 Kb) · 6712051.jpg (49.5 Kb) · 0959842.jpg (21.8 Kb) · 2701157.jpg (56.0 Kb) · 7264693.jpg (12.3 Kb) · 2293572.jpg (15.9 Kb)


Мой ВК
Мой YT-канал

Наша группа ВК
Наш Дискорд-сервер

Статус: Offline
ДвуликийДата: Суббота, 24.07.2021, 01:51 | Сообщение # 2
Ранг: Нубко
Город: Санкт-Петербург
С нами с: 24.04.2019
Сообщений: 11
Репутация: 0
Полезный тутор!)
Статус: Offline
  • Страница 1 из 1
  • 1
Поиск:

При копировании материала с сайта, ссылка на https://cdgl.clan.su/ ОБЯЗАТЕЛЬНА !