Динамика рынка

  • Динамика рынка
  • Динамика рынка
  • Динамика рынка
  • Динамика рынка
  • Динамика рынка
tisonK
409 подписчиков
V1.1.9.4
13 822

Мод Futures Missions можно найти здесь -> https://github.com/Mmtrx/FS25_FuturesMission.

Динамическое ценообразование на урожай для Farming Simulator 25, вдохновленное реальным миром. Цены колеблются ежедневно и внутридневно в зависимости от мировых событий, предложения, спроса и экономических потрясений — никакие два прохождения не ощущаются одинаково.

Механизм динамического ценообразования — для каждого отслеживаемого урожая есть текущая цена, построенная на основе базовой цены, коэффициента волатильности и набора модификаторов текущих событий. Цены меняются каждую игровую минуту и ​​меняются ежедневно с возвратом к среднему значению к базе. Они фиксируют от 50% до 200% базовой суммы, поэтому рынки остаются волатильными, но не абсурдными.

Десять мировых событий — региональная засуха, небывалый урожай, нарушение торговли, геополитический кризис, инициатива по биотопливу, кормовой бум для скота, вспышка вредителей, резкое похолодание, финансовая паника и протеиновая премия. Каждый из них срабатывает вероятностно, с кулдауном для каждого типа и рандомизированной интенсивностью — колебания цен являются ранжированными, а не равномерными, поэтому рынки кажутся живыми и непредсказуемыми. Похолодание — это первое событие смешанного направления, повышающее урожайность одних культур и одновременно подавляющее другие. Финансовая паника – это редкий черный лебедь, который одновременно обрушивает все сырьевые товары.

Фьючерсные контракты — зафиксируйте цену продажи сегодня с поставкой в ​​течение 120 игровых дней. Введите любое количество с помощью пользовательского ввода текста и установите любое необходимое вам окно доставки — вы не ограничены предустановками. Выполните вовремя полную выплату по фиксированной цене; пропустите срок, и вы получите штраф в размере 15% за невыполненную часть. Если установлен FS25_UsedPlus, ваш кредитный рейтинг увеличивает этот штраф от 10% до 20%.

Экран рынка — полноценная страница InGameMenu с тремя вкладками: текущие цены с процентным изменением и график тенденций сессии, активные мировые события с интенсивностью и оставшимся временем, а также история ваших контрактов. Нажмите N или нажмите «Новый контракт», чтобы открыть диалоговое окно контракта в любом месте экрана.

Настройка событий — настройте, на какие именно культуры влияет каждое мировое событие, через игровой интерфейс настроек событий. Диалоговое окно «Просмотр типов заливки» позволяет прокручивать и выбирать названия обрезков, устраняя необходимость вводить их вручную.

Мультиплеер (авторитетный сервер) — состояние цен, мировые события и фьючерсные контракты синхронизируются между клиентами. Моделирование выполняется на выделенных серверах без каких-либо зависимостей от графического интерфейса. Создание и выполнение контракта происходит через проверенные сетевые события.

Интеграция модов — FS25_FuturesMission: выполнение миссии по сбору урожая вызывает кратковременный всплеск предложения этого урожая, временно снижая его цену. FS25_UsedPlus: результаты контракта влияют на ваш кредитный рейтинг, и ваш рейтинг увеличивает штраф по умолчанию. Обе интеграции активируются автоматически при обнаружении.

Настройки — включение/отключение динамических цен, включение/отключение событий, частота событий, масштаб волатильности и ведение журнала отладки. Все это доступно в игре в разделе ESC > Настройки > Динамика рынка.

Локализация на 26 языков — включены все языки Farming Simulator 25.

Данные сохранения хранятся в savegameDirectory/FS25_MarketDynamics.xml. Удаление мода во время сохранения безопасно — файл просто игнорируется при следующей загрузке.

Сервер
Консоли
Список изменений
16
  • - Исправлено невыполнение контракта при перезапуске, сохраняя абсолютное игровое время и добавляя защиту синхронизации в цикл обновления.
    - Реализовать действие «Утрата» для владельцев контрактов, позволяющее клиентам, не являющимся администраторами, на выделенных серверах управлять своими собственными контрактами.
    — Рефакторинг сериализации XML для использования современного API класса FS25 XMLFile, повышение стабильности и исправление ошибок сценария, связанных с типами.
    - Исправлен бесконечный цикл в логике загрузки UPIntegration, приводивший к зависанию игры при загрузке 100%.
    — Подавление ошибок «Не удалось открыть XML» из-за отсутствия устаревших файлов конфигурации.
    - Обеспечьте правильную проверку разрешений администраторов и главных пользователей для элементов пользовательского интерфейса.

  • Market Dynamics теперь реагирует на то, что происходит в мире. Если случайный мир
    События вызывают крах рынка, цены отразят это. Если ваши поля находятся под
    широко распространенный стресс урожая, давление со стороны предложения подталкивает цены вверх.

    Что нового/исправлено:
    - Интеграция случайных мировых событий: активные экономические и полевые события теперь
    напрямую меняет цены на сельскохозяйственные культуры (рыночный бум +12%, крах -13%, экспорт
    возможность +18%, экономический кризис -20% и более)
    - Интеграция сезонного стресса урожая: когда многие из ваших полей находятся под угрозой
    критический стресс, начинается умеренное повышение цен под давлением предложения.
    - Единица времени доставки (реальные дни по сравнению с внутриигровыми днями) теперь единая глобальная.
    настройка в ESC > Настройки > Динамика рынка вместо каждого контракта
    выбор — существующие контракты не затрагиваются
    - Новый HUD контрактов, показывающий ваши активные контракты с первого взгляда.
    - Оповещения о событиях переработаны с более чистыми уведомлениями.
    - Исправлены контракты, которые некорректно завершались в точках продаж.
    - Исправлено некорректное сохранение времени начала доставки при перезагрузке.
    - Исправлено предупреждение о шкале времени, которое могло некорректно сработать во время быстрой перемотки вперед.
    - Диалоговое окно «Просмотр типов заполнения» для упрощения настройки событий.
    - Теперь доступна немедленная доставка по контракту
    - Настройки событий правильно синхронизируются в многопользовательском режиме.

    Сохраняет: миграция не требуется. Существующие контракты переносятся.

  • - Добавлен новый HUD при наличии активного контракта.
    - Добавлен диалог, который появляется при начале события.
    - Добавлены новые строки во все 25 файлов перевода.
    - Исправлена проблема, из-за которой заключенные контракты не могли быть выполнены во время разгрузки на станции продажи.
    - Добавлены недостающие строки во все файлы перевода.

  • - Добавлен новый HUD при наличии активного контракта.
    - Добавлен диалог, который появляется при начале события.
    - Добавлены новые строки во все 25 файлов перевода.

  • - Добавлены отсутствующие поля DeliveryStartTime и bcManaged в MarketSerializer и сетевую синхронизацию (#64).
    — Исправлено смещение крайнего срока BCIntegration для использования DaysPerPeriod (#64).
    - Добавлены хуки UPIntegration и исправлены клавиши удаления модификаторов (#64).
    - Добавлены резервные копии onLoad и getExtraData для всех событий без сохранения состояния для обеспечения безопасности загрузки (#64).
    - Исправлено дублирование приложения TradeDisruptionEvent с дополнительным типом заполнения (#64).
    - В MarketDynamics добавлен льготный период начала сеанса, чтобы предотвратить немедленные дефолты контракта при перезапуске сервера (#63, #60).
    - Реализован MDMMarketSyncEvent для синхронизации цен сервера и активных событий с клиентами, исправление рассинхронизации (#62).
    - Добавлена детерминированная логика выполнения самого старого контракта.
    - Зарегистрированы отсутствующие диалоги и добавлена нулевая защита в основных системах.

  • - Просмотр типов (расширенный) — теперь вы можете добавлять отдельные типы заливки непосредственно к событиям через пользовательский интерфейс браузера.
    - Расширена обработка товаров — события теперь поддерживают все типы заливок, а не только культуры.
    - Настройки событий многопользовательской игры/выделенного сервера улучшены для большей согласованности и надежности.
    - Проблема с завершением контракта, которая может помешать правильному завершению контрактов.

  • — Создан MDMSettingsSyncEvent.lua: новое сетевое событие, которое управляет синхронизацией всех настроек (переключение цен, частота событий, волатильность, отключенные события и пользовательские типы фруктов) между сервером и всеми подключенными клиентами.
    - Синхронизация при присоединении: когда новый игрок присоединяется к серверу, он теперь автоматически получает все текущие настройки с сервера и видит именно то, что видит хост.
    - Обновления в режиме реального времени: всякий раз, когда какой-либо игрок (с разрешения) меняет настройку в пользовательском интерфейсе настроек или диалоговых окнах настроек событий, это изменение теперь мгновенно передается на сервер и всем другим клиентам.
    - Сохранение на стороне сервера: поскольку сервер теперь получает эти обновления в режиме реального времени, он будет правильно включать ваши пользовательские типы фруктов при следующем сохранении игры.

  • - Контракты теперь корректно синхронизируются со всеми клиентами на выделенном сервере.
    - Исправлен сбой загрузки, вызванный неправильными путями к файлам внутри zip-архива мода.
    - Переключатель единиц времени (часы/дни) перемещен в диалог контракта, где он и находится.
    — Всплывающее окно ввода контракта изменено и изменено — текстовое поле больше не обрезано.
    - Удалена оставшаяся панель настроек, которая вызывала конфликты вкладок в многопользовательской игре.
    - Настройки событий теперь находятся в нижнем колонтитуле (рядом с «Новым контрактом»), их легче найти.

  • - Улучшены все диалоги (должны быть менее шумными)
    - 2 новых варианта создания контракта (индивидуальная сумма и произвольные дни)
    - Добавлен переключатель единиц времени для выбора между игровыми и реальными днями.
    - Переработка команд администратора.
    - Исправлено несколько мелких ошибок

  • Вместо выбора заранее заданных количеств теперь вы можете ввести любое количество (в литрах или единицах измерения), используя новый настраиваемый диалог ввода. То же самое и с окнами доставки — введите любое количество игровых или реальных дней.

    [Сохранить путь исправления]
    - Файл сохранения больше не создается внутри подпапки в каталоге сохраненной игры. Это устраняет проблему, из-за которой выделенные серверы отклоняли загруженные сохранения. Существующие сохранения из версии 1.1.4.x автоматически переносятся при первой загрузке.

    [Расположение кнопок диалогового окна]
    - Кнопки предварительной настройки количества в диалоговом окне фьючерсного контракта больше не выходят за пределы границ диалогового окна.

    [Диалог пользовательского ввода]
    — Текст подсказки в нижней части диалогового окна пользовательского ввода теперь полностью виден (в предыдущем макете он был обрезан).

    Полный журнал изменений -> https://github.com/TheCodingDad-TisonK/FS25_MarketDynamics/blob/main/CHANGELOG.md

  • FS25_FuturesMission обновлен -> https://github.com/Mmtrx/FS25_FuturesMission/releases/tag/v1.1.0.1

    Вкладка «Динамика рынка» перезаписывала вкладку «НАСТРОЙКИ СЕРВЕРА» при игре на многопользовательском сервере. Вкладка MDM теперь всегда вставляется после всех существующих вкладок игры (включая вкладку «НАСТРОЙКИ СЕРВЕРА» только для MP) и автоматически восстанавливается, если что-то меняет положение вкладки.

  • Добавлено 3 новых события!

    - ColdSnapEvent.lua — заморозок смешанного направления; зерновые/масличные вверх, кормовые вниз; полное сохранение/загрузка через getExtraData/onLoad
    - FinancialPanicEvent.lua — макрошок «черный лебедь»; подавляет все культуры одновременно; редкий пол высокой интенсивности
    - ProteinPremiumEvent.lua — тренд спроса на белок; увеличивает урожай сои/канолы и мукомольной пшеницы/ячменя с разной скоростью
    - Ключи перевода mdm_event_cold_snap, mdm_event_financial_panic, mdm_event_protein_premium добавлены во все 26 языковых файлов.

  • - Фьючерсные контракты больше не дефолтируются сразу при первой перезагрузке после подписания.
    - Полная многопользовательская поддержка фьючерсных контрактов. Все действия по контракту (создание, завершение, отмена, удаление) теперь отправляются на сервер для принудительного выполнения и синхронизируются со всеми подключенными клиентами.

  • Это обновление обеспечивает полную интеграцию с FS25_FuturesMission (от Mmtrx), исправляет несколько ошибок контрактов и цен, которые возникли с момента запуска, а также убирает запутанные внутриигровые сообщения, чтобы вы всегда знали, куда идти.

    Что нового/исправлено:
    • Интеграция FuturesMission — при установке FS25_FuturesMission фьючерсные контракты создаются с помощью потока задач BetterContracts, а MDM автоматически обрабатывает ценовую сторону.
    • Миграция сохраненных игр — существующие контракты MDM передаются в FuturesMission без ошибок при первой загрузке; никаких ручных действий не требуется
    • Исправлены цены, иногда показывающие 0 долларов на экране рынка.
    • Исправлен список контрактов, не реагирующий на клики в некоторых ситуациях.
    • Исправлено зависание игры, которое могло произойти при нажатии кнопки «Новый контракт» при активном BetterContracts.
    • Исправлены сроки контрактов и таймеры событий, которые рассинхронизировались при длительных игровых сессиях.
    • Внутриигровые сообщения теперь правильно называют FS25_FuturesMission и сообщают, где его получить, если у вас его нет.

    Перенос сохранений не требуется — существующее сохранение работает как есть.

  • Фьючерсные контракты теперь правильно отслеживают поставки урожая. Раньше контракты фиксировались на уровне 0% выполнения независимо от того, сколько было поставлено. (PriceHook.lua — используйте fillDelta вместо возвращаемого значения SellFillType, которое не является допустимым количеством литров в FS25.)

Необходимые моды
1
Кредиты
Комментарии
21