Courseplay: Unload Me permite que os tratores de descarga do Courseplay sigam, igualem a velocidade e descarreguem automaticamente, em movimento, as ceifeiras-debulhadoras conduzidas manualmente pelo jogador.
Funcionalidades:
Descarregue em movimento as ceifeiras-debulhadoras conduzidas pelo jogador sem contratar a IA do Courseplay para a ceifeira-debulhadora.
O trator de descarga iguala automaticamente a velocidade da ceifeira-debulhadora e alinha o reboque por baixo do tubo de descarga.
Ao abrir o tubo de descarga da ceifeira-debulhadora, o trator Courseplay inativo mais próximo é chamado automaticamente.
Fechar o tubo funciona como um comando de dispensa: o trator afasta-se em segurança e parte.
Começar a conduzir depois de chamar o trator, enquanto este estava parado, não o deixará para trás; ele persegue a ceifeira-debulhadora e alcança-a.
Shift direito + U: chama manualmente o trator de descarga mais próximo quando necessário.
Shift direito + I: ativa ou desativa a chamada automática antecipada quando o depósito atinge 80% da capacidade.
Requer Courseplay para FS25. Autor: exekx GitHub: https://github.com/exekx/FS25_CourseplayPlayerUnload
Problemas / rastreador de erros: https://github.com/exekx/FS25_CourseplayPlayerUnload/issues
Seleção e Despacho de Veículos de Descarga a Longa Distância
- Adicionado raio de busca expandido (até 4000 metros) para despacho fluido de veículos de descarga em mapas enormes de escala 4x e 16x.
- Adicionada pontuação inteligente para candidatos a veículo de descarga, priorizando tratores que já estão atendendo ao campo ativo.
- Adicionada ponderação do nível de enchimento do reboque na seleção do trator, preferindo vagões vazios ou parcialmente carregados em vez de reboques quase cheios.
- Adicionado suporte para despachar veículos de descarga que estejam em estados de espera (`WAITING_FOR_SOMETHING_TO_DO` e `IDLE`).
Detecção de Colheitadeiras e Filtragem de Reboques
- Adicionada verificação rigorosa do objeto colheitadeira (`isHarvesterObject`) para evitar atribuições de falso positivo.
- Corrigida a identificação incorreta de reboques e vagões de transbordo: vagões de grãos, reboques de silagem e tanques de chorume não são mais confundidos com colheitadeiras.
- Preservado o suporte especializado para colheitadeiras de raízes e forragem rebocadas genuínas, equipadas com unidades de corte e tubos de descarga.
- Adicionada validação de hierarquia de implementos modulares e de transporte para configurações complexas.
Leiras Curvas e Rastreamento Dinâmico de Trajetória
- Flexibilizada a tolerância do ângulo de alinhamento para até 60 graus, evitando a interrupção do veículo de descarga em curvas fechadas e limites de campo curvos.
- Expandidas as tolerâncias de deslocamento lateral para até 6 metros, mantendo o rastreamento suave do veículo de descarga ao lado da máquina em terrenos irregulares.
- Adicionada verificação de proximidade (< 30m) na fase de aproximação antes de mudar para o modo de descarga ativa.
- Melhorado o direcionamento dinâmico de antecipação de rota (*lookahead*) com base na direção em tempo real e na trajetória curva da colheitadeira.
Controles do Tubo de Descarga e Ciclo de Vida do Veículo de Descarga
- Adicionado rastreamento inteligente para cancelamento por recolhimento do tubo: tratores a caminho pelo campo não são mais cancelados antes de alcançar a máquina.
- Configurado o cancelamento para ocorrer apenas após a realização efetiva da descarga ou quando o tubo é recolhido após ter sido aberto para descarga.
- Adicionada liberação automática do veículo de descarga quando o jogador sai de uma colheitadeira de forragem por mais de 20 segundos.
- Garantida a reinicialização limpa do estado na saída do trator para evitar bloqueios de atribuição obsoletos.
Gerenciamento de Manobras de Colheitadeiras de Forragem
- Corrigida a assinatura do argumento de *hook* para a função `startChopperTurn` do Courseplay, evitando erros de chamada de método. - Removidas as rotinas de direção em malha aberta (*open-loop*) para eliminar movimentos erráticos das rodas e trepidação do trator durante as curvas.
- Restaurada a parada limpa ao final da passada: os tratores param alinhados no local ao final da linha, proporcionando à colheitadeira espaço livre total para manobras.
- Refinado o ajuste suave de velocidade e o acompanhamento dinâmico de recuo (*standoff*) assim que a colheitadeira entra na nova linha.
Estabilidade e Proteção contra Falhas
- Adicionada rotina recursiva de limpeza para remover veículos despawnados, vendidos ou reiniciados das tabelas de rastreamento ativo.
- Adicionadas verificações de existência de entidade e validade de nó (`isValidNode`, `entityExists`) antes de todos os cálculos espaciais.
- Envolvidas as verificações de prevenção de colisões em chamadas protegidas (`pcall`) para eliminar erros de divisão por zero e falhas por referência nula (*nil*).
- Adicionadas proteções de segurança para vinculações de ações de entrada (*input bindings*) quando as tabelas do veículo ou do chamador não estiverem inicializadas.
- Espera na cabeceira e desimpedimento do espaço: os tratores de descarregamento param corretamente no local no final da leira durante as manobras de viragem da ceifeira-debulhadora, deixando 100% da cabeceira completamente livre para que a ceifeira possa manobrar sem colisões ou congestionamentos.
- Deteção aprofundada de viragens com múltiplos fatores: deteta dinamicamente as viragens na cabeceira com base em vários parâmetros físicos: estado levantado da plataforma/pick-up (getIsLowered), fluxo ativo da colheita através das ranhuras de alimentação (loadingDelaySlots, isChopperFilling, isDischarging), ângulo máximo de direção, velocidade de guinada e marcha-atrás.
- Conclusão instantânea da viragem e seguimento contínuo: no momento em que o jogador baixa a plataforma sobre a nova fila ou centra a direção, o estado de viragem termina instantaneamente, sem qualquer atraso. O trator de descarregamento volta suavemente a acompanhar a ceifeira à velocidade de viragem, sem congelar ou ficar bloqueado em sentidos opostos.
- Seleção do lado da leira e do cordão: ao recolher leiras com pick-ups, os tratores de descarregamento mantêm inteligentemente o lado de aproximação ou respeitam o desvio manual do Courseplay (+X à esquerda, -X à direita).
- Proteções de segurança contra viragens da picadora do Courseplay: interceta os estados internos de viragem da picadora do Courseplay (startChopperTurn, handleChopper180Turn, handleChopperHeadlandTurn) para garantir que os tratores de descarregamento nunca ficam presos à procura de pontos de passagem inexistentes do trabalho da IA no campo (curso temporário --/--).
- Proteção contra um erro do motor GIANTS: integra uma correção do motor que impede a repetição de erros LUA na consola (AIVehicleUtil.lua:337: attempt to index nil with 'getAttachedImplements') sempre que os tratores de descarregamento rebocam reboques ou implementos sem engates traseiros (por exemplo, Krampe SB 30/60).
- Distância de segurança atrás da picadora: os tratores de descarregamento mantêm uma distância de segurança de 5 m atrás da cabine da picadora, diretamente sob o tubo de descarga.
- Distância lateral dinâmica: a rota do descarregador adapta-se agora dinamicamente à largura de qualquer cabeçalho/cortador acoplado (desde pequenos cabeçalhos de 4 m até enormes cortadores de 15,2 m ou mais), garantindo uma distância segura dos cabeçalhos largos e centrando simultaneamente o reboque diretamente sob o tubo de descarga.
- Correção da viragem na cabeceira: os descarregadores seguem exclusivamente uma rota atrás da ceifeira-debulhadora, eliminando qualquer risco de passarem à frente do cabeçalho durante as viragens.
- Rechamada manual instantânea (Shift direito + U): reenvia os descarregadores já atribuídos para a posição atualizada da sua máquina após as viragens na extremidade do campo.
- Distância realista de aproximação traseira: durante a aproximação, os tratores descarregadores mantêm uma distância de segurança confortável de 5–7 m atrás do para-choques traseiro da ceifeira-debulhadora, em vez de seguirem demasiado próximos.
- Ajuste do sistema de colisões: foram corrigidas as falsas paragens por colisão com a ceifeira-debulhadora do jogador e com os cabeçalhos largos.
- Compatibilidade com o desvio do Courseplay: integração total com a definição do Courseplay no jogo «Combine offset X/Z» para ajustes manuais precisos.
- Suporte completo para NEXAT e Modular Carrier (módulo NexCo): Foi adicionada compatibilidade total com portadores de grande largura equipados com tubos de descarga do lado direito. Foram corrigidos os cálculos do deslocamento do tubo, para que o reboque fique alinhado diretamente sob a saída, sem ficar para trás.
- Anticolisão e aproximação paralela suave: Foram eliminadas as viragens bruscas em direção à ceifeira-debulhadora. Os veículos de descarga aproximam-se agora suavemente e de forma rigorosamente paralela à máquina (ângulo máximo de convergência de 4°), com uma distância de segurança garantida em relação às lagartas, rodas e cabine.
- Alinhamento preciso em paragem: Quando uma ceifeira-debulhadora para com o depósito cheio, o veículo de descarga posiciona-se precisamente sob a saída e para completamente, sem avançar lentamente nem deslizar em direção à ceifeira-debulhadora.
- Correções de erros e melhorias: Foi corrigido o erro Lua «attempt to call missing method getAIDirectionNode» em veículos sem especialização de IA. A arquitetura dos nós de referência foi unificada para garantir um seguimento 100% estável em ceifeiras-debulhadoras padrão, ensiladoras e alfaias acopladas.