Skip to content

Как это работает

Подробное описание того, как мод находит машины, какие условия должны быть выполнены для валки и с чем мод совместим.

Жизненный цикл мода

При старте сервера:

  1. Загружается Config.json из папки профиля (если файла нет – он создаётся с параметрами по умолчанию).
  2. Мод сканирует CfgVehicles и находит все машины.
  3. Новые машины дописываются в конфиг с параметрами по умолчанию (fellingEnabled: -1).
  4. Существующие записи не трогаются – поэтому изменённые параметры остаются как есть.
  5. Для каждой новой машины собираются доступные слоты и записываются в поле slots.
  6. Конфиг сохраняется обратно в Config.json.

При спавне машины мод применяет к ней параметры валки из конфига – с учётом наследования.

Авто-обнаружение машин

Мод сам находит все машины в игре – ванильные и добавленные другими модами. Никаких ручных правок конфига для добавления новой машины не требуется.

Существующие записи не перезаписываются

Мод добавляет только новые машины. Если машина уже есть в Config.json – её поля (включая slots, даже если они устарели) сохраняются как есть. Это гарантирует, что ваши настройки не потеряются при обновлении мода или добавлении новых машин.

Хотите обновить слоты?

Поле slots обновляется только при первом добавлении машины. Если вы хотите пересобрать слоты (например, после установки мода, добавляющего новые слоты машине) – удалите запись машины из Config.json. При следующем старте сервера мод добавит её заново и соберёт слоты заново.

Сбор слотов

При добавлении новой машины мод собирает её доступные слоты (поле slots). Эти имена можно потом указать в fellingAttachmentSlots.

Что попадает в список

В slots попадают имена слотов, к которым можно что-то прикрепить (бампер, дверь, колесо и т.п.).

Что отфильтровывается

Чтобы не загромождать список, мод исключает слоты, не влияющие на валку:

  • Компоненты двигателя и электрики: CarBattery, TruckBattery, CarRadiator, SparkPlug, GlowPlug, EngineBelt.
  • Фары: Reflector_1_1, Reflector_2_1.
  • Слоты персонажа: Back, Shoulder, Melee.

Однако, если указать в fellingAttachmentSlots например слот Reflector_1_1, то он будет корректно работать.

Сравнение имён слотов case-insensitive.

Условия валки

При каждом столкновении машины с объектом мод проверяет условия по порядку. Если хотя бы одно не выполнено – дерево не упадёт.

Не работает валка?

Поставьте logLevel: 1 (TRACE) – мод напишет в лог, какая именно проверка не прошла.

Проверки в порядке выполнения:

ПроверкаПараметр
1Валка включена для машины (с учётом наследования)fellingEnabled
2Двигатель работает
3Скорость не ниже минимума (по модулю, задний ход тоже считается)fellingMinSpeed
4Импульс столкновения не ниже минимумаfellingMinImpulse
5Все слоты из fellingAttachmentSlots заполнены незаруиненными аттачментамиfellingAttachmentSlots
6Объект – дерево, которое можно повалить (IsTree() и IsCuttable())
7Дерево не уничтожено

Почему проверки идут в таком порядке

Порядок выбран от самого дешёвого к самому дорогому – так мод быстрее отсекает лишние столкновения и экономит ресурсы сервера.

Если все условия выполнены – дерево падает

Совместимость с другими модами

Моды на урон техники

Мод корректно работает с популярными модами, отключающими урон техники на следующие моды (подхватываются автоматически, если мод установлен):

МодSteam Workshop
COCAs NoVehicleDamagehttps://steamcommunity.com/sharedfiles/filedetails/?id=2024889593
WastelandNoVehicleDamageCompletehttps://steamcommunity.com/sharedfiles/filedetails/?id=3166815421
CarDamageConfighttps://steamcommunity.com/sharedfiles/filedetails/?id=3353822981
nvdhttps://steamcommunity.com/sharedfiles/filedetails/?id=1735947752

Логирование (опционально)

Для записи логов в отдельный файл используется мод MPG_ModsLogger.

  • Если MPG_ModsLogger установлен – логи пишутся в MPG_CarFellingTrees2/Logs/.
  • Если не установлен – мод деградирует до стандартного Print() в общий RPT-лог сервера. Но пишутся только ошибки, иначе будет спам в логах, это не допустимо.

Добавленные другими модами машины

Мод автоматически находит и поддерживает машины, добавленные другими модами – они попадают в Config.json при первом запуске наравне с ванильными. Дополнительно настраивать ничего не нужно.

См. также