Перейти к содержанию

AutoStore: автоматический сбор продукции в сундуки

Как подготовить сундук-образец, проверить AutoPickup, дальность и расстояние до игроков, защитить корм и различать сбор с земли и перенос из инвентаря.
Версия не проверена

AutoStore от ArgusMagnus — серверный мод для переноса выпавших предметов в подходящие контейнеры поблизости. Его можно использовать для сбора продукции, которая уже оказалась на земле. Мод не равен изготовлению из сундуков: здесь задача — убрать готовый выпавший предмет в хранение.

Уточните сборку и откройте конфигурацию

В сохранённом описании Thunderstore указана версия 2.1.0. Автор описывает мод как server-side-only, рассчитанный и протестированный на выделенных серверах с обычными и консольными клиентами. Это заявление автора о назначении мода; совместимость вашего сервера здесь не проверялась.

После установки серверный файл настроек находится в BepInEx/config/ArgusMagnus.ServersideQoL.AutoStore.cfg относительно установленного Valheim. Если файла нет, описание предлагает один запуск сервера для его создания. Выполняйте это в своей модифицированной установке, затем сверяйте пояснения в созданном файле.

Информация
Названия и условия параметров ниже прочитаны в сохранённом Config.cs ветки main автора. Совпадение этого кода с бинарным релизом 2.1.0 не установлено. Если ваша конфигурация отличается, ориентируйтесь на её пояснения; не добавляйте неизвестные ключи наугад.

Подготовьте контейнер для конкретной продукции

  1. В конфигурации проверьте Enabled и AutoPickup: первый включает мод целиком, второй отвечает за сбор выпавших предметов.
  2. Поставьте контейнер возле места, где появляется готовая продукция, и положите внутрь образец нужного предмета. AutoPickup выбирает контейнеры, где этот предмет уже есть.
  3. Проверьте AutoPickupRange в своей конфигурации и расположите контейнер в пределах указанной дальности от продукции.
  4. Дайте предмету выпасть и отойдите. Условие AutoPickupMinPlayerDistance должно выполняться для всех игроков рядом с этим предметом.
  5. Проверьте содержимое сундука после переноса. Пустой сундук не рассматривайте как универсальный приёмник всех видов продукции.

В прочитанном Config.cs AutoPickupMinPlayerDistance по умолчанию равен 4 метрам. Это расстояние от выпавшего предмета до каждого игрока, а не радиус поиска сундука. Если другой участник стоит у продукции, ваш отход в одиночку может не выполнить условие.

Числовую дальность AutoPickupRange здесь не подставляем: в коде её значение задано через игровую константу размера зоны. Посмотрите фактическое значение в конфигурации установленной сборки. Пример расстояния на табличке не превращает его в глобальную настройку по умолчанию.

Оставьте корм животным

AutoPickupExcludeFodder в прочитанном коде включён по умолчанию и исключает корм, когда приручённые животные находятся в области поиска. Для загона полезно проверить именно это условие: лежащая еда может быть намеренно оставлена животным, а не потеряна сборщиком.

Дополнительные исключения по типам предметов задаёт AutoPickupExcludeItemTypes. Сверьте этот список, если один вид продукции не собирается, хотя другой из того же места переносится. Не отключайте защиту корма только ради проверки общего радиуса: это разные причины поведения.

Когда работают настройки на табличках

Переопределение дальности для отдельного сундука требует отдельного мода ContainerSigns и его автоматических табличек. В описании Config.cs приведён пример 🧲16; 🧲0 отключает автосбор и перенос из инвентаря в этот сундук. Без ContainerSigns обычная надпись сама по себе не подтверждена как переключатель AutoStore.

Для переноса уже носимых вещей предусмотрен StackInventoryIntoContainersEmote. В прочитанном коде это Sit; при выполнении жеста вещи складываются в подходящие ближайшие контейнеры по тем же правилам выбора. Этот режим отличается от ожидания выпавшей продукции на земле.

Если предмет остаётся на земле

Проверка · Что она отличает
ПроверкаЧто она отличает
Enabled и AutoPickupОтключённую функцию от ошибки размещения
Образец того же предмета в сундукеПодходящий контейнер от пустого универсального склада
AutoPickupRangeРасстояние сундука до продукции
AutoPickupMinPlayerDistance и все игрокиЗадержку из-за близкого игрока
ExcludeFodder и ExcludeItemTypesНамеренное исключение предмета
ContainerSigns для 🧲-надписиРабочее переопределение от обычного текста

Проверяйте на небольшой реальной партии и наблюдайте результат в контейнере. Наличие AutoStore не доказывает работу производства в выгруженной зоне или без игроков: такое автономное моделирование сохранённое описание не обещает. В прочитанном Config.cs AutoPickupRequestOwnership по умолчанию включён: сервер запрашивает владение выпавшим предметом перед подбором. Автор связывает это с уменьшением риска конфликтов данных, например дублирования, ценой производительности. Не отключайте эту проверку только ради ускорения, не оценив последствия.

Информация
Это инструкция для модифицированной игры по описанию пакета и коду автора. Мод не устанавливался, сервер не запускался, перенос предметов и совместимость релиза с main в этой работе не проверялись.

Гайд был полезен?