I tætte silo-rækker står markøren ved NÆSTE silos rist (næsen stopper dér, vognen holder et vogntog bagved). Nærmeste-trigger-koblingen ramte derfor nabosiloen og forskød alle 40 markører én silo: roer i silo 2 blev til '1 Silo Storage'. Koblingen bruger nu ankomstretningen fra forrige waypoint og vælger nærmeste trigger bag næsen (højst 2 m foran); ellers nærmeste trigger som før. Verificeret mod savegame: 40 markører -> 40 forskellige siloer, TMR Unload -> TMR.
2.9 KiB
FS25_ADSmartPickup
AutoDrive-tillæg til Farming Simulator 25 med to funktioner oven på Pickup&Deliver:
1. Vare-bevidst mappe-rotation (én vare valgt)
Når pålæsningsmål roteres i en AD-mappe, køres der direkte til den silo i mappen, der har den valgte vare — mindst fyldte først — i stedet for at prøve markørerne én efter én.
2. Behovsstyret forsyning (flere varer valgt)
Én traktor holder alle input i en produktion fyldt — fx hø, græs, ensilage og sukkerroer til en TMR-blander — i stedet for én traktor pr. vare.
- Aflæsningsmål = produktionens markør.
- Multi-vælg ingredienserne i AutoDrives vare-dropdown.
- Start Pickup&Deliver. Loop-tælleren virker som normalt (N læs → parkér, 0 = uendeligt).
Pr. tur læses målets lager; den ingrediens der mangler mest (relativt til kapacitet) hentes fra en silo hvor som helst på kortet (eget lager før nabo-lån, mindst fyldte først). Ingredienser uden plads i målet (< 1000 l fri) eller uden kilde springes over. Mens AD kører viser HUD'en kun turens vare (AutoDrive ville ellers selv rotere vare ved triggeren); når AD stopper, gendannes hele listen. Slå fra ved at vælge en anden enkelt vare.
"Mest brug for" defineres i ADSupplyPlanner.scoreNeed (adSupplyPlanner.lua).
Fælles
- Wrapper
ADMultipleTargetsManager.getNextPickup(via den globaleFS25_AutoDrive-tabel); rører ikke AutoDrive-zip'en. - Siloens eget lager rangeres før nabo-lån (udvidelses-siloer deler lager inden for
storageRadius). - Intet fund, intet behov eller fejl i et spil-API → AutoDrives originale rotation. Valg logges som
ADSmartPickup:i log.txt. - Kræver i AutoDrive: "Brug mapper" + "Rotér mål: pålæsning" på køretøjet.
- Markør ↔ silo (v1.3): markøren er dér hvor trækkerens næse stopper; vognen holder et vogntog bagved. Markørens silo er derfor nærmeste trigger bag næsen set i ankomstretningen (forrige waypoint), højst 2 m foran. I tætte rækker (15 m mellem siloerne) er nabosiloens trigger ellers nærmere end markørens egen. Ingen trigger bag næsen/ukendt retning → nærmeste trigger som før.
- Står og læsser (v1.2): med rotation + mapper afslutter AutoDrive normalt pålæsningen i det øjeblik
markøren nås (læsning skal være startet på vej ind, ellers kører den tom videre). Når moden har valgt
siloen, ser AutoDrive under
LoadAtDestinationTask.updaterotationen som slået fra for netop det køretøj, så den holder ved markøren og læsser som uden rotation. Løber kilden tør, slippes grebet og turen fortsætter med det der er i vognen.
Begrænsninger: AD læsser fuld vogn — er der mindre plads i målet end ét læs, venter traktoren ved aflæsning. Målet skal være en placeable med aflæsningstrigger (ikke en blandevogn).
Test: luajit tests/test_adSupplyPlanner.lua && luajit tests/test_adSmartPickup.lua
Byg: cd FS25_ADSmartPickup && zip -qr ../FS25_ADSmartPickup.zip .
Design/plan: docs/superpowers/