Courseplay: Разгрузи меня

  • Courseplay: Разгрузи меня
  • Courseplay: Разгрузи меня
exekx
364 подписчиков
V1.1.5.0
14 683

Courseplay: Unload Me позволяет разгрузочным тракторам Courseplay автоматически следовать за комбайнами, управляемыми игроком вручную, подстраивать скорость и разгружать их на ходу.

Возможности:

Разгрузка комбайнов, управляемых игроком, на ходу без найма ИИ Courseplay для комбайна.
Разгрузочный трактор автоматически подстраивает скорость под комбайн и выравнивает прицеп под выгрузным желобом.
Выдвижение выгрузного желоба комбайна автоматически вызывает ближайший бездействующий трактор Courseplay.
Складывание желоба служит командой отвода: трактор безопасно отъезжает и покидает место.
Начало движения после вызова, когда трактор стоял, не оставит его позади: он догонит комбайн.
Правый Shift + U: вручную вызвать ближайший разгрузочный трактор по требованию.
Правый Shift + I: включить или выключить опережающий автоматический вызов при заполнении бака на 80 %.

Требуется Courseplay для FS25. Автор: exekx GitHub: https://github.com/exekx/FS25_CourseplayPlayerUnload
Проблемы / трекер ошибок: https://github.com/exekx/FS25_CourseplayPlayerUnload/issues

Сервер
Консоли
Список изменений
5
  • Выбор и отправка техники для выгрузки на большие расстояния
    - Увеличен радиус поиска (до 4000 метров) для беспрепятственной отправки техники на выгрузку на картах большого размера (4x и 16x).
    - Добавлена ​​система оценки кандидатов, отдающая приоритет тракторам, которые уже обслуживают текущее поле.
    - При выборе трактора теперь учитывается степень заполненности прицепа: предпочтение отдается пустым или частично загруженным прицепам, а не почти полным.
    - Добавлена ​​возможность отправки техники, находящейся в режиме ожидания (`WAITING_FOR_SOMETHING_TO_DO` и `IDLE`).

    Распознавание комбайнов и фильтрация прицепов
    - Добавлена ​​строгая проверка объектов-комбайнов (`isHarvesterObject`) для предотвращения ошибочных назначений.
    - Исправлены ошибки распознавания прицепов и бункеров-перегрузчиков: зерновые бункеры, прицепы для силоса и цистерны для навозной жижи больше не принимаются за комбайны.
    - Сохранена специальная поддержка для прицепных комбайнов (корнеплодоуборочных и кормоуборочных), оснащенных режущими механизмами и выгрузными трубами.
    - Добавлена ​​проверка иерархии для сложных конфигураций, включающих транспортные платформы и модульное навесное оборудование.

    Движение по криволинейным валкам и динамическое отслеживание пути
    - Увеличен допустимый угол отклонения (до 60 градусов), чтобы предотвратить отмену задачи при резких поворотах и ​​движении вдоль изогнутых границ поля.
    - Расширены допуски по боковому смещению (до 6 метров) для обеспечения плавного движения техники рядом с комбайном на неровной поверхности.
    - Добавлена ​​проверка близости (менее 30 м) на этапе сближения перед переходом в активный режим выгрузки.
    - Улучшено динамическое наведение с упреждением с учетом текущего курса комбайна и кривизны его траектории.

    Управление выгрузной трубой и жизненный цикл задачи
    - Добавлена ​​интеллектуальная обработка отмены задачи при складывании трубы: тракторы, следующие к комбайну через поле, больше не отменяются до момента прибытия к машине.
    - Настроена логика отмены: задача завершается только после фактической выгрузки или после складывания трубы, которая ранее была открыта для разгрузки.
    - Добавлено автоматическое освобождение техники для выгрузки, если игрок покидает кормоуборочный комбайн более чем на 20 секунд.
    - Обеспечен корректный сброс состояния при отъезде трактора, чтобы предотвратить зависание назначенных задач.

    Выполнение разворотов кормоуборочным комбайном
    - Исправлена ​​сигнатура аргументов для функции `startChopperTurn` в Courseplay, что предотвращает ошибки вызова метода. - Удалены алгоритмы управления без обратной связи (open-loop), чтобы устранить хаотичные движения колес и рывки трактора при поворотах.
    - Восстановлен корректный режим ожидания в конце гона: тракторы останавливаются точно на месте, освобождая комбайну максимум пространства для разворота.
    - Оптимизированы процессы плавного согласования скорости и динамического поддержания дистанции при движении задним ходом, когда комбайн заходит на новый ряд.

    Стабильность и защита от сбоев
    - Добавлена ​​процедура рекурсивной очистки, удаляющая из таблиц активного отслеживания технику, которая была удалена из игры, продана или сброшена.
    - Добавлены проверки существования объекта и валидности узла (`isValidNode`, `entityExists`) перед выполнением любых пространственных расчетов.
    - Проверки на столкновения обернуты в защищенные вызовы (`pcall`) для предотвращения ошибок деления на ноль и сбоев из-за обращения к несуществующим объектам (`nil`).
    - Добавлена ​​защита для привязок действий ввода на случай, если таблицы техники или вызывающего объекта не инициализированы.

  • - Ожидание на поворотной полосе и освобождение пространства: тракторы-перегрузчики аккуратно останавливаются на месте в конце прокоса во время разворота комбайна, оставляя 100% поворотной полосы полностью свободной, чтобы комбайн мог маневрировать без столкновений и помех.
    - Расширенное многофакторное обнаружение разворота: динамически определяет развороты на поворотной полосе по нескольким физическим параметрам: состояние поднятой жатки/подборщика (getIsLowered), активный поток урожая через загрузочные слоты (loadingDelaySlots, isChopperFilling, isDischarging), максимальный угол поворота, скорость рыскания и движение задним ходом.
    - Мгновенное завершение разворота и плавное следование: как только игрок опускает жатку на новый ряд или выравнивает рулевое управление, состояние разворота мгновенно завершается без задержки. Трактор-перегрузчик плавно возвращается к комбайну на скорости разворота, не зависая и не блокируясь при противоположных направлениях движения.
    - Выбор стороны прокоса и валка: при подборе прокосов подборщиками тракторы-перегрузчики разумно сохраняют сторону подъезда или учитывают ручное смещение Courseplay (+X влево, -X вправо).
    - Защита от разворотов измельчителя Courseplay: перехватывает внутренние состояния разворота измельчителя Courseplay (startChopperTurn, handleChopper180Turn, handleChopperHeadlandTurn), гарантируя, что тракторы-перегрузчики никогда не застрянут в поисках несуществующих точек маршрута полевых работ ИИ (временный курс --/--).
    - Защита от ошибки движка GIANTS: встроенный патч движка предотвращает повторяющийся спам ошибок LUA в консоли (AIVehicleUtil.lua:337: attempt to index nil with 'getAttachedImplements'), когда тракторы-перегрузчики буксируют прицепы или орудия без задних сцепных устройств (например, Krampe SB 30/60).
    - Безопасная дистанция за измельчителем: тракторы-перегрузчики выдерживают безопасную дистанцию 5 м позади кабины измельчителя, непосредственно под разгрузочным желобом.

  • - Динамический боковой зазор: теперь маршрут разгрузчика динамически адаптируется к ширине любой установленной жатки/режущего аппарата (от небольших жаток шириной 4 м до огромных режущих аппаратов шириной 15,2 м и более), обеспечивая безопасное расстояние до широких жаток и одновременно центрируя прицеп прямо под разгрузочной трубой.
    - Исправление разворота на поворотной полосе: разгрузчики прокладывают маршрут исключительно позади комбайна, полностью исключая риск выезда перед жаткой во время поворотов.
    - Мгновенный ручной повторный вызов (правый Shift + U): повторно отправляет уже назначенные разгрузчики к обновлённой позиции вашей машины после разворота на краю поля.
    - Реалистичная дистанция при подъезде сзади: во время подъезда тракторы-разгрузчики поддерживают комфортный безопасный зазор 5–7 м за задним бампером комбайна вместо движения вплотную.
    - Настройка системы столкновений: исправлены ложные остановки из-за столкновений с комбайном игрока и широкими жатками.
    - Совместимость со смещением Courseplay: полная интеграция с внутриигровой настройкой Courseplay «Combine offset X/Z» для точной ручной корректировки.

  • - Полная поддержка NEXAT и Modular Carrier (модуль NexCo): Добавлена полная совместимость с широкогабаритными носителями с правосторонними выгрузными трубами. Исправлены расчёты смещения трубы, благодаря чему прицеп выравнивается непосредственно под выгрузным патрубком и не отстаёт.
    - Защита от столкновений и плавное параллельное приближение: Устранены резкие повороты в сторону комбайна. Теперь разгрузочные машины плавно и строго параллельно приближаются к машине (максимальный угол схождения — 4°), сохраняя гарантированный безопасный зазор от гусениц, колёс и кабины.
    - Точное выравнивание при остановке: Когда комбайн останавливается с полным бункером, разгрузочная машина точно подъезжает под выгрузной патрубок и полностью останавливается, не проползая вперёд и не смещаясь в сторону комбайна.
    - Исправления ошибок и улучшения: Исправлена ошибка Lua «attempt to call missing method getAIDirectionNode», возникавшая у транспортных средств без специализации ИИ. Архитектура опорных узлов унифицирована для 100% стабильного отслеживания на стандартных комбайнах, кормоуборочных комбайнах и навесных орудиях.

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