chore: v1.12.0.0 — udkørsel af produkter (README, byg)
This commit is contained in:
@@ -141,6 +141,53 @@ vare valgt betyder ingen bytte-mulighed, og traktoren venter som hidtil. Wait-lo
|
||||
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.
|
||||
|
||||
## v1.12 — Udkørsel af produkter
|
||||
|
||||
Et run har nu en **retning**: *Forsyning* (som hidtil) eller *Udkørsel*. ESC-fanen har tre
|
||||
under-faner: **Oversigt** · **Forsyning** · **Udkørsel**.
|
||||
|
||||
Et udkørsels-run består af:
|
||||
|
||||
- **Kilder** (én eller flere AD-markører): en **fabrik** (produktionspunkt, dens outputs),
|
||||
en **silo** (`spec_silo`, dens indhold) eller et **objektlager** (palle-/ballelager som HVF-
|
||||
pakkens; paller tages ud automatisk). Kilden genkendes inden for 40 m af markøren.
|
||||
- **Varer** med politik pr. vare: **Fra** · **Lager** · **Salg** · **Salg, ellers lager**.
|
||||
Bulk-varer kræver tipvogn/tank; pallevarer kræver **Universal Autoload** på vognen.
|
||||
- **Regler:** *Sælg fra* (% af årets toppris, standard 90), *Kør til lager over* (% fyldning i
|
||||
kilden, standard 80), *Saml op på én tur* (opsamlingsrunde).
|
||||
- Wait-pulje og traktorer som i forsynings-runs.
|
||||
|
||||
**Turvurdering** (før hver pålæsning, og hvert 5. sekund mens traktoren holder):
|
||||
|
||||
1. *Salg*: en vare med Salg-politik, hvis bedst betalende **nåelige** salgssted giver mindst
|
||||
tærsklen af årets toppris — **kører uanset mængde**. Højeste pris-% først. Toppris = stationens
|
||||
grundpris nu × (årets højeste periodefaktor ÷ nuværende). Stor efterspørgsel giver > 100 %.
|
||||
2. *Lager*: en vare med Lager-politik, når der er et **fuldt læs** eller kildens lager er over
|
||||
tærsklen — til nærmeste silo med plads til hele læsset og vejnet begge veje (aldrig en kilde,
|
||||
fabrik eller stald). Mest fyldte kilde først.
|
||||
3. Ingen tur → traktoren holder ved et ledigt Wait-punkt (run'ets pulje) og prøver igen.
|
||||
Loggen viser hvorfor: `holder ved Wait 3: SUGAR 78 % af top (kræver 90), lager 41 %`.
|
||||
|
||||
**Opsamlingsrunde:** tipvogn = samme vare fra flere kilder efter tur til vognen er fuld (næste
|
||||
kilde kun ved ≥ 10 % fri plads); autoload-vogn = flere pallevarer med samme mål på én tur.
|
||||
|
||||
**Objektlager:** markøren skal stå så vognens autoload-zone dækker lagerets spawn-område (som når
|
||||
man læsser manuelt). Moden beder lageret spawne **én palle ad gangen** og venter til UAL har taget
|
||||
den, så der aldrig ligger paller tilbage. Sidder lageret fast (kendt spilfejl), afsluttes
|
||||
læsningen efter 30 s med det der er. Ved en autoload-kilde uden fremdrift i 15 s køres der med
|
||||
det der er ("uanset mængde").
|
||||
|
||||
**Advarsler på skærmen:** kan intet salgssted nås (vejnet), eller findes ingen silo med plads,
|
||||
vises en rød AutoDrive-notifikation (`'MT635' kan ikke nå salgssted 'Grain Elevator' for SUGAR –
|
||||
tjek vejnettet`), samme tekst i AD's notifikations-historik, i log.txt (WARN) og i run'ets status.
|
||||
Traktoren holder ved Wait og kører selv når vejen er koblet på. Advarslen gentages først når
|
||||
traktor, station eller vare ændrer sig.
|
||||
|
||||
**Opsætning:** Udkørsel-fanen → Nyt run → afkryds kilder → sæt politik pr. vare → Ja på traktorer
|
||||
→ Start. AD-tilstand pr. traktor: PickupAndDeliver, 1./2. markør = første kilde (pladsholder,
|
||||
sættes pr. tur), rotation "kun pålæsning". Runs gemmes i `ADSmartPickup_runs.xml` version 2;
|
||||
ældre filer læses som forsynings-runs.
|
||||
|
||||
## Fælles
|
||||
|
||||
- Wrapper `ADMultipleTargetsManager.getNextPickup` (via den globale `FS25_AutoDrive`-tabel); rører ikke AutoDrive-zip'en.
|
||||
@@ -174,6 +221,6 @@ aldrig fejlagtigt bliver opfattet som et fuldt mål.
|
||||
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`
|
||||
Test: `for t in tests/test_*.lua; do luajit $t | tail -1; done`
|
||||
Byg: `cd FS25_ADSmartPickup && zip -qr ../FS25_ADSmartPickup.zip .`
|
||||
Design/plan: `docs/superpowers/`
|
||||
|
||||
Reference in New Issue
Block a user