feat: læs-bytte fra Wait (v1.9.0.0)

This commit is contained in:
2026-09-22 23:23:39 +02:00
parent 5414371f72
commit b74d1325c6
2 changed files with 27 additions and 2 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<modDesc descVersion="107"> <modDesc descVersion="107">
<author>masterdraco</author> <author>masterdraco</author>
<version>1.8.0.0</version> <version>1.9.0.0</version>
<title> <title>
<en>AD Smart Pickup</en> <en>AD Smart Pickup</en>
</title> </title>
<description> <description>
<en><![CDATA[AutoDrive-tillæg: når pålæsningsmål roteres i en 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. Vælges FLERE varer i AutoDrive, ses de som ingredienser til aflæsningsmålet (fx en TMR-blander): én traktor henter pr. tur den vare målet mangler mest, fra en silo hvor som helst på kortet. Er målet en fabrik, følger listen automatisk fabrikkens tændte produktioner (tid-til-tom først). Rest-læs ved fuldt mål venter ved nærmeste ledige markør i en "Wait"-mappe til der er plads. Ny ESC-fane "Smart Pickup": definér runs (mål + varer + Wait-pulje + traktorer + ture) og start/stop dem samlet. Kræver FS25_AutoDrive med "Brug mapper" + "Rotér mål: pålæsning".]]></en> <en><![CDATA[AutoDrive-tillæg: når pålæsningsmål roteres i en 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. Vælges FLERE varer i AutoDrive, ses de som ingredienser til aflæsningsmålet (fx en TMR-blander): én traktor henter pr. tur den vare målet mangler mest, fra en silo hvor som helst på kortet. Er målet en fabrik, følger listen automatisk fabrikkens tændte produktioner (tid-til-tom først). Rest-læs ved fuldt mål venter ved nærmeste ledige markør i en "Wait"-mappe til der er plads. Ny ESC-fane "Smart Pickup": definér runs (mål + varer + Wait-pulje + traktorer + ture) og start/stop dem samlet. Venter en traktor med en vare målet er fuldt af, mens målet mangler en anden vare på dens liste, afleveres resten i en silo og den manglende vare hentes. Kræver FS25_AutoDrive med "Brug mapper" + "Rotér mål: pålæsning".]]></en>
</description> </description>
<iconFilename>icon.dds</iconFilename> <iconFilename>icon.dds</iconFilename>
<multiplayer supported="true"/> <multiplayer supported="true"/>
+25
View File
@@ -114,6 +114,31 @@ holder hvor.
**genstartes ikke automatisk** ved indlæsning af et savegame — kør "Start run" igen efter load, hvis **genstartes ikke automatisk** ved indlæsning af et savegame — kør "Start run" igen efter load, hvis
traktorerne skal køre videre. traktorerne skal køre videre.
## v1.9 — læs-bytte fra Wait
Venter en traktor ved et Wait-punkt med en vare målet er fuldt af, mens målet **samtidig mangler
en anden vare** på traktorens liste (run eller AD's multi-valg) — kan der ellers gå i hårdknude:
alle traktorer venter med den ene vare, mens ingen henter den anden. Hvert 5. sekund tjekkes derfor:
1. Er der en anden vare i listen, målet mangler et **fuldt** læs af (og som kan hentes fra en
silo)? Ellers venter traktoren som hidtil.
2. Findes en **ren lager-silo** (ikke stald, ikke fabrik, og ikke målet selv) med en
aflæsningsstation ved en AD-markør, der tager varen og har fri plads ≥ resten, samt vejnet
både til siloen og videre fra siloen til målet? Siloer der **allerede har varen** foretrækkes,
ellers den nærmeste.
3. Findes en silo: Wait-punktet frigives, traktoren kører derhen og læsser resten af. Når vognen
er tom, henter næste tur den vare målet mangler.
4. Findes ingen egnet silo: traktoren bliver ved Wait-punktet (som før v1.9).
Loglinjer: `'<navn>' bytter læs: N l STRAW tilbage i <markør> (markør n), målet mangler FORAGE` ved
bytte, og én gang pr. venteperiode `'<navn>' venter med N l STRAW, og målet mangler FORAGE — ingen
silo med plads og vejnet til/fra tager resten, så den bliver ved Wait-punktet` når ingen silo findes.
Kræver at traktoren har **begge** varer i sin liste (run's varer eller AD's multi-valg) — kun én
vare valgt betyder ingen bytte-mulighed, og traktoren venter som hidtil. Wait-logikken gælder desuden
kun mens aflæsningsopgaven peger på AD's rigtige aflæsningsmål, så en silo-omvej (fx efter et bytte)
aldrig fejlagtigt bliver opfattet som et fuldt mål.
## Fælles ## Fælles
- Wrapper `ADMultipleTargetsManager.getNextPickup` (via den globale `FS25_AutoDrive`-tabel); rører ikke AutoDrive-zip'en. - Wrapper `ADMultipleTargetsManager.getNextPickup` (via den globale `FS25_AutoDrive`-tabel); rører ikke AutoDrive-zip'en.