PICKUP PLUS - LS25 - VERSION 1.4.2.3
Autor: hank_madness_
Copyright (c) 2026 hank_madness_. All rights reserved.

Normale Abnutzung, lastabhaengige Verstopfung und zusaetzlicher Ueberlastschaden
fuer Pressen und Ladewaegen. Separater Dedicated-Multiplayer-Testkandidat.

ARBEITSGESCHWINDIGKEIT UND LAST
Die Bezugs-Geschwindigkeit stammt vom Geraet selbst (rohe Arbeitsgeschwindigkeit),
nicht vom Traktor und nicht von einer durch diesen Mod bereits reduzierten Grenze.
Ab 65 Prozent: gelbe Tempowarnung im Status.
Beispiel bei20km/h Geraetegeschwindigkeit: Tempowarnung ab13km/h.
Der zusaetzliche Schaden richtet sich nach der Aufnahmelast, nicht nach dieser
Tempowarnung: bis einschliesslich80% Last nur normaler Verschleiss, darueber
linear zunehmender Zusatzschaden bis zur vollen Rate bei100% Aufnahmelast.
Falls ein nicht standardmaessiges Geraet keinen gueltigen Wert liefert, dient15 km/h
als technischer Ersatzwert.

Die Auslastung ist der aktuelle Durchsatz in Litern/Sekunde geteilt durch die
konfigurierte Aufnahmekapazitaet der Maschine. Der native Wert wird nach Auswahl
der Fahrzeugkonfiguration verwendet (Standard vieler Maschinen:500 l/s).
Je hoeher Geschwindigkeit relativ zur Maschine UND Flussrate sind, desto schneller
baut sich die Verstopfung auf. Ueberschrittene Aufnahmekapazitaet kann auch bei
langsamer Fahrt verstopfen. Weniger Material verringert das Risiko.
Kurze Materialluecken bis eine Sekunde bauen den angesammelten Staudruck nicht ab.
Bei laengerer Pause erholt sich die Aufnahme. Eine vorhandene Verstopfung muss
mit der Wartungstaste geloest werden.
Kalibrierbeispiel in der Simulation: 20 km/h Geraetegeschwindigkeit, 500 l/s
Aufnahmekapazitaet und konstant 100 l/s Materialfluss: Verstopfung nach etwa
80 Sekunden bei 18 km/h, 40 Sekunden bei 20 km/h, 18 Sekunden bei 25 km/h.
Das sind Vergleichswerte unter konstanten Bedingungen; andere Flussraten und
Arbeitsgeschwindigkeiten aendern diese Zeiten.

LASTBEDINGTE VERLANGSAMUNG
Ab70% Aufnahmelast wird die Arbeitsgeschwindigkeit zunaechst um4% begrenzt.
Darueber steigt die Verlangsamung gleichmaessig bis auf2% der normalen
Arbeitsgeschwindigkeit bei100% Last. Beispiel fuer ein20-km/h-Geraet:
70% Last: hoechstens19,2km/h;85% Last:9,8km/h;100% Last:0,4km/h.
Eine bereits niedrigere native Grenze bleibt wirksam. Die Lastwirkung setzt
gedaempft ein und klingt langsamer ab, damit kurze Materialluecken keine
ruckartigen Geschwindigkeitswechsel verursachen.
Dies gilt bei eingeschaltetem, abgesenktem Geraet. Ausgeschaltet oder angehoben
gibt es keine zusaetzliche Lastbegrenzung. Nach einer Verstopfung wird das Geraet
ausgeschaltet und kann weiter transportiert werden.
Anhaltend volle Materialaufnahme baut auch bei bereits verlangsamtem Gespann
weiter Staudruck auf. Eine einzelne Lastspitze verstopft nicht sofort.
Bei Verstopfung wird kein weiteres Material vom Boden aufgenommen, bis sie
geloest wurde. Sinkt durch langsameres Fahren der Materialfluss, kann sich die
Maschine vor einer Verstopfung wieder erholen.

VERSCHLEISS
Normale Abnutzung nur beim Aufnehmen von Material, proportional zur Aufnahmelast:
Messer etwa8,8 volle Arbeitsstunden (10% laenger); Zinken23 (15% laenger);
Rollenniederhalter unveraendert40.
Zusaetzlicher Schaden oberhalb80% Aufnahmelast: fuer alle drei Teilearten
derselbe Zuwachs. Bei90% Last halbe Zusatzrate, bei100% volle Zusatzrate.
Die volle Zusatzrate entspricht etwa15 angesammelten Minuten bis zum Defekt,
zuzueglich der separaten normalen Abnutzung.
Teilbelastung verlaengert die Zeit. Standzeit und Transport verursachen keinen
Verschleiss. Das sind einstellbare Spielwerte, keine Herstellerdaten.
Bei Verstopfung oder komplett verschlissenen Teilen stoppt die Materialaufnahme
und das Geraet wird ausgeschaltet. Das Gespann kann weiter transportiert werden.

SHOPMENGEN
Die Artikelnamen enthalten keine Stueck-/Kartonmengen. Der Inhalt steht als eigene
Shop-Spezifikation mit Einheit Stueck im unteren Datenbereich bei den technischen
Angaben. Bei Einzelangeboten gilt die Angabe pro Karton, bei Paletten fuer deren
Gesamtbestand. Die Anzahl1-5 wird weiter direkt in der Kaufkonfiguration gewaehlt.
Eigene Kategorie unter Objekte: HMT-Ersatzteile, mit HMT-Ersatzteilkarton-Icon.
Jede Ersatzteilart ist als1,2,3,4 oder5 Kartons pro Kauf auswaehlbar.
Die5er-Auswahl heisst Bundle und zeigt fuenf gestapelte Kartons. Es werden fuenf
einzeln verwendbare Kartons gekauft, kein unteilbares neues Ersatzteilobjekt.
Preis und Gesamtinhalt sind Anzahl mal Preis/Inhalt je Karton.

ERSATZTEILPALETTEN
Zusaetzlich gibt es fuer jeden Artikel eine eigene Palette mit8 Kartons in4 Lagen.
Messerpalette HM-0001:400 Messer,4800EUR.
Zinkenpalette HM-0003:800 Zinken,3200EUR.
Rollenpaletten HM-0002/HM-0004:je32 Rollenniederhalter,je7200EUR.
Die Messerpalette ist buendig angepasst; Rollenpaletten sind so lang wie ihre
Kartons. Jede Palette enthaelt nur eine Artikelart. Es gibt keinen Palettenaufpreis.
Paletten werden mit einer Palettengabel transportiert, nicht von Hand getragen.

Einzelkartons und Paletten sind fuer die normalen Spanngurte von Anhaengern
vorbereitet. Die Gurte beruecksichtigen die wirklichen Karton- und Palettenformen.
Verschwindet beim Verbrauch ein Karton, werden die Gurte am Traeger aktualisiert;
bereits verbrauchte Kartons werden bei der Gurtfuehrung nicht mehr beruecksichtigt.
Nach Verbrauch des letzten Teils loest die native Objektloeschung die Befestigung.

Der Verbrauch erfolgt von oben nach unten, innerhalb einer Lage Karton fuer Karton.
Ein angebrochener Karton bleibt sichtbar, bis sein Inhalt ganz aufgebraucht ist.
Beispiel Messerpalette:400->399 Messer =8 sichtbare Kartons; bei350 bleiben7.
Mit jedem leeren Karton verschwinden dessen Grafik und Kollision. Der Restbestand
wird gespeichert. Nach Verbrauch des letzten Teils verschwindet die ganze Palette.
Paletten und einzelne Kartons koennen dieselbe Wartung gemeinsam versorgen.

KAUFBARE ERSATZTEILE - HERSTELLER HMT Technik GmbH
HMT-Herstellerlogo mit Nevada-Adresse oben links auf jedem Karton; Shopmarke HMT.
Rundes HMT-Zahnrad-Emblem an den Seiten. Produktetiketten tragen UNIVERSAL.
Gestaltung des Modprojekts: hank_madness_.
Paletten-Grundmodell und Holztexturen: GIANTS Software, LS25-Basegame; angepasst.
HM-0001:50 Messer,600EUR. Komplettwechsel:60 Messer bei Presse und Ladewagen.
Dafuer zwei50er-Kartons bereitstellen; nach einem Wechsel bleiben40 Messer uebrig.
HM-0002:4 Rollenniederhalter1,55m,900EUR. Karton1,65m lang.
HM-0003:100 Pickup-Zinken,400EUR. Eine Pickupwalze benoetigt150 Zinken.
HM-0004:4 Rollenniederhalter2,36m,900EUR. Karton2,46m lang.
Beide Rollenniederhalter-Varianten haben dieselbe Wartungsfunktion. Ihr Unterschied
ist optisch; es wird keine Modellbreite automatisch erzwungen. Auch gemischter
Bestand beider Varianten darf den Wechsel versorgen; pro Wechsel wird1 Stueck benoetigt.
Alle Inhalte sind virtuelle Stueckzahlen aus der XML, keine losen Einzelteilmodelle.
Die Kartons sind physische, von Hand tragbare Shopobjekte.

WECHSEL
Passende, gekaufte Kartons desselben Hofs innerhalb von5m zur MASCHINE abstellen,
nicht nur zum Traktor. Fuer150 Zinken z.B. zwei100er-Kartons bereitstellen.
Das ausgewaehlte Geraet muss stehen (unter0,5km/h) und ausgeschaltet sein.
Strg+Alt+Feststelltaste (CapsLock): Standard-Wartungstaste im Traktor, solange
keine eigene native Wartungsbelegung gespeichert ist. Eine gueltige Tastatur-
oder Controllerbelegung fuer PS_MAINTENANCE hat Vorrang; der feste Griff wird
dann nicht parallel ausgeloest. Gespeicherte Controllerbelegungen werden auch
bei abgezogenem Geraet beruecksichtigt. Entfernen der eigenen Belegung stellt
den Standard beim naechsten neuen Tastendruck wieder her. Bei voruebergehend
unlesbaren Eingabedaten wird der feste Griff vorsichtshalber nicht ausgeloest.
Die fruehere Wartungsaktion Strg+Umschalt+X wird nicht mehr registriert, damit
sie nicht mit dem Auf-/Zuklappen kollidiert.
Bei Verstopfung: erst Freimachen (8s, ohne Teileverbrauch).
Sonst: den am staerksten verschlissenen versorgbaren Teiletyp wechseln (20s).
Teilwartung beginnt ab einem passenden Teil. Fehlen beispielsweise zehn Messer
und liegen fuenf bereit, werden genau fuenf reserviert. Beim erfolgreichen Ende
werden sie verbaut und der verbleibende Bedarf bis 100 Prozent angezeigt.
Bei vollem Vorrat wird der Zustand exakt auf 100 Prozent gesetzt.
Messer und Zinken werden anteilig zum Verschleiss ersetzt: volle Stueckzahl
mal Verschleissanteil, auf die naechste ganze Stueckzahl aufgerundet.
Ab1.4.1.2 werden reine Speicher-Rundungsfehler an ganzen Stueckzahlen abgefangen:
20% Verschleiss benoetigen12 von60 Messern oder30 von150 Zinken, auch nach
Float32-/XML-Speicherung. Echter Mehrverschleiss ausserhalb der engen Toleranz
wird weiterhin aufgerundet. Jeder positive gueltige Verschleiss benoetigt
mindestens1 Teil; Nullverschleiss verbraucht weiterhin nichts.
Ein Komplettwechsel benoetigt60 Messer oder150 Zinken. Bereits bei99% Restzustand
ist ein Wechsel moeglich:1 Messer bzw.2 Zinken. Bei50% Restzustand sind es30 Messer
bzw.75 Zinken. Ein Rollenniederhalter benoetigt bei jedem Verschleiss immer1 Stueck.
Ein voellig unbeschaedigtes Teil wird nicht gewechselt.
Bei mehreren verschlissenen Teilearten die Taste nach Abschluss erneut druecken.
Erneutes Druecken WAEHREND einer Wartung bricht sie ohne Teileverbrauch ab.
Strg+linkeAlt+3: Pickup-HUD ein-/ausblenden.
Strg+linkeAlt+4: HUD-Verschiebemodus ein-/ausschalten; mit linker Maustaste ziehen.
Im gesamten Verschiebemodus sind Kamera-Look per Maus/Tastatur/Controller und
Kamera-Zoom gesperrt, auch nach Loslassen der linken Maustaste. Beim Beenden,
Ausblenden, GUI- oder Fahrzeugwechsel wird die Bedienung wieder freigegeben.
Ab1.4.1.5 bewahren die eigenen GUI-Hooks alle Argumente und Rueckgabewerte
von Dialog- und Bildschirmaufrufen einschliesslich nil und mehrerer Werte.
Die Hooks werden je tatsaechlicher GUI-Klasse nur einmal installiert.
Mehrere Plus-HUDs teilen den Cursor: erst der letzte Verschiebemodus gibt ihn
an seinen vorherigen Zustand zurueck. Die Belegung ist mit Mower Plus und
Swather/Tedder Plus abgestimmt.
Strg+linkeAlt+5: vier HUD-Groessen durchschalten:50%,25%,20%,75% der Breite des
nativen Tachos. Bisher gespeicherte Groessen bleiben erhalten. Alle Bestandteile
werden gleichmaessig skaliert.
Position, Sichtbarkeit und Groesse werden fuer den Benutzer in modSettings gespeichert.
HUD und Tasten sind nur bei erkannter Presse/Ladewagen im gefahrenen Gespann aktiv.
Die ausgewaehlte passende Maschine hat Vorrang, sonst die erste passende im Gespann.
Der Balken zeigt Auslastung, fuellt sich von0 bis100% und faerbt sich gruen-gelb-rot.
Auslastung ueber100% wird als Zahl angezeigt; der Balken bleibt dann voll rot.
Die Anzeige ist geglaettet: Anstieg etwa1,2s, Abfall etwa2,5s Zeitkonstante.
Der Zahlenwert wird viermal pro Sekunde aktualisiert. Das beruhigt die Darstellung;
die eigentliche Verschleiss- und Verstopfungsberechnung nutzt weiterhin die reale Last.
Die HUD-Tasten koennen in der LS25-Steuerung umbelegt werden. Die native
Wartungsaktion kann dort ebenfalls belegt werden; sie hat keine mitgelieferte
Standardbindung und ersetzt nach eigener Zuweisung den festen Wartungsgriff.

Mehrere Kartons koennen einen Wechsel gemeinsam versorgen. Der Bestand wird erst
nach erfolgreichem Abschluss abgezogen. Beispiel60 Messer: erster50er-Karton leer, zweiter noch40.
Beispiel150 Zinken: erster Karton leer,
zweiter noch50. LEERE KARTONS VERSCHWINDEN WIE VERBRAUCHTE STANDARDPALETTEN.
Teilweise verbrauchte Kartons bleiben mit Restbestand gespeichert.
Bewegung, Einschalten, Wegstellen/Entfernen des Kartons oder Besitzerwechsel bricht
die Wartung ohne Verbrauch ab. Kartons sind waehrend der Wartung reserviert und
koennen nicht parallel verwendet oder verkauft werden.
Es gibt keine zusaetzliche Reparaturgebuehr; bezahlt werden die Ersatzteilkartons.
Der Verkaufswert teilweise verbrauchter Kartons sinkt mit dem Restbestand.
Ein Teilewechsel beseitigt eine vorhandene Verstopfung nicht automatisch.

EINSTELLUNGEN
Unter Allgemeine Einstellungen steht der Abschnitt Pickup Plus.
Der Betriebsmodus wird pro Spielstand gespeichert. An ist die Voreinstellung.
Bei einer Verstopfung wird ein laufender Feldhelferauftrag beendet und die
auftraggebende Farm erhaelt eine Meldung. Easy schaltet Verstopfungen aus und
loest bestehende Blockierungen. Last, Lastbegrenzung, Verschleiss und laufende
Teilewechsel bleiben aktiv. Aus pausiert die Pickup-Mechanik und gibt reservierte
Teile frei. Gespeicherte Teilezustaende bleiben erhalten.
HUD-Text Gross oder Klein wird im persoenlichen HUD-Profil gespeichert.
Gross ist die Voreinstellung und passt die Zeilen in die Balkenbreite ein.
Klein verwendet die Schriftgroessen und Abstaende der bisherigen Version.

settings.xml im Mod enthaelt die normalen Lebensdauern (Arbeitsminuten),
Ueberlastdauer, Reparaturradius und Standardteilemengen.
Die gekauften Stueckzahlen stehen jeweils in knifeCarton.xml, rollerCarton.xml,
tineCarton.xml und rollerCartonLong.xml (capacity/initialCount).
Eine Modmaschine kann mit vehicle.pickupService folgende Werte ueberschreiben:
knifeCount, rollerCount, tineCount, serviceRadius, damageMinutes,
knifeWearMinutes, rollerWearMinutes, tineWearMinutes und maxPickupLitersPerSecond.
Die Kapazitaet0 beim letzten Wert bedeutet: nativen Maschinenwert verwenden.

INSTALLATION
Technischer Modname: FS25_Pickup_Plus. Sichtbarer Titel: Pickup Plus.
Alte Kartonpfade und gespeicherte Verschleiss-/Bestandswerte des bisherigen
FS25_PickupService werden beim Laden uebernommen. Alte und neue Modversion
nicht gleichzeitig aktivieren. Die HUD-Einstellungen werden weiterverwendet.
FS25_Pickup_Plus.zip unveraendert in den LS25-Modordner kopieren, dann im Spielstand
aktivieren. Nach Ersetzen einer alten Version das Spiel neu starten.
Nur eine Version behalten: Bei bisher entpackter Installation den alten Modordner
vollstaendig ersetzen. Eine neue ZIP neben einem alten entpackten Ordner kann dazu
fuehren, dass weiterhin die alte Version geladen wird. Version1.4.2.3 im Log pruefen.
Bestehende gespeicherte Messerzustaende bleiben erhalten. Neue Teilearten starten
bei alten Spielstaenden mit vollem Zustand. Laufende Wartung muss nach Laden neu
begonnen werden. Teilueberlast und alle Zustaende werden gespeichert.

KOMPATIBILITAET MIT REAL DIRT COLOR
Ersatzteilkartons und -paletten haben keine Wasch- oder Schmutzfunktion.
Version1.4.1.1 entfernt Washable und bereits zugeordnetes Real Dirt Color nur
aus dem eigenen Ersatzteiltyp vor der Fahrzeugtyppruefung. Dadurch kann RDC
bei spaeteren Typpruefungen nicht wieder an diesen Typ angehaengt werden.
Das behebt den reproduzierten Speicherfehler durch fehlende RDC-bodypart-Daten.
Die Schmutzfunktion der Arbeitsgeraete bleibt erhalten. Spanngurte, Montage,
Karton-/Palettenbestaende und Verbrauchsfunktionen bleiben weiter vorhanden.

PRUEFUNG UND GRENZEN
Version1.4.2.3 blendet die separate Marke auf HMT-Produktkacheln aus und
passt die Karton- und Palettenbilder oberhalb der Beschriftung in den Rahmen ein.
Version1.4.2.2 nutzt auch fuer den HUD-Lastbalken DDS. Die PNG-Vorlagen
liegen bei den Quelldateien und werden nicht mehr in die Mod-ZIP gepackt.
Version1.4.2.1 synchronisiert Zustand und Ersatzteile fuer Dedicated-Tests.
Wartungsanfragen werden serverseitig dem tatsaechlichen Fahrer zugeordnet.
Host oder angemeldeter Serveradmin aendern den Betriebsmodus im Spielstand.
HUD-Einstellungen bleiben lokal. Die Freigabe fuer den laufenden Multiplayer
folgt nach dem separaten Client-/Server-Test mit identischer ZIP.
Version1.4.2.0 ergaenzt Betriebsmodus, Feldhelferstopp, HUD-Textgroesse,
Shopdarstellung und Teilwartung. Echte Spieltests dieser Erweiterungen stehen aus.
Version1.4.1.5 ist ein getrennter Einzelspieler-Patchkandidat. GUI-Hooks,
gespeicherte Wartungsbelegung und Palettengurte wurden automatisiert mit
simulierten Spieldiensten und ausgewaehlten originalen SDK-Funktionen geprueft.
Gurte werden am tatsaechlichen Gurttraeger aktualisiert; ein dynamischer
Traeger dient als Fallback. Nach Lagenverbrauch wird bis zur Ladebereitschaft
gewartet. Leere eigene Ladung loest nur ihre eigene native Gurt-/Jointverbindung,
bevor sie verschwindet. Andere Ladung wird dabei nicht freigegeben.
Gespeicherte Controller-IDs und BUTTON_/AXIS_-Eintraege werden syntaktisch
geprueft; physische Controller und der verborgene native Eingabeparser wurden
nicht ausgefuehrt. Live-Spieltests dieser neuen Angleichungen stehen aus.
CVT und DashboardLive werden weder veraendert noch durch Ersatz-Globals simuliert.
Es wird keine Ursache eines frueheren CVT-Fehlers und keine CVT-Kompatibilitaet
aus diesen Offline-Pruefungen abgeleitet. Multiplayer wird separat behandelt.
Version1.4.1.3 behebt den Update-Abbruch beim nativen Durchsatzwert von Pressen:
numerischer Text wird lokal in eine Zahl umgewandelt. Dadurch werden Aufnahme-
last und Verschleiss wieder berechnet, statt mit einem Lua-Typfehler abzubrechen.
Der Benutzer bestaetigt fuer1.4.1.3: Basegame-HUD flackert nicht mehr und das
Pickup-HUD reagiert wieder; die anschliessende Log enthaelt keine Pickupfehler.
Die neue Kamerasperre in1.4.1.4 ist noch nicht im laufenden Spiel getestet.
Lua-Logik mit simulierten Spiel-APIs getestet. Shop-XML mit offiziellen installierten
GIANTS-Schemas geprueft (Custom-XML-Felder werden separat in Lua registriert/getestet).
Alle nativen I3D-Modelle mit dem GIANTS-Konverter geladen und exportiert.
Die vorhandene Spiel-Logdatei betraf Version1.1.0.0. Daraus abgeleitete Korrekturen:
- Fehlende HUD-Einstellungsdatei wird beim ersten Start nicht mehr als XML geladen.
- Der eigene Karton-/Palettentyp wird vor der Validierung von Washable und
  Real Dirt Color bereinigt; Papierkartons brauchen keine Wasch-/Karosserie-Meshes.
- Neues Pickup+-Modbild liegt als512px-DDS mit Mipmaps vor.
Die Barcode-DDS ist ab Version1.3.2.0 als BC7 mit Mipmaps gespeichert, um die
Raw-Textur-Performancewarnung zu beheben. Original-PNG, Atlasabmessungen und
Barcode-Ausschnitte bleiben erhalten; nur das Laufzeitformat wurde geaendert.
Ein Test dieser neuen Version im laufenden LS25 steht aus: neue Shopkategorie,
Eingaben, Darstellung und Verstopfung muessen noch im Spiel bestaetigt werden.
Die neuen Paletten wurden nativ geladen/exportiert und geometrisch auf freie
Gabeleinfahrten sowie getrennte Kartonkollisionen geprueft. Gabeltransport und
das Verschwinden der Kartons muessen noch direkt im Spiel bestaetigt werden.
Alle acht Modelle enthalten die nativen CPU-Meshes fuer Spanngurte. XML-Pfade,
kompilierte Meshdaten und Aktualisierung bei Verbrauch wurden automatisch geprueft;
die sichtbare Gurtfuehrung auf einem echten Anhaenger ist noch im Spiel zu testen.
Der RDC-Speicherfehler aus dem Log vom01.11.2026 ist mit dem alten Hook und
originalem RDC-/SDK-Code reproduziert. Der neue Hook besteht dieselbe Kontrolle
einschliesslich spaeterer Typpruefungen und nativer Vehicle-Speicherfunktion in
isoliertem Lua. Ein echter Kaufen-/Speichern-/Neuladen-Test im Spiel steht aus.
Es handelt sich um eine gemeinsame abstrakte Mechanik fuer erfasste Standard-
Spezialisierungen. Es werden keine sichtbaren Messer/Zinken am Fahrzeugmodell
entfernt oder Einzelteile physisch ausgetauscht. Abweichende Mod-Aufnahmesysteme
koennen eigene Anpassungen benoetigen.
