Важное сообщение для пользователей, которые уже обновились со старой версии
Если вы уже обновились со старой версии на новую систему, вам не нужно снова устанавливать плагин UpdaterBetterNpc и не нужно заново загружать data файлы.
Вам необходимо только переместить или заменить .cs файлы плагинов в папке plugins вашего сервера.
1) Добавлена команда в консоли для переименования пресета в NpcSpawn
Теперь вы можете переименовать пресет напрямую через консоль сервера:
PresetRename <currentName> <newName>
Эта команда:
- Переименует пресет в плагине NpcSpawn
- Переименует этот пресет во всех конфигурационных файлах BetterNpc, где он используется
- Перезагрузит все файлы BetterNpc, в которых были внесены изменения
2) Добавлена команда в консоли для объединения конфигураций BetterNpc и NpcSpawn только в файлах BetterNpc (режим как в старой версии)
Эта команда позволяет объединить все конфигурации обратно в файлы BetterNpc, как это было до появления системы пресетов.
Я настоятельно не рекомендую выполнять это действие.
Это действие является необратимым и отключает систему пресетов.
Пожалуйста, хорошо подумайте перед тем, как выполнять эту операцию.
Что это означает:
- Потеря улучшения производительности
Вы потеряете оптимизацию, которую давала система пресетов.
При использовании пресетов настройки NPC хранятся в NpcSpawn и не требуют передачи между плагинами.
- GUI настройка NPC станет недоступной
Вы больше не сможете настраивать NPC через графический интерфейс.
- Ограниченный доступ к новым настройкам
Некоторые новые функции из этого обновления будут недоступны.
Например, тонкая настройка группового поведения NPC будет недоступна.
Вы сможете только включить глобальное общение между всеми NPC.
- Будущие настройки NPC не будут доступны для редактирования
Все новые параметры NPC, которые будут добавляться в NpcSpawn в будущих обновлениях, не будут доступны для изменения.
- Команда ShowFailedNavMesh станет сложнее в использовании
Я адаптировал её под эту форму конфигураций, но вывод информации всё равно будет сложнее, чем при использовании системы пресетов.
- Файлы конфигураций монументов станут менее удобными
Конфигурационные файлы монументов будут содержать значительно больше строк настроек и станут менее удобными для редактирования.
3) Добавлена консольная команда ShowID
Добавлена новая консольная команда ShowID.
Она позволяет вывести ID кастомной карты, запущенной на сервере, если такой ID существует.
Это может быть полезно для определения кастомных карт и отладки конфигураций, связанных с конкретными картами.
4) Улучшено поведение появления NPC во время ивентов
Улучшена логика появления NPC во время игровых событий.
Теперь система проверяет высоту относительно точки уничтожения танка или Patrol Helicopter, чтобы NPC не появлялись на высоких крышах или других возвышенных объектах.
NPC будут появляться на земле рядом с обломками, ближе к месту события.
Это улучшение также применяется к событиям AirDrop и CH47, если возникает подобная ситуация.
5) Обновлён плагин UpdaterBetterNpc
Плагин UpdaterBetterNpc был обновлён.
Исправлена проблема при конвертации старых лутовых таблиц в новый формат.
Ранее, если в старых конфигурациях в списках prefab или item loot таблиц присутствовали предметы, но сервер использовал дополнительные плагины лута (например AlphaLoot, LootTable или CustomLoot), конвертер всё равно мог активировать эти таблицы в новой конфигурации просто потому, что в старых списках были предметы.
Теперь эта логика исправлена, и конвертация происходит корректно в соответствии с реально используемыми настройками.
Для тех пользователей, которые уже выполнили конвертацию и столкнулись с этой проблемой, в плагине NpcSpawn была добавлена поддержка массового изменения параметров лута через команду NpcEdit.
Это позволяет изменить настройки лута сразу в нескольких конфигурациях без необходимости вручную открывать и редактировать каждый файл.
6) Улучшена работа контроллеров популяции NPC на SpawnPoints
Немного улучшена работа контроллеров, отвечающих за поддержание популяции NPC на SpawnPoints.
7) Оптимизация и очистка кода
Проведена небольшая оптимизация кода:
- Удалён дублирующийся код в обработке команд
- Упрощена логика API