Конфиг
Конфиг мода находится в файле MPG_CarFellingTrees2/Config.json внутри папки с профилем сервера.
Пример минимального файла:
{
"configVersion": 2,
"documentation": "https://docs.mpg-dayz.ru/car-felling-trees-2",
"logLevel": 3,
"vehicles": [
{
"className": "Truck_01_Base",
"fellingEnabled": 1,
"slots": [],
"fellingAttachmentSlots": ["Truck_01_Hood"],
"fellingMinSpeed": 15.0,
"fellingMinImpulse": 200.0
}
]
}Параметры мода
configVersion
configVersion – Версия конфига, служебное поле, не нужно его менять. Оно обновляется само при обновлении мода, если в этом есть необходимость.
documentation
documentation – Служебное поле, содержит ссылку на документацию по моду для вашего удобства.
logLevel
logLevel – Глобальный уровень логирования мода. Числовой параметр.
Доступные значения:
| Значение | Уровень | Что пишется |
|---|---|---|
1 | TRACE | Максимальная детализация: результат каждой проверки валки |
2 | DEBUG | Каждое сваленное дерево (класснейм, координаты) |
3 | INFO | Ключевые события: старт/остановка мода (по умолчанию) |
4 | WARN | Предупреждения |
5 | ERROR | Ошибки (не удалось загрузить/сохранить конфиг) |
6 | FATAL | Только критические ошибки |
Значение по умолчанию: 3 (INFO).
Рекомендации
- Обычная работа сервера –
3(INFO). - Валка не работает и непонятно почему – поставьте
1(TRACE). Мод напишет, какая именно проверка не прошла: двигатель выключен, скорость слишком низкая, импульс слишком слабый, слоты не заполнены, объект не дерево и т.д. - Нужно "тихо" – поставьте
6(FATAL).
Пример: "logLevel": 3,
Логи в отдельный файл
Логи пишутся модом MPG_ModsLogger в папку MPG_CarFellingTrees2/Logs/. Если этот мод не установлен – мод деградирует до Print() в общий RPT-лог сервера.
vehicles
vehicles – Массив с настройками для каждой машины. Каждый элемент – объект с параметрами валки для конкретной машины.
Пример:
"vehicles": [
{
"className": "Truck_01_Base",
"fellingEnabled": 1,
"slots": ["TruckBattery", "Reflector_1_1", "Reflector_2_1", "Truck_01_Hood"],
"fellingAttachmentSlots": ["Truck_01_Hood"],
"fellingMinSpeed": 15.0,
"fellingMinImpulse": 200.0
}
]Параметры машины
TIP
Ниже описаны параметры одной машины.
Машин в массиве vehicles может быть столько, сколько вам нужно. Мод сам добавит недостающие при первом запуске.
className
className – Имя класса машины в CfgVehicles.
Можно использовать как конкретную машину (Truck_01_Covered), так и базовый класс (Truck_01_Base) – дочерние классы примут его настройки через наследование.
Пример: "className": "Truck_01_Covered",
fellingEnabled
fellingEnabled – Включение валки деревьев для этой машины.
| Значение | Что значит |
|---|---|
-1 | Наследовать от родителя (нет явной настройки) |
0 | Валка выключена явно |
1 | Валка включена |
По умолчанию мод добавляет все машины с -1 (наследование). Если ни у самой машины, ни у её предков нет 1 – валка выключена.
Пример: "fellingEnabled": 1,
Подробнее про -1
См. раздел Наследование параметров ниже.
slots
slots – Доступные слоты машины. Собираются модом автоматически один раз, при первом добавлении машины в конфиг.
Пример: "slots": ["TruckBattery", "Reflector_1_1", "Reflector_2_1", "Truck_01_Hood"],
fellingAttachmentSlots
fellingAttachmentSlots – Список слотов, которые должны быть заполнены незаруиненными аттачментами, чтобы валка сработала.
Пусто – проверка не нужна
Если массив пустой [] – проверка заполненности слотов не выполняется. Машина может валить деревья без дополнительных условий.
Например, можно потребовать, чтобы был установлен бампер:
"fellingAttachmentSlots": ["YourCar_Slot_Bamper"]Если аттачмент в указанном слоте отсутствует или заруинен – дерево не упадёт.
Пример: "fellingAttachmentSlots": [],
fellingMinSpeed
fellingMinSpeed – Минимальная скорость машины в км/ч, при которой возможна валка.
Пример: "fellingMinSpeed": 15.0,
fellingMinImpulse
fellingMinImpulse – Минимальный импульс столкновения с деревом.
Импульс зависит от массы машины и скорости удара. Чем тяжелее машина и быстрее удар – тем выше импульс. Этот параметр позволяет отсеять лёгкие касания.
Пример: "fellingMinImpulse": 200.0,
Наследование параметров
Значение fellingEnabled равно -1 означает "нет явной настройки – наследовать от родителя".
Пример
Иерархия классов:
CarScript
└─ Truck_01_Base
└─ Truck_01_CoveredКонфиг:
"vehicles": [
{
"className": "Truck_01_Base",
"fellingEnabled": 1,
"fellingMinSpeed": 15.0,
"fellingMinImpulse": 200.0
},
{
"className": "Truck_01_Covered",
"fellingEnabled": -1
}
]Что произойдёт:
Truck_01_Base– валка включена явной настройкой1. Параметры: скорость 15, импульс 200.Truck_01_Covered–fellingEnabled: -1, поднимаемся кTruck_01_Base-> берём оттуда1и все параметры.
Итог: Truck_01_Covered будет валить деревья со скоростью 15 км/ч и импульсом 200, хотя у него самого в конфиге указан только fellingEnabled: -1.
Как включить валку сразу для всех машин одного типа
Настройте базовый класс (..._Base, Offroad_02_Base и т.п.) один раз – все дочерние с fellingEnabled: -1 унаследуют настройки автоматически.
Можно ли переопределить отдельный параметр?
Нет. Наследование работает "целиком": если класс наследует, он берёт все параметры валки от найденного предка. Чтобы задать свои параметры для конкретной машины – поставьте ей fellingEnabled: 1 и укажите все нужные параметры явно.
Можно ли отключить валку для отдельной машины?
Да. В конфиге наследника поставь fellingEnabled: 0 — явно выключит.
Логика:
-1-> наследовать от родителя (дефолт)0-> выключено (явное, стопорит подъём по иерархии)1-> включено
ResolveVehicleConfig сразу возвращает собственный cfg ребёнка, если fellingEnabled != -1 (строка 223). Дальше ApplyConfig видит 0 ≠ 1 -> ретурнится, MPG_FellingEnabled остаётся false.
// parent
{ "className": "Truck_01_Base", "fellingEnabled": 1, ... }
// child — валилка выключена, остальное тоже своё
{ "className": "Truck_01_Covered", "fellingEnabled": 0 }Родительский 1 игнорится — ребёнок не наследует, у него своё явное значение.
Можно ли отключить валку, если она "включена" в другом моде?
Нет. Если валка включена программно через другой мод, то отключить её можно только в том моде, где она была включена.
Пример Config.json
{
"configVersion": 2,
"documentation": "https://docs.mpg-dayz.ru/car-felling-trees-2",
"logLevel": 3,
"vehicles": [
{
"className": "Truck_01_Base",
"fellingEnabled": 1,
"slots": ["TruckBattery", "Reflector_1_1", "Reflector_2_1", "Truck_01_Hood"],
"fellingAttachmentSlots": ["Truck_01_Hood"],
"fellingMinSpeed": 15.0,
"fellingMinImpulse": 200.0
},
{
"className": "Truck_01_Covered",
"fellingEnabled": -1,
"slots": [],
"fellingAttachmentSlots": [],
"fellingMinSpeed": 10.0,
"fellingMinImpulse": 2000.0
}
]
}Truck_01_Covered наследуется от Truck_01_Base -> применит fellingEnabled: 1 и все параметры валки базового класса. Собственные параметры Truck_01_Covered (fellingMinSpeed: 10.0 и т.д.) не применятся, потому что fellingEnabled: -1 запускает наследование целиком.
См. также
- Быстрый старт – включить валку за 5 минут.
- Как это работает – все условия валки по порядку, авто-обнаружение машин, сбор слотов, совместимость.
