Files
fs25-adsmartpickup/README.md
T
masterdraco e6412d78e4 fix: spor-regel, vent kun ved målet, sikkerhedsventil (v1.4.0.0)
In-game-fund 2026-09-21:
- 'Dropof'-markøren vandt over 'Pickup' ved ensilage-tankene (samme tank, modsat
  side): triggeren skal nu ligge i trækkerens spor (<= 6 m til siden); nødløsning
  uden spor-træf kun inden for 12 m når retningen kendes.
- Rotationen blev skjult under hele pålæsningsopgaven, så traktoren ventede ved
  nabosiloens tomme trigger på vej til målet: skjules nu først når målet er nået.
- Sikkerhedsventil: 30 s ved markøren uden læsning -> grebet slippes.
Verificeret mod savegame: 40/40 silo-markører, 7 pickup koblet, 0 dropof.
2026-09-21 16:15:55 +02:00

3.7 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.

  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.
  • Spor-regel (v1.4): triggeren skal ligge i trækkerens spor (højst 6 m til siden). En tank med aflæsningsbane på den ene side og pålæsningsbane på den anden giver ellers to markører til samme tank, og "Dropof"-markøren kunne vinde. Kendes retningen, men ligger intet i sporet (kurve ind til markøren), accepteres kun en trigger inden for 12 m.
  • Kun fremme ved markøren (v1.4): rotationen skjules først når målet er nået — undervejs ruller vognen gennem nabosiloers triggere, og dér skal AutoDrive køre videre ved tom trigger.
  • Sikkerhedsventil (v1.4): 30 s ved markøren uden at vognen fyldes → grebet slippes (advarsel i log), og AutoDrive kører videre som med almindelig rotation.
  • 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/