В папке мода для игры нам нужно открыть "config.cfg" с помощью Notepad++ или другого текстового редактора
Начнём с информации о моде:
<modName> - название мода
<author> - автор мода
<author> - версия мода (любой текст, но лучше писать число)
<spawnPoint> - позиция и поворот спавна. Чтобы заполнить её, есть два способа:
1 способ - в Blender: вам нужно открыть вашу карту в Blender и выбрать стартовую позицию
Далее будьте внимательны:
в position_x в конфиге впишите отрицательное значение Location X из Blender. Например, если в блендере Location X = 272, то в конфиг вы пишите position_x="-272,0" (ну а если число в Blender отрицательное, то в конфиг пишите положительное)
в position_y в конфиге впишите значение Location Z из Blender. Например, если в блендере Location Z = 0.85, то в конфиг вы пишите position_y="0,85" (ну а если число в Blender отрицательное, то в конфиг пишите положительное)
в position_z в конфиге впишите отрицательное значение значение Location Y из Blender. Например, если в блендере Location Y = 256, то в конфиг вы пишите position_z="-256,0" (ну а если число в Blender отрицательное, то в конфиг пишите положительное)
Не рекомендую заполнять <spawnPoint> в конфиге этим способом, поэтому рекомендую заполнить 2 способом, для которого вам потребуется заполнить всё остальное, кроме стартовой позиции. О втором способе будет написано в конце этой страницы
Для настройки стартовой позиции вторым способом сначала нужно настроить мод до конца, пропустив этот пункт, после чего вернуться к этому.
Сначала вам нужно переместить папку мода в Mods. После заходим в игру и включаем счётчик фпс в настройках. Далее выбираем наш мод на карту:
После этого вам надо поставить стартовую позицию на карте через свободную камеру, выбрать любой автомобиль и приехать на то место, в котором бы вы хотели спавниться. Далее в углу экрана смотрим координаты машины и записываем их в конфиг (все числа обязательно с запятой, а не точкой)
<alphaMaterials> - материалы с прозрачностью. materials_count - их количество. Если в вашей модели нет таких материалов, то ставьте значение materials_count="0" и переходите к следующим настройкам
Здесь вам нужно добавить те материалы, на которых есть материалы с прозрачностью. Этот параметр нужен например для создания прозрачной листвы или травы. Рассмотрим параметры материала с прозрачностью в конфиге:
<material_(номер материала) - сам номер материала. Этих строк должно быть столько же, сколько и самих материалов с прозрачностью (столько, сколько вы написали в materials_count)
name - это не совсем название материала в модели, который станет прозрачным. Рассмотрим пример: в вашей модели есть несколько материалов c прозрачной текстурой: Grass1, Grass2, Grass3. Если в name вы введёте просто Grass, то все материалы, которые в своём названии имеют Grass станут с прозрачностью, а если в name вы введёте Grass3, тогда материал именно с этим названием станет с прозрачностью
render_type - может принимать значения только Both, Front и Back. Если вы введёте render_type="Both", то материал будет виден и с передней стороны фейса модели, и с задней. Если ввести render_type="Front", то материал будет виден только с передней стороны фейса модели. Если ввести render_type="Back", то материал будет виден только с задней стороны фейса модели.
<withoutCollision> - группы объектов без коллизии. Сдесь вам нужно добавить те объекты, на которых не должно быть колизии (например трава). Рассмотрим параметры группы объектов без коллизии:
<withoutCollision> - группы объектов без коллизии. groups_count - их количество. Здесь вам нужно добавить те объекты, на которых не должно быть колизии (например трава, вода и очень детализированные объекты, которым коллизия не нужна). Рассмотрим параметры группы объектов без коллизии:
<group_(номер группы) - группа объектов без коллизии. Этих строк должно быть столько же, сколько и групп объектов без коллизии(столько, сколько вы написали в groups_count)
name - это не совсем название объекта в модели, который станет без коллизии. Рассмотрим пример: в вашей модели есть несколько объектов, которым не нужна коллизия: Grass1, Grass2, Grass3. Если в name вы введёте просто Grass, то все объекты, которые в своём названии имеют Grass станут с прозрачностью, а если в name вы введёте Grass3, тогда объект именно с этим названием станет без коллизии
<colliders> - группы коллайдеров. groups_count - их количество. Здесь вам нужно добавить те объекты, на которых не должно быть модели, но должна быть коллизия (например граница карты). Рассмотрим параметры группы коллайдеров:
<group_(номер группы) - группа коллайдеров. Этих строк должно быть столько же, сколько и групп коллайдеров(столько, сколько вы написали в groups_count)
name - это не совсем название объекта в модели, который станет коллайдером. Рассмотрим пример: в вашей модели есть несколько объектов, которые должны быть коллайдерами: Collider1, Collider2, WaterCollider1, WaterCollider2. Если в name вы введёте просто Collider, то все объекты, которые в своём названии имеют Collider станут коллайдерами, а если в name вы введёте Collider2, тогда объект именно с этим названием станет коллайдером
<convexColliders> - группы объектов с упрощенными коллайдерами. groups_count - их количество. Здесь вам нужно добавить те объекты, на которых должна быть упрощенная коллизия (например очень детализированные объекты). Рассмотрим параметры группы объектов с упрощенными коллайдерами:
<group_(номер группы) - группа объектов с упрощенными коллайдерами. Этих строк должно быть столько же, сколько и групп объектов с упрощенными коллайдерами (столько, сколько вы написали в groups_count)
name - это не совсем название объекта в модели, который будет с упрощенным коллайдером. Рассмотрим пример: в вашей модели есть несколько объектов, которые должны быть с упрощенными коллайдерами: House1, House2, House3. Если в name вы введёте просто House, то все объекты, которые в своём названии имеют House станут с упрощенными коллайдерами, а если в name вы введёте House2, тогда объект именно с этим названием станет с упрощенным коллайдером
<waterColliders> - группы коллайдеров воды. groups_count - их количество. Здесь вам нужно добавить те объекты, которые должны быть коллайдерами воды (например куб, который мы создавали в Blender c названием WaterCollider), это может быть простой куб или плоскость. Рассмотрим параметры группы коллайдеров:
<group_(номер группы) - группа коллайдеров воды. Этих строк должно быть столько же, сколько и групп коллайдеров воды(столько, сколько вы написали в groups_count)
name - это не совсем название объекта в модели, который станет коллайдером воды. Рассмотрим пример: в вашей модели есть несколько объектов, которые должны быть коллайдерами воды: WaterCollider1, WaterCollider2, WaterCollider3. Если в name вы введёте просто WaterCollider, то все объекты, которые в своём названии имеют WaterCollider станут коллайдерами, а если в name вы введёте WaterCollider2, тогда объект именно с этим названием станет коллайдером воды
<waterMaterials> - группы материалов воды. materials_count - их количество. Здесь вам нужно добавить те материалы, которые должны быть материалами воды (например материал на плоскости, которую мы создавали в Blender).Если в вашей модели нет таких материалов, то ставьте значение materials_count="0" и переходите к следующим настройкам. Рассмотрим параметры материала воды в конфиге:
<material_(номер материала) - сам номер материала воды. Этих строк должно быть столько же, сколько и самих материалов воды (столько, сколько вы написали в materials_count)
name - это не совсем название материала в модели, который станет материалом воды. Рассмотрим пример: в вашей модели есть несколько материалов воды: Water1, Water2, Water3. Если в name вы введёте просто Water, то все материалы, которые в своём названии имеют Water станут материалами воды, а если в name вы введёте Water3, тогда материал именно с этим названием станет материалом воды
type - тип материала воды. Ставьте сюда значение от 1 до 11. Каждый из типов воды отличаются визуально, можете поэкспериментировать с этими значениями.
y_pos - позиция воды по оси y. Если вода при спавне карты слишком высоко, делайте это значение ниже и наоборот
<audioSources> - источники звука на карте. audioSources_count - их количество. Если вы не хотите добавлять звуки на карту, то ставьте значение audioSources_count="0". Рассмотрим параметры источника звука в конфиге:
<source_(номер материала) - сам источник звук. Этих строк должно быть столько же, сколько и самих источников звука (столько, сколько вы написали в audioSources_count)
position_(x,y,z) - позиция источника звука. Позицию выставляете также, как и в точку спавна
audioClip - звуковой файл для источника звука. Звуки должны находиться в Sounds Папки вашего мода
maxDistance - максимальная дистанция, на которой будет слышен звук.
is2D - true либо false. Если true, то звук будет слышен одинаково вне зависимости от расположения, поэтому для такого звука позицию можно ставить нулевой. Подойдёт для звука окружающей среды. Если ставить значение false, то звук будет слышен только тогда, когда вы будите близки к его источнику (слышимость звука зависит от его максимальной дистанции)
В конечном итоге конфиг выглядит так: