Мод «Реалистичная почва и удобрения» для Farming Simulator 25
Добавляет значительную глубину сельскому хозяйству без чрезмерной сложности. Каждое поле имеет свое собственное здоровье почвы — азот, фосфор, калий, органические вещества и pH — которое меняется в зависимости от того, что вы выращиваете, что вносите и от погоды. Не обращайте внимания на почву, и урожайность пострадает. Управляйте им хорошо, и ваша ферма будет работать более эффективно.
ПИТАТЕЛЬНЫЕ ВЕЩЕСТВА ПОЧВЫ
Каждое поле независимо отслеживает пять значений:
- Азот (N) — сильно истощается из большинства сельскохозяйственных культур, особенно кукурузы и пшеницы.
- Фосфор (P) — истощается медленнее, наиболее важен для корнеплодов.
- Калий (К) — теряется в больших количествах при высокоурожайных урожаях.
- Органическое вещество (ОМ) — улучшает долгосрочную фертильность; навоз и компост создают его
- pH — влияет на то, насколько хорошо усваиваются питательные вещества; известь и гипс корректируют это
Культуры извлекают разное количество каждого питательного вещества. Залежавшиеся поля медленно восстанавливаются сами по себе.
ТИПЫ УДОБРЕНИЙ
Мод распознает все основные типы удобрений, используемые в базовой игре и распространенных модах:
Синтетический:
- Жидкие удобрения — сбалансированный N/P/K, быстрое усвоение.
- Твердые удобрения — повышенное содержание фосфора, стандартная стоимость.
- Дигестат — побочный продукт биогаза, сильный азот и калий.
Органический:
- Навоз — медленно высвобождается, образует органическое вещество.
- Навозная жижа — жидкая органика с высоким содержанием калия.
- Компост — отличный прирост органических веществ.
- Биотвердые вещества — хороший универсальный органический вариант.
- Куриный помет — концентрированные питательные вещества, образует органическое вещество.
- Гранулированный навоз — обработан для облегчения внесения.
Управление pH:
- Известь — значительно повышает pH
- Жидкая известь — немного мягче, чем сухая известь.
- Гипс — стабилизирует pH, улучшает структуру почвы.
Каждый тип имеет реалистичные профили питательных веществ с соответствующими нормами внесения в метрических или британских единицах.
КОНТРОЛЬ СКОРОСТИ ОПРЫСКИВАНИЯ
Точно контролируйте, сколько удобрений вы вносите за проход:
- Сочетания клавиш повышения/понижения ставки позволяют выполнять настройку на лету, находясь в кабине.
- Режим Auto-Rate автоматически устанавливает норму внесения в зависимости от того, насколько истощено поле: при сильном дефиците становится больше, а на здоровой почве меньше.
- Ставка сохраняется за транспортное средство, поэтому вы не потеряете настройки, когда выйдете из машины.
HUD
Панель почвы в режиме реального времени показывает текущий уровень питательных веществ на поле:
- 6 предустановленных позиций (вверху справа, вверху слева, внизу справа, внизу слева, по центру справа или по индивидуальному заказу)
- Пользовательскую позицию можно перетаскивать — разместите ее именно там, где хотите.
- 4 цветовые темы: зеленая, синяя, янтарная, моно.
- 3 размера шрифта
- 5 уровней прозрачности
- Компактный режим для небольших дисплеев
- Включение/выключение HUD с помощью сочетания клавиш.
- Все настройки HUD индивидуальны для каждого игрока и не влияют на других игроков в многопользовательской игре.
Полный отчет о почве также доступен с помощью сочетания клавиш и показывает подробную разбивку по текущему полю.
НАСТРОЙКИ
Все настройки находятся в игре в разделе «Почва и удобрения» игрового меню. В многопользовательском режиме настройки игрового процесса контролируются администратором. Настройки HUD/дисплея всегда индивидуальны для каждого игрока.
Переключаемые системы:
- Система рождаемости (включить/отключить весь мод)
- Циклы питания
- Стоимость удобрений
- Сезонные эффекты (поведение азота меняется в зависимости от сезона)
- Эффекты дождя (дождь вызывает выщелачивание питательных веществ)
- Бонус за вспашку (вспашка улучшает здоровье почвы)
- Автоматический контроль скорости
- Уведомления (предупреждения о низком уровне питательных веществ)
Уровни сложности:
- Простота — снижение истощения ресурсов, снижение затрат, более щадящий подход.
- Реалистичный — сбалансированные стандартные ставки (по умолчанию).
- Хардкор — быстрое истощение, более высокие затраты, нет места пренебрежению
Единицы: переключайтесь между метрическими (кг/га) и британскими (фунтами на акр) для каждого игрока.
СОВМЕСТИМОСТЬ С ТОЧНЫМ ЗЕМЛЕДЕЛИЕМ
Если официальное DLC Precision Farming активно, этот мод автоматически переходит в режим только для чтения. Он не вмешивается в данные о почве PF — он просто наблюдает. Никаких конфликтов.
МУЛЬТИПЛЕЕР
Полностью поддерживается. Сервер управляет настройками игрового процесса. Каждый игрок контролирует свои собственные настройки HUD. Данные о полевой почве синхронизируются со всеми клиентами. Новые игроки, присоединяющиеся в середине сессии, автоматически получают полную синхронизацию состояния.
КОНСОЛЬНЫЕ КОМАНДЫ
Введите Soilfertility в консоли разработчика (клавиша тильда), чтобы просмотреть все команды. Ключевые из них:
Soilfertility — показать все доступные команды
SoilEnable/SoilDisable — переключить мод
SoilSetDifficulty 1/2/3 — установить сложность
SoilFieldInfo <fieldId> — показать данные о почве для определенного поля.
SoilShowSettings — отображение текущих настроек
SoilResetSettings — сбросить все к настройкам по умолчанию.
SoilSaveData — принудительно сохранить данные о почве на диск
SoilDebug — переключить ведение журнала отладки
СОВМЕСТИМОСТЬ
- Работает со всеми картами
- Работает со всеми транспортными средствами и опрыскивателями.
- Совместимость с модами севооборота.
- Никаких известных конфликтов с другими модами.
- Совместимость с сохранениями — существующие сохранения загружаются нормально.
УСТАНОВКА
Распакуйте zip в папку с модами. Настройте в игре раздел «Почва и удобрения» в меню настроек. Никаких дополнительных действий не требуется.
===============================================================
Репозиторий GitHub:
https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer
===============================================================
УВЕДОМЛЕНИЕ ОБ АВТОРСКИХ ПРАВАХ:Все права защищены. Несанкционированное распространение, копирование,
модификация или утверждение этого мода как своего строго запрещено.
Автор оригинала: TisonK
===============================================================
Изменения плодородия почвы рассчитывались независимо на каждой машине в многопользовательской игре, что со временем приводило к рассинхронизации полей между хостом и другими игроками. Это исправление гарантирует, что вычисления выполняет только сервер.
Что исправлено:
- Эффекты сбора урожая, вспашки, погоды и владения полем теперь применяются только на сервере и корректно синхронизируются со всеми игроками.
- Больше нет рассинхронизации рождаемости в мультиплеере или на выделенных серверах.
Никакой сохраненной миграции не требуется.
НОВЫЕ ВОЗМОЖНОСТИ:
- Автоматический контроль нормы внесения (переменная норма): опрыскиватели и разбрасыватели теперь могут автоматически регулировать нормы внесения в зависимости от потребностей поля в питательных веществах. Переключите этот режим с помощью левого Alt + Z.
- Гипсовая поддержка: добавлен новый тип удобрений! Гипс помогает стабилизировать pH почвы до нейтрального уровня (7,0) и слегка повышает содержание органических веществ (ОВ) для улучшения структуры почвы.
- Улучшенный интерфейс опрыскивателя: на панели нормы опрыскивания теперь отображается зеленый индикатор «АВТО», когда активно управление переменной нормой, и отображаются конкретные целевые значения питательных веществ (N, P, K, pH или OM).
ТЕХНИЧЕСКИЕ УЛУЧШЕНИЯ:
- Многопользовательская синхронизация: добавлены специальные сетевые события, обеспечивающие идеальную синхронизацию статуса автоматической оценки для всех игроков на сервере.
- Переменная математика: реализована система динамических множителей, которая рассчитывает точный «задолженность по питательным веществам» поля, чтобы предотвратить недостаточное или чрезмерное внесение удобрений в автоматическом режиме.
- Локализация: добавлены полные переводы для Auto-Rate и Gypsum на всех поддерживаемых языках.
Раньше перетаскивание HUD в новую позицию работало во время сеанса, но раскрывающийся список настроек положения не мог отразить это — и выбор любой предустановки возвращал HUD обратно.
Что нового:
- Новая опция Custom в настройках HUD Position.
- Перетащите или измените размер HUD в игре → настройка автоматически переключится на «Пользовательский».
- Ваша пользовательская позиция сохраняется и восстанавливается при каждой перезагрузке.
- Выбор пресета из раскрывающегося списка по-прежнему закрепляет HUD в этом положении, как и раньше.
Перенос сохранений не требуется — существующие сохранения работают как есть.
Положение, масштаб и видимость HUD почвы терялись каждый раз, когда вы перезагружали сохранение. HUD вернется в положение по умолчанию и появится снова, даже если вы скрыли его с помощью клавиши J.
Что исправлено:
- Положение и масштаб HUD теперь сохраняются при каждом сохранении игры и при выходе из игры.
- Скрытие HUD с помощью клавиши J теперь сохраняется после перезагрузки.
Никакой сохраненной миграции не требуется.
Две ошибки незаметно приводили к тому, что внесение удобрений и отслеживание урожая давали неправильные результаты без каких-либо очевидных ошибок в игре. Это обновление гарантирует, что ваша работа на местах действительно учитывается.
Что исправлено:
- Разбрасыватели сухих удобрений (гранулированный навоз и т. д.) теперь корректно обновляют значения почвы — раньше мод молча не мог зарегистрировать приложение.
- Обнаружение урожая теперь всегда отражает то, что растет на поле в данный момент, а не то, что было там в прошлом сезоне.
Перенос сохранений не требуется — существующие сохранения загружаются нормально.
HUD и отчет о почве всегда показывали последний собранный урожай, а не то, что сейчас растет на поле. Посадите пшеницу после кукурузы, и на обеих панелях по-прежнему будет написано «Кукуруза» — теперь это исправлено.
Что исправлено:
- HUD и отчет о почве теперь правильно показывают урожай, растущий в данный момент в поле. - На полях под паром по-прежнему отображается надпись «Пар», как и ожидалось.
Перенос сохранений не требуется — существующие сохранения работают без изменений.
Полный журнал изменений -> https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/tag/v1.1.0.0
v1.0.9.0 -> v1.0.10.0 (но КМ не допускает номер 10)
HUD был полностью переработан. Теперь он показывает данные поля в реальном времени для любого поля, на котором вы находитесь — больше нет статичной легенды, которая не говорит вам ничего полезного.
Что нового:
- HUD теперь отображает в режиме реального времени уровни N/P/K, pH и органическое вещество для вашего текущего поля с полосами состояния с цветовой кодировкой (хорошее/низкое/критическое).
- Показывает название поля, текущую культуру и внесение удобрений.
- HUD теперь можно перемещать и изменять его размер — щелкните его правой кнопкой мыши, чтобы войти в режим редактирования, перетащите, чтобы изменить положение, перетащите угол, чтобы изменить размер, щелкните правой кнопкой мыши еще раз, чтобы сохранить
- Контроль нормы внесения удобрений для каждого автомобиля — регулируйте норму внесения каждого опрыскивателя прямо из кабины (новые привязки клавиш).
- Расширенная библиотека профилей удобрений с реальными агрономическими типами (мочевина, DAP, MAP, калий, доломит, дигестат и т. д.)
- Исправлен сбой при использовании привязок клавиш скорости опрыскивателя.
- Исправлены новые поля, начинающиеся с неправильных значений почвы (теперь соответствует базовой игре).
Перенос сохранений не требуется — существующие сохранения загружаются нормально.
Мод показывал значения здоровой почвы с самого начала новой игры, в то время как базовая игра одновременно сообщала вам, что ваши поля нуждаются в известковании и удобрении. Обе системы были правы — они просто не стартовали с одного и того же места. Это обновление исправляет это.
Что исправлено:
- Поля теперь начинаются со слегка кислой средой (pH ~ 6,0) и умеренными питательными веществами, что соответствует начальному состоянию базовой игры «нуждается в извести / нуждается в удобрении».
- Внесение извести или удобрений теперь приводит обе системы в согласие одновременно.
- Добавлена лицензия CC BY-NC-ND 4.0.
- Обновлен README с более четкими инструкциями и описаниями функций.
Ваши существующие сохранения не будут затронуты. Поля, уже отслеживаемые в вашем сохранении, сохраняют свои текущие значения — только новые или неотслеживаемые поля используют обновленные начальные значения.
- Исправлена тихая ошибка, из-за которой поля отслеживались неправильно.
Объекты полей FS25 не предоставляют числовой идентификатор поля напрямую — мод искал не в том месте, поэтому данные о плодородии поля никогда не инициализировались, а события вспашки молча игнорировались.
Что исправлено:
- Плодородность полей теперь правильно инициализируется для всех полей при загрузке игры.
- Вспашка теперь правильно регистрируется на правильном поле, применяя бонусы к органическому веществу почвы, как и предполагалось.
- Не требуется сохранение миграции — данные автоматически повторно инициализируются.
Если вы видели данные о рождаемости, которые никогда не менялись, или вспашку, которая, казалось, не имела никакого эффекта, это обновление
решает обе проблемы.
[Исправление многопользовательской игры]
Ошибка 1. Настройки навсегда заблокированы на выделенном сервере:
Пользовательский интерфейс настроек фиксирует статус администратора только один раз (при первом открытии), охраняемый `soilFertilizer_initDone`. Если база данных пользователей еще не была заполнена при присоединении, все элементы управления оставались отключенными для сеанса. Теперь `updateAdminState()` вызывается при каждом открытии фрейма, поэтому статус администратора всегда актуален.
Ошибка 2 — изменения настроек HUD затронули всех игроков:
hudPosition, hudColorTheme, hudFontSize, hudTransparency, hudCompactMode и showHUD маршрутизировались через сервер и транслировались каждому клиенту. Перемещение вашего HUD также привело к изменению HUD всех остальных. Эти настройки теперь отмечены в схеме как «localOnly = true» — они обходят сеть на всех трех уровнях (отправка клиента, применение/рассылка сервера, получение синхронизации). Каждый игрок самостоятельно управляет своим HUD, администратор не требуется.
Символ галочки ✓ (Unicode U+2713 / десятичное число 10003) использовался в пяти сообщениях журнала HookManager.lua, выводимых при установке перехватчиков при запуске. Растровый шрифт FS25 не включает этот глиф — движок останавливался при поиске пропущенных символов каждый раз, когда журнал выводился на экран, что приводило к заметному зависанию сразу после загрузки мода.
Все пять вхождений заменены простым ASCII [ОК]. Предупреждение «Символ '10003' не найден в текстурном шрифте» исчезло, как и зависание.
HUD (клавиша J) был преобразован из отображения данных в реальном времени по каждому полю в легенду для быстрой справки. Полные данные поля теперь корректно отображаются в диалоговом окне «Отчет о почве».
- Исправлена инъекция страницы настроек, из-за которой страницы настроек других модов (Графика, Лучшие контракты и т. д.) отображались белыми/пустыми при загрузке SoilFertilizer.
- Исправлена скрытая ошибка времени выполнения в HUD, когда вызывался self:getActionName(), но метод не существовал в SoilHUD.
- Добавлен g_fieldManager:getFieldAtWorldPosition() в качестве основного поиска поля (уровень 0) — наиболее точный API FS25, устраняющий несоответствия на сложных или плотных картах.
- Добавлена цветовая маркировка N/P/K
- Добавлено безопасное преобразование строк для нулевых идентификаторов полей.
- Реализован правильный шаблон RVB (Регистрация-Проверка-Привязка) со всеми необходимыми параметрами.
— Добавлено отсутствующее объявление <actions> в modDesc.xml.
- Реализован проверенный шаблон обнаружения поля NPCFavor с резервным режимом 500 м.
- Добавлены естественные вариации почвы (±10% питательных веществ, ±0,5 pH, ±0,5% ОВ) с детерминированным посевом.
- Добавлена защита многопользовательской игры - поля создает только сервер, клиенты ждут синхронизации.
- Добавлены функции проверки шаблона для всех типов элементов.
- Реализовано кэширование шаблонов для обеспечения согласованности.
- Добавлено сканирование кандидатов с проверкой перед принятием шаблонов.
- Добавлена проверка после клонирования для выявления структурных проблем.
- Кэш сбрасывается при повторной попытке для обработки изменений порядка загрузки модов.
- Улучшены сообщения об ошибках для отладки сбоев шаблона.
В этом выпуске исправлены критические проблемы с внедрением и проверкой графического интерфейса, из-за которых меню настроек не отображалось надежно. Мод теперь корректно работает как в одиночном, так и в многопользовательском режимах, даже если установлены другие моды.
- Исправлено меню настроек, не появляющееся в игре.
- Исправлены ошибки сетевых настроек в мультиплеере.
- Исправлены ошибки загрузки модуля (NetworkEvents.lua)
Рефакторинг архитектуры и улучшения многопользовательской игры
Новые модули:
- HookManager — правильное управление жизненным циклом хуков (установка/удаление) для всех игровых хуков.
- SettingsSchema — единый источник достоверных данных для всех определений настроек, сокращающий количество точек касания для новых настроек с ~10 до 1.
- Константы (SoilConstants) — все магические числа извлечены в централизованную конфигурацию (урожайность, профили удобрений, коэффициенты восстановления, пороговые значения, время, множители сложности).
- Регистратор (SoilLogger) — согласованный префикс журнала [SoilFertilizer] во всех файлах.
Мультиплеер:
- Добавлен SoilFieldUpdateEvent — синхронизация данных о почве для каждого поля на сервере при сборе урожая/внесении удобрений.
- Данные поля теперь включены в событие полной синхронизации для присоединения к игрокам.
— Логика повторной синхронизации сети (3 попытки, 5-секундные интервалы) для запросов полной синхронизации.
Исправления ошибок:
— Преобразованы небезопасные прямые замены функций (Sprayer.spray, Environment.update) в Utils.appendedFunction для лучшей совместимости с модами.
- Добавлена очистка данных полей при смене владельца (исправление утечки памяти)
Качество кода:
- Рефакторинг SoilFertilitySystem с использованием чистых методов делегирования (onHarvest, onFertilizerApplied, onFieldOwnershipChanged, onEnvironmentUpdate)
— Упрощены SettingsManager, Settings и SoilSettingsUI за счет их извлечения из схемы.
- Обновлен дескриптор версии modDesc с 92 до 105.
- Добавлены улучшения локализации сообщества (PR №9).
- Добавлено 6 недостающих функций
— Улучшена обработка ошибок с помощью pcall().
- Улучшена последовательная система журналирования.
- Добавлены нулевые проверки безопасности.
- Улучшено управление крючками для предотвращения дублирования.
- Добавлены 3 новые настройки (сезонные эффекты, эффекты дождя и бонус за вспашку).
- Улучшена инициализация графического интерфейса.
- Улучшены проверки совместимости.
Список изменений:
- Исправлена команда `SoilFieldInfo`, теперь правильно инициализирует и возвращает данные поля.
- Улучшены ежедневные обновления почвы с учетом погодных/сезонных эффектов.
- Исправлена небольшая ошибка в интерфейсе настроек.
Не работает:
- Визуальные индикаторы почвы на карте (цвет пока не меняется)
- Эффекты урожайности (не меняет количество урожая)
- Корректировка стоимости удобрений (настройка существует, но не реализована)
- Износ оборудования из-за почвенных условий.
- Эффекты текстуры почвы/песка/глины
Планируется:
- Бонусы за севооборот – не дают бонусов за урожайность за хорошие севообороты.
- Эффекты покровных культур - не распознает покровные культуры
- Уплотнение почвы - от тяжелой техники
- Влияние орошения – на доступность питательных веществ
- Поля можно сканировать, но на данный момент они будут давать значения по умолчанию.
- Точное земледелие теперь правильно определяется и устанавливает режим только для чтения.
- Исправлена вкладка настроек (если у вас есть проблемы с FS25_WorkerCosts, ПОЯВЛЯЮТСЯ в игре)*
- Добавлена ленивая инициализация для предотвращения сбоев на серверах/клиентах.
*Будет исправлено в ближайшее время!
!!! Пожалуйста, прочитайте это внимательно!!!
При использовании мода вместе с такими модами, как Precision Farming, настройки пока недоступны в меню паузы. Настроить его можно с помощью консоли. Я работаю над правильным решением этой проблемы.
Вы по-прежнему можете использовать мод с другими модами, но в меню паузы вкладки настроек не будет. Имейте это в виду.
Проблемы все еще могут быть, но я протестировал его на своей машине и после внесения изменений не обнаружил ошибок. По этой причине я выдвинул эту версию.
Пожалуйста, создайте проблему в репозитории GitHub, если после этого журнала изменений у вас возникнут какие-либо ошибки!
- Исправлена вкладка настроек, перекрывающаяся с другими модами в меню паузы.
- Исправлен сбой игры при обновлении до сканирования полей.
- Исправлена ошибка «ожидаемая таблица пар(), получено ноль» в SoilFertilitySystem.
- Исправлена совместимость с многопользовательской игрой и выделенным сервером.
- Исправлены сбои внедрения графического интерфейса, вызывающие проблемы с меню настроек.
- Добавлена полная совместимость с модом Precision Farming.
- Добавлена совместимость модов Used Tires (графический интерфейс отключен, консольные команды работают)
- Добавлена поддержка выделенного сервера с автоматическим отключением графического интерфейса.
- Добавлен файл конфигурации для параметров настройки пользователя.
- Добавлено обнаружение конфликтов модов и режим автоматической совместимости.
- Добавлен консольный режим для серверных сред.
- Улучшено расстояние между графическим интерфейсом, чтобы предотвратить дублирование с другими модами.
- Улучшено сканирование полей с нулевыми проверками безопасности.
- Улучшена обработка ошибок во всем моде.
- Улучшена стабильность многопользовательской игры и обнаружение сервера/клиента.
- Улучшено ведение журнала и отладочная информация.
- Улучшено расположение меню настроек и постоянство кнопок.
- Гарантировано, что fieldData всегда инициализируется как таблица (не ноль).
- Изменен порядок инициализации для предотвращения преждевременных обновлений.
- Изменена инъекция графического интерфейса, чтобы избежать конфликтов с другими модами.
- Исправлена серьезная проблема с экраном магазина и внутриигровой картой.
- Временно отключены настройки через меню паузы из-за продолжающихся конфликтов.
- Добавлена совместимость с точным земледелием.
— Гарантировано, что `self.fieldData` всегда инициализируется как таблица (а не как `nil`).
- Добавлена проверка типа перед использованием `pairs()` для итерации.
- Добавлено улучшенное ведение журнала ошибок для отладки.
- Исправлен сбой игры, когда мод пытался обновиться до сканирования полей.