Inhalt
Überblick
Das Modsystem erweitert platzierbare Pumpstationen um einen sichtbaren, fest gefärbten GIANTS-Connection-Hose-Schlauch. Der Schlauch wird an vorbereitete Connector-Nodes von Trailern gekoppelt und kann je nach Pumprichtung Flüssigkeiten von der Station in den Trailer oder vom Trailer zurück in die Station bewegen.
Trailer und Stationen bekommen feste Connector-Nodes direkt in i3d/XML. Zusätzlich gibt es einen separaten Ingame-Konfigurator, mit dem geeignete Fahrzeuge ohne vorbereitete Connector-Nodes nachgerüstet werden können.
Die Station triggert die Schlauchlogik. Fahrzeuge liefern nur die vorbereiteten oder per Konfigurator gespeicherten Anschlusspositionen, Visuals, Kupplungstypen und FillUnit-Zuordnung.
Aufbau des Mods
Die aktive Logik liegt im Placeable-Script:
scripts/placeables/PlaceableLSFMHoseStation.lua
Fahrzeuganschlüsse, Runtime-Konfiguration und Schlauchlogik liegen in:
scripts/vehicles/LSFMHoseTrailerConnection.lua
scripts/vehicles/LSFMHoseConnectorConfigurator.lua
scripts/placeables/PlaceableLSFMHoseStation.lua
scripts/shared/LSFMHoseSystemSettings.lua
settings.xml
gui/LSFMHoseConnectorToolbar.xml
shared/assets/connectors/connectors.xml
shared/assets/connectors/connectors.i3d
Typische Modstruktur:
FS25_lsfmHoseSystem/
├─ modDesc.xml
├─ settings.xml
├─ scripts/
│ ├─ placeables/
│ │ └─ PlaceableLSFMHoseStation.lua
│ ├─ vehicles/
│ │ ├─ LSFMHoseTrailerConnection.lua
│ │ └─ LSFMHoseConnectorConfigurator.lua
│ └─ shared/
│ └─ LSFMHoseSystemSettings.lua
├─ gui/
│ └─ LSFMHoseConnectorToolbar.xml
├─ shared/
│ └─ assets/
│ └─ connectors/
│ ├─ connectors.xml
│ └─ connectors.i3d
├─ placeables/
│ └─ hoseStation/
│ ├─ hoseStation.xml
│ ├─ hoseStation.i3d
│ ├─ hoseStationMini.xml
│ └─ hoseStationMini.i3d
├─ vehicles/
│ └─ *.xml
├─ sounds/
│ └─ hoseAttachDetach.ogg
└─ translations/
├─ l10n_de.xml
└─ l10n_en.xml
modDesc.xml
Die modDesc.xml registriert die Placeable-Spezialisierung,
die StoreItems und die Input-Actions. Da dort schnell neue Fahrzeuge
hinzukommen, sollte diese Datei nie blind mit einer alten Version
überschrieben werden.
| Bereich | Zweck |
|---|---|
specializations |
Registriert PlaceableLSFMHoseStation für den Placeable-Typ. |
storeItems |
Listet Stationen und fertig vorbereitete Trailer. |
actions |
Enthält Pumprichtung, Trailer-zu-Trailer-Aktionen und den Konfigurationsmodus. |
multiplayer supported |
Multiplayer ist aktiviert. Schlauchstatus, Pumprichtung und selbst montierte Connectoren werden über Server-Events und Fahrzeug-Initialdaten synchronisiert; Dedicated-Server-Tests sollten nach Änderungen gezielt über die Log geprüft werden. |
settings.xml
Globale Mod-Einstellungen liegen in settings.xml im Mod-Hauptordner.
Diese Datei ist für Werte gedacht, die nicht jedes Mal im Script hart geändert
werden sollen.
<lsfmHoseSystemSettings>
<debug trailerConnections="false" placeableStations="false"/>
<transferSpeeds>
<hoseCoupling type="perrot" loadingLitersPerSecond="500" unloadingLitersPerSecond="500"/>
<hoseCoupling type="camLock" loadingLitersPerSecond="100" unloadingLitersPerSecond="100"/>
</transferSpeeds>
</lsfmHoseSystemSettings>
| Pfad / Attribut | Beschreibung |
|---|---|
debug#trailerConnections | Aktiviert Debug-Logging für Trailer-zu-Trailer-Verbindungen und die Fahrzeug-Suchlogik. |
debug#placeableStations | Aktiviert Debug-Logging für platzierbare Schlauchstationen. |
hoseCoupling#type | Kupplungstyp, aktuell perrot oder camLock. |
loadingLitersPerSecond | Geschwindigkeit beim Befüllen des Zielobjekts über das Schlauchsystem. |
unloadingLitersPerSecond | Geschwindigkeit beim Zurückpumpen bzw. Entladen über das Schlauchsystem. |
Stationsarten
Große Schlauchstation
perrot
Die große Station ist für Gülle- und Gärrest-Szenarien gedacht.
Sie nutzt den Kupplungstyp perrot und aktuell die
FillTypes LIQUIDMANURE und DIGESTATE.
placeables/hoseStation/hoseStation.xml
Mini-Schlauchstation
camLock
Die Mini-Station ist für dünnere Schläuche gedacht, zum Beispiel
Wasser, Milch, Flüssigdünger, Herbizid, Diesel und DEF. Sie nutzt
den Kupplungstyp camLock.
placeables/hoseStation/hoseStationMini.xml
giantsHoseDiameter
oder die Schlauchoptik auf alte Werte zurücksetzen.
Kupplungstypen
Der Kupplungstyp trennt große Gülleanschlüsse von kleinen CamLock-Anschlüssen. FillTypes verhindern zwar viele falsche Kombinationen, aber nicht jede reale technische Verwechslung. Deshalb sollte der Kupplungstyp zusätzlich sauber gesetzt werden.
| Kupplung | Einsatz | Typische FillTypes |
|---|---|---|
perrot |
Großer Gülle-/Gärrestschlauch | LIQUIDMANURE, DIGESTATE |
camLock |
Dünne Schläuche für Flüssigkeiten | WATER, MILK, LIQUIDFERTILIZER, HERBICIDE, DIESEL, DEF |
Station-XML Referenz
Die Station wird über den Block <lsfmHoseStation> in
der Placeable-XML konfiguriert. Die wichtigsten Attribute sind unten
gruppiert.
Beispiel: große Güllestation
<lsfmHoseStation
activationTrigger="activationTrigger"
hoseEndTrigger="hoseEndTrigger"
stationDockNode="stationDockNode"
hoseStartNode="hoseStartNode"
hoseRestNode="hoseRestNode"
hoseConnectorNode="hoseConnector"
disconnectedHoseVisualNode="disconnectedHoseVisual"
leverNode="lever"
leverOpenRotation="0 0 -90"
searchRadius="30"
hoseCouplingType="perrot"
flowProfile="slurryMedium"
hoseDiameterMm="100"
maxFlowLitersPerMinute="3500"
fillTypes="LIQUIDMANURE DIGESTATE"
useGiantsConnectionHoseVisual="true"
giantsHoseDiameter="0.14"
giantsHoseUvScaleMultiplier="0.45" />
Beispiel: Mini-/CamLock-Station
<lsfmHoseStation
activationTrigger="activationTrigger"
hoseEndTrigger="hoseEndTrigger"
stationDockNode="stationDockNode"
hoseStartNode="hoseStartNode"
hoseRestNode="hoseRestNode"
hoseConnectorNode="hoseConnector"
disconnectedHoseVisualNode="disconnectedHoseVisual"
leverNode="lever"
leverOpenRotation="0 -90 0"
searchRadius="10"
hoseCouplingType="camLock"
flowProfile="liquidSmall"
hoseDiameterMm="75"
maxFlowLitersPerMinute="1500"
fillTypes="WATER MILK LIQUIDFERTILIZER HERBICIDE DIESEL DEF"
useGiantsConnectionHoseVisual="true"
giantsHoseDiameter="0.08"
giantsHoseUvScaleMultiplier="1" />
Nodes
| Attribut | Beschreibung |
|---|---|
activationTrigger | Triggerbereich, in dem die Station als interaktives Objekt erkannt wird. |
hoseEndTrigger | Trigger am Schlauchende bzw. Anschlussbereich. |
linkedStationNode | Referenznode für die Station, optional für räumliche Berechnungen. |
stationDockNode | Dock-/Ankerpunkt an der Station. |
hoseStartNode | Startpunkt des sichtbaren Schlauchs. |
hoseDynamicStartNode | Optionaler dynamischer Startpunkt, falls die Optik getrennt geführt wird. |
hoseRestNode | Ablageposition, wenn kein Trailer verbunden ist. |
disconnectedHoseVisualNode | Sichtbarer abgelegter Schlauch, solange nichts angeschlossen ist. |
hoseConnectorNode | Stationseitiges Anschlussmodell. |
connectionReadyFeedbackNode | Optionales Feedback-Visual für passende Verbindung. |
connectionInvalidFeedbackNode | Optionales Feedback-Visual für ungültige Verbindung. |
leverNode | Hebel, der beim Verbinden animiert wird. |
directionLoadingNode | Optionales Visual für Pumprichtung Station zu Trailer. |
directionUnloadingNode | Optionales Visual für Pumprichtung Trailer zu Station. |
Verbindung und Suche
| Attribut | Standard | Beschreibung |
|---|---|---|
searchRadius | 8 | Maximaler Suchradius für passende Trailer. |
hoseMaxConnectionDistance | 0 | Maximal erlaubter Abstand zwischen Station/Schlauch und Connector. 0 nutzt interne Logik. |
hoseDisconnectDistance | 0 | Explizite Trennentfernung. 0 wird aus anderen Werten abgeleitet. |
hoseDisconnectExtraDistance | 0.25 | Zusätzliche Toleranz vor automatischer Trennung. |
hoseMaxConnectionAngle | - | Maximaler Winkel zur Verbindung in Grad. |
hoseMaxConnectorAngle | - | Maximaler Winkel am Trailer-Connector in Grad. |
hoseUseConnectionCorridor | true | Aktiviert Korridorprüfung statt nur Kreisprüfung. |
hoseConnectionCorridorBaseWidth | 0.10 | Basisbreite des Verbindungskorridors. |
hoseConnectionCorridorWidthPerMeter | 0.07 | Zusätzliche Breite pro Meter Abstand. |
hoseConnectionCorridorMaxWidth | 0.35 | Maximale Breite des Verbindungskorridors. |
requireTrailerConnectorNodes | true | Nur Trailer mit vorbereiteten Connector-Nodes akzeptieren. |
HUD, Richtung und Pumpe
| Attribut | Standard | Beschreibung |
|---|---|---|
showConnectionAssistHud | true | Zeigt den Anschluss-Helfer mit Abstand/Richtung. |
connectionAssistMaxVehicleDistance | 25 | Maximale Fahrzeugdistanz für den Helfer. |
connectionAssistMaxPlayerDistance | 12 | Maximale Spielerdistanz für den Helfer. |
connectionAssistInvertDirection | false | Invertiert die Richtungshinweise, falls das i3d anders ausgerichtet ist. |
flowProfile | slurryMedium | Realistisches Durchflussprofil: waterSmall, liquidSmall, camlockMedium, slurryMedium, slurryLarge oder slurryProfessional. |
hoseDiameterMm | Profilwert | Optionaler Nenndurchmesser des Schlauchs in Millimetern. Wenn gesetzt, skaliert er den Profil-Durchfluss. |
maxFlowLitersPerMinute | Profilwert | Optionale obere Pumpenleistung in Litern pro Minute. |
hoseFlowRateFactor | 1 | Multiplikator für Feintuning der realistischen Durchflussberechnung. |
useLegacyLitersPerSecond | false | Aktiviert den alten direkten Durchflusswert. Nur damit überschreibt litersPerSecond die Profilberechnung. |
litersPerSecond | - | Legacy-Wert in Litern pro Sekunde. Greift nur mit useLegacyLitersPerSecond="true". |
stationMode | auto | auto, loading oder unloading. |
pumpDirection | auto | Start-Pumprichtung: auto, loading oder unloading. |
showStatusMessages | true | Zeigt Meldungen beim Verbinden, Trennen und Umschalten. |
Die realistische Durchflussrate wird sowohl beim Befüllen als auch beim
Abladen über den Schlauch angewendet. Beim Standard-Abladen über die
Fahrzeug-Entladefunktion begrenzt das Script die tatsächlich bewegte
Menge nachträglich auf die Schlauchrate.
Die aktuell aktiven Überladegeschwindigkeiten können zusätzlich global
in settings.xml pro Kupplungstyp getrennt für Laden und
Abladen überschrieben werden.
Schlauchoptik
| Attribut | Standard | Beschreibung |
|---|---|---|
dynamicHoseVisual | true | Aktiviert dynamische sichtbare Schlauchführung. |
hoseShakeWhilePumping | true | Leichte Bewegung des Schlauchs während des Pumpens. |
hoseShakeAmplitude | 0.018 | Stärke des Shake-Effekts. |
hoseShakeSpeed | 16 | Geschwindigkeit des Shake-Effekts. |
useGiantsConnectionHoseVisual | true | Nutzt GIANTS Connection Hose statt einfacher Ersatzoptik. |
giantsHoseType | TOOL_CONNECTOR_TOP_RIGHT | GIANTS-Hose-Template/Typ. |
giantsHoseMaterial | RUBBER | Materialtyp der GIANTS-Hose. |
giantsHoseBrandColor | Systemfarbe | Optionaler XML-Farbwert als RGB-Vektor. Ohne Override nutzt Perrot Schwarz und CamLock Blau. |
giantsHoseBrandMaterialTemplate | plasticPainted | Materialtemplate für die Farbgebung. |
giantsHoseLength | 3 | Grundlänge der GIANTS-Hose. |
giantsHoseDiameter | 0.14 | Durchmesser des Schlauchs. |
giantsHoseUvScaleMultiplier | 0.45 | Textur-/Rillen-Skalierung. Höher bedeutet optisch gestrecktere Wiederholung, niedriger engere Rillen. |
giantsHoseSagFactor | 0.35 | Durchhang des Schlauchs. |
giantsHoseExtraLength | 0 | Zusätzliche Länge für natürlicheren Durchhang. |
giantsHoseMinSag | 0 | Mindestdurchhang. |
giantsHoseStartStraightening | - | Geradeführung am Schlauchanfang. |
giantsHoseEndStraightening | - | Geradeführung am Schlauchende. |
giantsHoseIsWorldSpace | true | Koordinaten werden in Worldspace verarbeitet. |
giantsHoseUseConnectorRotation | false | Connectorrotation für die Schlauchrichtung verwenden. |
Hebelanimation
| Attribut | Beschreibung |
|---|---|
leverNode | Node des Hebels. |
leverOpenRotation | Rotation in Grad als Vektor, z.B. 0 0 -90 oder 0 -90 0. |
leverOpenRotationZ | Altes Einzelachsen-Attribut für Z-Rotation. Nur verwenden, wenn kein Vektor nötig ist. |
leverAnimationDuration | Dauer der Hebelbewegung in Sekunden. |
Trailer-XML Referenz
Fahrzeuge bekommen einen <lsfmHoseSystem>-Block.
Jeder Connector beschreibt einen realen Schlauchanschluss am Fahrzeug.
Mehrere Connectoren pro Trailer sind erlaubt, zum Beispiel links und
rechts am T-Stück.
Beispiel: Güllefass mit T-Stück links/rechts
<lsfmHoseSystem>
<connectors>
<connector node="lsfmHoseConnectorLeft"
visualNode="lsfmHoseConnectorLeftVisual"
extraVisualNode="distributor"
hoseCouplingType="perrot"
fillUnitIndex="1"/>
<connector node="lsfmHoseConnectorRight"
visualNode="lsfmHoseConnectorRightVisual"
extraVisualNode="distributor"
hoseCouplingType="perrot"
fillUnitIndex="1"/>
</connectors>
</lsfmHoseSystem>
| Attribut | Beschreibung |
|---|---|
node |
TransformGroup am echten Schlauchanschlusspunkt. Diese Node wird für Abstand, Winkel und Schlauchende genutzt. |
visualNode |
Sichtbares Anschlussmodell für diesen Connector. Wird je nach Verbindungszustand geschaltet. |
extraVisualNode |
Zusätzliches gemeinsames Visual, z.B. T-Stück oder Verteiler. Kann von links und rechts gemeinsam verwendet werden. |
sharedVisualNode |
Alias für extraVisualNode. |
tPieceVisualNode |
Alias für extraVisualNode. |
hoseCouplingType |
Kupplungstyp dieses Fahrzeuganschlusses, z.B. perrot oder camLock. |
fillUnitIndex |
FillUnit, die über diesen Anschluss befüllt/entleert wird. Empfohlen, damit Mehrkammerfahrzeuge eindeutig bleiben. |
i3dMappings
Alle im XML genannten Nodes müssen in <i3dMappings>
vorhanden sein. Ein typisches Mapping sieht so aus:
<i3dMapping id="distributor" node="0>0|8|0" />
<i3dMapping id="lsfmHoseConnectorLeftVisual" node="0>0|8|1" />
<i3dMapping id="lsfmHoseConnectorLeft" node="0>0|8|1|0" />
<i3dMapping id="lsfmHoseConnectorRightVisual" node="0>0|8|2" />
<i3dMapping id="lsfmHoseConnectorRight" node="0>0|8|2|0" />
Freigabe für selbst verbaute Anschlüsse
Der Ingame-Konfigurator wird nicht mehr bei jeder beliebigen FillUnit angeboten. Standardmäßig werden nur passende Flüssigkeits-FillUnits freigegeben. Ein Fahrzeug kann zusätzlich explizit erlaubt oder gesperrt werden.
<lsfmHoseConnectorConfigurator allow="true" />
<lsfmHoseConnectorConfigurator allow="false" />
Alternativ kann die Freigabe auch direkt am HoseSystem-Block stehen:
<lsfmHoseSystem allowConnectorConfiguration="true">
...
</lsfmHoseSystem>
allow="true"erlaubt die Konfiguration auch bei Spezialfällen, die nicht über den Standard-FillType-Filter fallen.allow="false"sperrt die Konfiguration auch dann, wenn eine passende FillUnit vorhanden wäre.- Bereits gespeicherte selbst verbaute Anschlüsse bleiben bearbeitbar, damit sie verschoben oder abgebaut werden können.
Connector-Bibliothek
Die auswählbaren Anschlüsse für den Ingame-Konfigurator liegen in
shared/assets/connectors/connectors.xml und greifen auf
shared/assets/connectors/connectors.i3d zu. Die Namen der
Nodes in der i3d müssen eindeutig sein, damit Connector, Kupplungsteil
und Schlauchziel sauber gefunden werden.
Beispiel
<connectors defaultI3dFilename="connectors.i3d">
<connector name="perrot"
system="perrot"
label="Perrot Var. 01"
nodeName="perrot_var01"
connectionVisualNodeName="coupling_perrot2"
connectorNodeName="perrot_var01_couplingNode"
couplerConnectionNodeName="coupling_perrot2_connectorNode"
targetNodeName="coupling_perrot2_hoseNode"
mountedVisualVisibleAfterMount="false" />
</connectors>
| Attribut | Beschreibung |
|---|---|
name | Stabile ID des Connector-Typs. Wird im Savegame gespeichert und sollte nachträglich nicht umbenannt werden. |
system | Logische Familie, z.B. perrot oder camLock. |
label | Name in der Werkzeugleiste. |
nodeName | Haupt-Visual in der Connector-i3d. Wird beim Positionieren geklont. |
connectionVisualNodeName | Kupplungsteil/Gegenstück, das erst sichtbar wird, wenn der Schlauch verbunden ist. |
connectorNodeName | Node am Fahrzeuganschluss, an der das Kupplungsteil ausgerichtet wird. |
couplerConnectionNodeName | Node am Kupplungsteil, die auf den Connector gesetzt wird. |
targetNodeName | Node, an der das Schlauchende sitzt. Diese Node bestimmt die tatsächliche Hose-Position. |
mountedVisualVisibleAfterMount | false bei Güllefässern mit bereits vorhandener optischer Anschlussgeometrie; true, wenn der montierte Connector dauerhaft sichtbar bleiben soll. |
visualTranslation, visualRotation, visualScale | Optionale lokale Korrektur für geklonte Visuals. |
connectorNodeName, couplerConnectionNodeName
und targetNodeName.
Selbst verbaute Anschlüsse
Fahrzeuge ohne vorbereiteten <lsfmHoseSystem>-Connector
können im Spiel nachgerüstet werden, wenn sie eine passende FillUnit
besitzen oder per Fahrzeug-XML freigegeben wurden. Die Aktion erscheint
als einziger Eintrag in der F1-Hilfe: Schlauchanschluss konfigurieren.
Standard-Freigabe
Ohne XML-Override werden nur diese FillTypes für den Konfigurator akzeptiert:
WATERMILKLIQUIDFERTILIZERHERBICIDELIQUIDMANUREDIGESTATE
DIESEL und DEF sind absichtlich nicht im
Standardfilter, damit normale Traktoren nicht wegen ihrer Verbrauchs-
FillUnits als konfigurierbar erkannt werden.
Ablauf im Spiel
- Zu Fuß zum passenden Fahrzeug gehen.
- In der F1-Hilfe
Schlauchanschluss konfigurierenauslösen. - Der exklusive Konfigurationsmodus startet mit freier Editor-Kamera.
- In der Werkzeugleiste rechts den Connector-Typ wählen.
- Den Anschluss über die X/Y/Z-Gizmoachsen positionieren und drehen.
- Mit
Anschluss montierenspeichern oder mitKonfiguration abbrechenverwerfen.
Bearbeiten und abbauen
Ist bereits ein selbst verbauter Anschluss vorhanden, öffnet dieselbe
F1-Aktion den Bearbeitungsmodus. Die Werkzeugleiste wechselt dann auf
Anschluss speichern und zeigt zusätzlich
Anschluss abbauen. Beim Abbrechen wird die vorherige Position
wiederhergestellt.
Werkzeugleiste
Die Werkzeugleiste basiert auf GIANTS-GUI-Elementen und liegt als eigene
XML unter gui/LSFMHoseConnectorToolbar.xml. Während der
Konfiguration werden die früheren F1-Aktionen für Montieren, Typwechsel
und Abbrechen nicht mehr verwendet; die Bedienung erfolgt über Maus und
Toolbar.
FillTypes und Kategorien
Das Script liest sowohl direkte fillTypes als auch
fillTypeCategories. Dadurch funktionieren auch Tanks,
die ihre erlaubten Inhalte nur über Kategorien wie SLURRYTANK
definieren.
Station
<lsfmHoseStation fillTypes="LIQUIDMANURE DIGESTATE" />
<lsfmHoseStation fillTypeCategories="SLURRYTANK" />
Trailer-FillUnit
<fillUnit fillTypeCategories="SLURRYTANK"
capacity="15000"
allowAILoading="true" />
Für den regulären Einbau ist die Kombination aus FillType-Prüfung und Kupplungstyp die sauberste Variante:
- FillTypes bestimmen, ob die Flüssigkeit technisch passt.
- Kupplungstypen bestimmen, ob das Schlauchsystem physisch passt.
fillUnitIndexbestimmt, welche Kammer betroffen ist.
Bedienung
| Aktion | Tastatur | Gamepad laut modDesc | Hinweis |
|---|---|---|---|
| Schlauch verbinden/trennen | Über die angezeigte Interaktion | Über die angezeigte Interaktion | Bei Stationen muss die Station im Interaktionsbereich sein. Bei Trailer-zu-Trailer muss ein passender zweiter Anschluss erkannt werden. |
| Pumprichtung umschalten | Left Alt + K |
BUTTON_5 BUTTON_6 BUTTON_9 |
Schaltet zwischen Station/aktivem Trailer zu Ziel und zurück. |
| Schlauchanschluss konfigurieren | Über F1-Hilfe am passenden Fahrzeug | Über F1-Hilfe am passenden Fahrzeug | Startet den exklusiven Konfigurationsmodus mit Toolbar, Editor-Kamera und Gizmoachsen. |
Die manuelle Farbwahl wurde entfernt. Perrot-Schläuche nutzen standardmäßig Schwarz, CamLock-Schläuche standardmäßig Blau.
Werkzeugleiste im Konfigurationsmodus
Anschluss: Connector-Variante per linkem/rechtem Button wechseln.Anschluss montieren: neuen Runtime-Connector speichern.Anschluss speichern: vorhandenen Runtime-Connector nach Bearbeitung speichern.Anschluss abbauen: vorhandenen Runtime-Connector entfernen.Konfiguration abbrechen: neuen Connector verwerfen oder Änderungen am vorhandenen Connector zurücksetzen.
Extra Einbauanleitung
Diese Anleitung beschreibt den sauberen Einbau einer neuen Station oder eines neuen Trailers in das Schlauchsystem.
A. Neue Station einbauen
-
i3d vorbereiten:
Lege mindestens
activationTrigger,hoseEndTrigger,stationDockNode,hoseStartNode,hoseRestNode,hoseConnectorund optionaldisconnectedHoseVisualsowieleveran. -
Nodes sichtbar mappen:
Trage alle Nodes in den
i3dMappingsder Station-XML ein. Namen müssen exakt mit den Attributen in<lsfmHoseStation>übereinstimmen. -
Kupplung wählen:
Große Güllestation mit
hoseCouplingType="perrot", dünne Station mithoseCouplingType="camLock". -
FillTypes setzen:
Nutze
fillTypesoderfillTypeCategories. Bei gemischten Flüssigkeiten vorher prüfen, ob das Szenario im Spiel wirklich sinnvoll ist. -
Schlauchoptik einstellen:
Setze
giantsHoseDiameter,giantsHoseUvScaleMultiplier, Durchhang und Straightening-Werte passend zur Station. -
StoreItem ergänzen:
Falls die Station neu ist, in der
modDesc.xmlals StoreItem ergänzen. Die Datei nicht blind überschreiben, weil dort oft neue Fahrzeuge eingetragen werden.
B. Neuen Trailer einbauen
- Connector-Position festlegen: Baue die Connectoren direkt in die Trailer-i3d. Bei Heckanschlüssen ist ein T-Stück mit linkem und rechtem Anschluss sinnvoll.
-
Visuals vorbereiten:
Erstelle pro Seite ein eigenes
visualNode. Das gemeinsame T-Stück oder der Verteiler kann alsextraVisualNodevon beiden Seiten genutzt werden. -
Connector-Node setzen:
Die eigentliche
nodesitzt dort, wo das Schlauchende andocken soll. Die Ausrichtung sollte zur erwarteten Schlauchrichtung passen, damit Winkelprüfungen sauber arbeiten. -
XML-Block einfügen:
Füge
<lsfmHoseSystem>mit einem oder mehreren<connector>-Einträgen in die Fahrzeug-XML ein. -
FillUnit zuordnen:
Setze
fillUnitIndexauf die passende Tank-FillUnit. Das ist besonders wichtig bei Fahrzeugen mit mehreren Kammern. -
Kupplungstyp setzen:
Güllefässer verwenden
perrot, Universal-/Milch-/Wasser- oder Flüssigdünger-Tanks verwenden je nach AnschlusscamLock. -
i3dMappings ergänzen:
Alle neuen Nodes in
<i3dMappings>ergänzen.
C. Sauberes XML-Beispiel für einen Trailer
<lsfmHoseSystem>
<connectors>
<connector node="lsfmHoseConnectorLeft"
visualNode="lsfmHoseConnectorLeftVisual"
extraVisualNode="lsfmHoseConnectorTVisual"
hoseCouplingType="perrot"
fillUnitIndex="1"/>
<connector node="lsfmHoseConnectorRight"
visualNode="lsfmHoseConnectorRightVisual"
extraVisualNode="lsfmHoseConnectorTVisual"
hoseCouplingType="perrot"
fillUnitIndex="1"/>
</connectors>
</lsfmHoseSystem>
D. Einbau in einen externen Mod
Wenn ein Trailer in einem anderen Mod liegt, kann dessen XML ebenfalls
mit <lsfmHoseSystem> erweitert werden. Entscheidend ist,
dass die Connector-Nodes in der i3d dieses Fahrzeugs existieren und die
FillUnit/Fülltypprüfung mit der Station kompatibel ist.
Testplan nach Änderungen
- Spiel starten und Log auf Lua-Errors prüfen.
- Station im Shop kaufen und platzieren.
- Passenden Trailer in den Suchbereich fahren.
- Prüfen, ob der Anschluss-HUD-Helfer angezeigt wird.
- Schlauch verbinden und auf sichtbaren Schlauch, Hebel, T-Stück und Visuals achten.
- Station zu Anhänger pumpen und prüfen, ob der Trailer gefüllt wird.
- Pumprichtung wechseln und prüfen, ob Anhänger zu Station funktioniert.
- Trailer-zu-Trailer verbinden, Pumprichtung wechseln und beide Richtungen testen.
- Prüfen, ob unpassende Systeme abgelehnt werden, z.B.
perrotancamLock. - Schlauchfarben prüfen: Perrot schwarz, CamLock blau.
settings.xml-Geschwindigkeiten testweise ändern und prüfen, ob Laden/Abladen pro Kupplungssystem angepasst wird.- Bei einem geeigneten Fahrzeug ohne festen Connector die Ingame-Konfiguration starten, Anschluss montieren, Savegame neu laden und Verbindung testen.
- Im Savegame prüfen, ob
lsfmHoseSystem.xmlfür selbst montierte Anschlüsse geschrieben wird. - Dedicated-Server/MP: selbst montierten Anschluss speichern, Server neu starten, Client neu verbinden und prüfen, ob der Anschluss geladen und sichtbar/benutzbar ist.
- Bearbeitungsmodus eines selbst verbauten Anschlusses testen: verschieben, speichern, abbrechen und abbauen.
- Bei einem normalen Traktor ohne passenden Flüssigkeits-FillType prüfen, dass
Schlauchanschluss konfigurierennicht erscheint. - Bei einem per XML gesperrten Fahrzeug mit
allow="false"prüfen, dass die Konfiguration nicht angeboten wird. - Log erneut auf Fehler, Warnungen und unerwartete Einträge aus dem Schlauchscript prüfen.
Wartung und Regeln
- Vor Änderungen im installierten Modordner immer ein Backup anlegen.
hoseStation.i3dnicht überschreiben.- Manuelle Stationsnodes wie
hoseConnector,leverunddisconnectedHoseVisualerhalten. hoseStationMini.xmlnicht auf alte Schlauchdurchmesser oder alte UV-Werte zurücksetzen.modDesc.xmlnie blind überschreiben, weil neue Trailer/StoreItems dort manuell ergänzt werden.- Debug-Schalter und globale Überladegeschwindigkeiten bevorzugt über
settings.xmlpflegen, nicht hart im Script ändern. - Sichtbare Ingame-Texte neutral halten und nicht unnötig mit Modnamen versehen.
- Die manuelle Schlauch-Farbwahl nicht wieder einbauen; Perrot bleibt schwarz, CamLock blau.
- Keine Back-Connector-Sonderblockade und keine Back-Sondertoleranz wieder einbauen. Das wurde verworfen.
- Für Heckanschlüsse T-Stück am Trailer verwenden und linke/rechte Connectoren sauber getrennt mappen.
- Feste Connectoren bleiben für vorbereitete Fahrzeuge die sauberste Linie; der Runtime-Konfigurator ist der separate Nachrüstweg für geeignete oder explizit freigegebene Fahrzeuge.
- Connector-IDs in
connectors.xmlnach Savegame-Nutzung nicht umbenennen. - Den Standard-FillType-Filter für den Konfigurator nicht um
DIESELoderDEFerweitern, solange Kraftstoffanschlüsse nicht als eigenes System behandelt werden.
Fehlersuche
Trailer wird nicht erkannt
- Ist
requireTrailerConnectorNodes="true"gesetzt und hat der Trailer wirklich<lsfmHoseSystem>? - Sind alle
i3dMappingsvorhanden? - Passt
hoseCouplingTypezwischen Station und Trailer? - Passt der FillType oder die FillTypeCategory der Station zur Trailer-FillUnit?
- Ist der Trailer innerhalb von
searchRadiusund Verbindungskorridor?
Schlauchanschluss konfigurieren erscheint nicht
- Der Spieler muss zu Fuß sein und nah genug am Fahrzeug stehen.
- Das Fahrzeug darf keinen festen vorbereiteten
<lsfmHoseSystem>-Connector haben. - Ohne XML-Override muss eine FillUnit einen passenden Flüssigkeits-FillType unterstützen.
- Erlaubte Standard-FillTypes sind
WATER,MILK,LIQUIDFERTILIZER,HERBICIDE,LIQUIDMANUREundDIGESTATE. - Für Spezialfälle
<lsfmHoseConnectorConfigurator allow="true" />setzen. - Zum Sperren eines Fahrzeugs
<lsfmHoseConnectorConfigurator allow="false" />setzen.
Selbst verbauter Connector verbindet falsch
- In
connectors.xmlprüfen, obconnectorNodeName,couplerConnectionNodeNameundtargetNodeNameauf die richtigen Nodes zeigen. targetNodeNameist die Hose-Endposition;connectionVisualNodeNameist nur das sichtbare Kupplungsteil.- Bei Güllefässern mit vorhandener Optik
mountedVisualVisibleAfterMount="false"verwenden, damit nur das Kupplungsteil beim Verbinden eingeblendet wird. - Node-Namen in
connectors.i3deindeutig halten, keine doppelt benanntenhoseNode- oderconnectorNode-Kinder verwenden.
Selbst verbauter Connector wird nicht gespeichert oder geladen
- Nach dem Speichern prüfen, ob im Savegame
lsfmHoseSystem.xmlerzeugt wurde. - Die Datei muss Fahrzeugblöcke mit
uniqueIdund mindestens einemconnectorenthalten. - Auf Dedicated Servern nach Neustart zusätzlich mit neu verbundenem Client testen, weil die Connectoren über den Fahrzeug-Initialstream an Clients gesendet werden.
- Bei XML-Schema-Fehlern prüfen, ob die aktuelle Version von
LSFMHoseConnectorConfigurator.luamit dem Schema fürlsfmHoseSystem.xmlgeladen ist.
Schlauch sieht falsch aus
giantsHoseDiameterbestimmt den Durchmesser.giantsHoseUvScaleMultiplierbeeinflusst die Rillen-/Texturstreckung.giantsHoseSagFactor,giantsHoseExtraLengthund Straightening-Werte bestimmen Durchhang und Bogen.- Bei Mini-Station auf die dünneren Werte achten.
Pumpen funktioniert nur in eine Richtung
- Pumprichtung prüfen: Station zu Anhänger, Anhänger zu Station oder aktiver Trailer zu gekoppeltem Trailer.
- Station muss den FillType annehmen können.
- Trailer-FillUnit muss Inhalt enthalten, wenn zurück zur Station gepumpt wird.
- Station/Ziel muss genügend freien Speicher oder passenden Trigger haben.
- Bei ungewohnter Geschwindigkeit die Werte in
settings.xmlfür den jeweiligen Kupplungstyp prüfen.
Standard-Entladefunktion stört
- Bei aktiver Schlauchverbindung und Pumprichtung Station zu Anhänger sollte normales Abladen blockiert sein.
- Bei Pumprichtung Anhänger zu Station muss das Entladen zur Station weiterhin möglich bleiben.
- Discharge-Visuals und TipAnimation können je nach Fahrzeug zusätzlich über Fahrzeug-Spezialisierungen auftreten.
Debugging
Debug-Logging ist in der Release-Konfiguration abgeschaltet, damit die Log
nicht durch Such-, Kompatibilitäts- und Transfermeldungen gefüllt wird.
Für gezielte Fehlersuche können die Schalter in settings.xml
getrennt aktiviert werden: trailerConnections für
Trailer-zu-Trailer und Fahrzeug-Suchlogik, placeableStations
für platzierbare Schlauchstationen. Bei Stationen kann zusätzlich
debug="true" in der Station-XML genutzt werden.
Savegame-Verhalten
Die manuelle Schlauchfarbwahl ist entfernt. Die festen Standardfarben werden beim Laden aus dem jeweiligen Kupplungssystem abgeleitet: Perrot nutzt Schwarz, CamLock nutzt Blau.
Selbst verbaute Fahrzeuganschlüsse werden weiterhin im Vehicle-Savegameblock mitgeschrieben. Erfasst werden Connector-Typ, FillUnit, lokale Position, Rotation und Montagezustand.
<lsfmTrailerHose>
<connectorConfigurations>
<connector couplingType="camlock_var02"
fillUnitIndex="1"
translation="0 1 -2"
rotation="0 0 0"
mounted="true" />
</connectorConfigurations>
</lsfmTrailerHose>
Zusätzlich schreibt der Mod eine eigene Datei im Savegame:
lsfmHoseSystem.xml
Diese Datei ordnet selbst montierte Anschlüsse über die stabile
vehicle.uniqueId dem jeweiligen Fahrzeug zu. Das ist vor allem
für Dedicated Server wichtig, weil die Runtime-Connectoren dort zuverlässig
geladen werden müssen, auch wenn der normale Vehicle-Savepfad nicht ausreicht.
<lsfmHoseSystem>
<connectorConfigurations>
<vehicle uniqueId="vehicle-123" filename="...">
<connector couplingType="camlock_var02"
fillUnitIndex="1"
translation="0 1 -2"
rotation="0 0 0"
mounted="true" />
</vehicle>
</connectorConfigurations>
</lsfmHoseSystem>
Lokalisierung
Texte für den Anschluss-Helfer und die Bedienung sollten über
translations/l10n_de.xml und translations/l10n_en.xml
gepflegt werden. Die sichtbaren Texte bleiben neutral, damit sie auch in
anderen Modpacks nicht wie ein Fremdkörper wirken.
Wichtige l10n-Keys:
ui_lsfmHoseConnectionAssistTitleui_lsfmHoseConnectionAssistFitsui_lsfmHoseConnectionAssistFitsShortui_lsfmHoseConnectionAssistMoveBackui_lsfmHoseConnectionAssistMoveForwardaction_lsfmHoseConfigureConnectorui_lsfmHoseConnectorToolbarTitleui_lsfmHoseConnectorTypeLabelaction_lsfmHoseMountConnectoraction_lsfmHoseSaveConnectoraction_lsfmHoseRemoveConnectoraction_lsfmHoseConnectorCancelstatus_lsfmHoseConnectorConfigStartedstatus_lsfmHoseConnectorMountedstatus_lsfmHoseConnectorSavedstatus_lsfmHoseConnectorRemovedstatus_lsfmHoseConnectorEditStartedstatus_lsfmHoseConnectorEditCancelledstatus_lsfmHoseConnectorConfigCancelled
Kurzer Merksatz
Station definiert System, Schlauch und erlaubte Flüssigkeiten. Trailer definiert feste Anschlusspositionen oder gespeicherte Runtime-Anschlüsse, Visuals, Kupplungstyp und FillUnit. Nur wenn Flüssigkeit, Kupplung und Zielnode zusammenpassen, wird verbunden.