St1ngLeR | Дата: Пятница, 23.07.2021, 22:15 | Сообщение # 1 |
Титул: Sunlight Studios - Owner Ранг: Бог
Город: Москва
С нами с: 04.11.2018
Сообщений: 303
| Вступление
Режим карьеры в 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
В самом конце идет самая короткая и последняя часть — брифинг соревнования. Единственное, что здесь нужно указать это сам текст или ссылку на него в файле локализации. В тексте обычно указывается суть соревнования, какое-нибудь предисловие или часть какого-либо сюжета.
Заключение
На этом статья об изменении файла соревнования подошел к концу… Надеюсь Вам понравилась данная статья и Вы что-то узнали для себя новое или по этой статье повторили что-то забытое. Спасибо за прочтение!
Мой ВК Мой YT-канал
Наша группа ВК Наш Дискорд-сервер
|
Статус: Offline |
| |
Двуликий | Дата: Суббота, 24.07.2021, 01:51 | Сообщение # 2 |
Ранг: Нубко
Город: Санкт-Петербург
С нами с: 24.04.2019
Сообщений: 11
| Полезный тутор!)
|
Статус: Offline |
| |