e414c99b58
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.
49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
# 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.
|
|
|
|
1. Aflæsningsmål = produktionens markør.
|
|
2. Multi-vælg ingredienserne i AutoDrives vare-dropdown.
|
|
3. 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 globale `FS25_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.update` rotationen 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/`
|