back  
english

Dieses Manual als rtf downloaden

Pickup Tool downloaden

 

Pickups in MSTS

 

Für eine schnelle Zusammenfassung dieses Dokuments siehe Fazit ganz unten.

 

Wo die Eigenschaften eines Pickups gespeichert werden

 

ACHTUNG!: Nach dem Errichteten eines Pickups im Streckeneditor wird der Eintrag in die tdb und tit Dateien durch MSTS nicht richtig geschrieben!:

 

tdb-und-tit-Datei-Eintrag fehlerhaft:

      PickupItem (

            TrItemId ( 1328 )

            TrItemSData ( 294.785 00000006 )

            TrItemPData ( -377.936 -628.425 -5538 15048 )

            TrItemRData ( -377.936 7.48742 -628.425 -5538 15048 )

            PickupTrItemData ( 200000 00000000 )

      )

 

Statt der 8 Nullen 00000000 müsste für ein Wasserturm Pickup 00000280 stehen. Der richtige Eintrag in den tdb und tit Dateien wäre also:

 

tdb-und-tit-Datei-Eintrag richtig:

      PickupItem (

            TrItemId ( 1328 )

            TrItemSData ( 294.785 00000006 )

            TrItemPData ( -377.936 -628.425 -5538 15048 )

            TrItemRData ( -377.936 7.48742 -628.425 -5538 15048 )

            PickupTrItemData ( 2e+007 00000280 )

      )

 

Entweder man holt dies von Hand nach, oder man verwendet das Jm-Tool "_Pickup-Korrektur_Jm.exe", um diesen Fehler zu beheben.

 

 


Das Dialogfeld des Pickup im Streckeneditor am Beispiel Wasserkran

 

 

Allgemein

 

Alle Masse-Einheiten eines Pickups sind lb (Pfund). Dies gilt in MSTS für alle Betriebsstoffe (Wasser, Kohle, Diesel) gleichermaßen.

 

 

Aufnahmetyp (World Datei)

Die drei in MSTS unterstützten Pickup Typen sind:

 

      5 = Treibstoff - Wasser

      6 = Treibstoff - Kohle

      7 = Treibstoff - Diesel

 

Weitere von MSTS nicht genutzte Pickup Typen sind:

 

      1 = Güter - Getreide

      2 = Güter - Kohle

      3 = Güter - Kies

      4 = Güter - Sand

      8 = Sonderzug - Post

 

 

Kapazität (World Datei)

Der Wert für die Kapazität wird in MSTS nur verwendet, wenn eine prozentuale Limitierung für das Pickup angegeben ist. Er stellt dann den aktuellen Füllstand des Pickups dar.

Eine Limitierung kann entweder im Aufgabeneditor zu einem Pickup angegeben sein, oder sie ist grundsätzlich im PickupTrItemData-Eintrag in tdb und tit Datei hinterlegt (siehe unten "Der PickupTrItemData-Eintrag in tdb und tit Datei").

Die möglichen prozentualen Limitierungen sind: 0%, 25%, 50%, 100%. Das Pickup kann also mit Hilfe einer Limitierung sowohl als leer (0%) oder auch als ganz voll (100%) deklariert werden. Für Aufgabenbauer soll so die Möglichkeit bestehen, Knappheiten oder Ausfälle von Pickups zu simulieren.

Liegen keine Limitierungen vor (Normalfall), berücksichtigt MSTS den Wert "Inhalt" aus den tdb und tit Dateien.

Open Rails berücksichtigt nur den Wert der Kapzität (Stand Jan. 2017).

 

 

Inhalt (tdb und tit Datei)

Der Wert für Inhalt wird in MSTS nur verwendet, wenn keine prozentuale Limitierung für das Pickup angegeben ist, was der Normalfall ist. Er stellt den aktuellen Füllstand des Pickups dar.

Wenn eine Lok am Wasserkran Wasser aufnimmt, wird der Wert Inhalt geringer.

 

 

Kapazität/Inhalt

Als Standard werden von MSTS Werte von 20000 lb vorgegeben. Sie sollten aber auf 20000000 erhöht werden, damit im Spiel das Pickup trotz eventuell meherer Auftankungen nicht leer wird.

Beide Werte, sowohl Kapazität als auch Inhalt, sollten stets den gleichen Betrag haben, damit keine Ungleichnheiten der Vorräte auftreten, falls in einer Aufgabe eine Beschränkung für das Pickup angegeben wird.

 

 

Unendlich (World Datei)

Keine Wirkung in MSTS und Open Rails. Das Setzen des Häkchen wird zwar im Pickup-Eintrag in der World-Datei gespeichert (2. Wert von PickupType), bleibt aber ohne erkennbare Wirkung für die Simulation.

Das Simulieren von einem endlosen Treibstoffnachschub am Pickup sollte daher besser über groß bemessene Werte für Kapazität und Inhalt realisiert werden.

 

 

Standardm. unterbrochen (??? tdb und tit Datei ???)

Das Häkchen bei "Standardm. unterbrochen" sollte wahrscheinlich im PickUp-Eintrag in den tdb- und tit-Dateien gespeichert werden. Da dies aber grundsätzlich durch einen Bug in MSTS nicht richtig funktioniert, ist dieses Häkchen im Dialogfenster praktisch nicht setzbar!

 

Auf englisch heißt diese Option "Brocken by default", also "Standardmäßig außer Betrieb". Das Pickup sollte in diesem Falle nur innerhalb einer Aufgabe aktiviert werden können.

 

Die im Aufgabeneditor gewählten Optionen zu einem Pickup werden in der Aufgabendatei (.act) codiert gespeichert, z.B. als:

 

PickupTrItemIdData (

            PickupItem ( 5 2048 )

)

 

Dabei sind in der 2048 die gewählten Einstellungen codiert (siehe unten "Der PickupTrItemData-Eintrag in tdb und tit Datei").

Die 5 benennt die " TrItemId" in tdb- und tit-Datei.

 

Das Pickup Dialogfenster im Aufgaben Editor

 

 

Füllrate (World Datei)

 

Die Füllrate wird in lb/s (Pfund/Sekunde) erwartet. Später im Spiel wird die Menge des geladenen Wassers in Gallonen angezeigt.

 

1 Gallone = 10 lb = 4,54609 Liter

 

1 lb = 0,454609 Liter

 

Damit beispielsweise 10m³ Wasser pro Minute am Wasserkran aufgenommen werden können, muss die "Füllrate" auf 367.0 lb/s gesetzt werden.

 

10m³ Wasser (10000 Liter) sind 21997 lb ( 10000 Liter / 0,454609 = 21996,9248 lb). Weil im Dialogfenster die Füllrate in lb/s erwartet wird, teilt man die 21997 lb nun noch durch 60 Sekunden und erhält:

366,6 lb (21996,9248 / 60 = 366,61541).

 

Geschwindigkeit...bis...(mph) (World Datei)

Hier wird ein Geschwindikeitsbereich für die Lok angegeben, in welchem die Treibstoffaufnahme möglich ist. Bespiele:

 

•  0.0 bis  0.0   -> Die Lok muss für die Treibstoffaufnahme stillstehen

•  0.0 bis 10.0   -> Die Lok kann in Vorwärtsfahrt mit bis zu 10 Meilen/h Treibstoff aufnehmen

•-10.0 bis 10.0   -> Die Lok kann in Vorwärts- und Rückwärtsfahrt mit bis zu 10 Meilen/h Treibstoff aufnehmen

•-10.0 bis  0.0   -> Die Lok kann (nur) in Rückwärtsfahrt mit bis zu 10 Meilen/h Treibstoff aufnehmen

 

 

Animationstyp (World Datei)

 

0     Nur aktivierte Animationen                     Kran schwenkt durch T               - Wasser läd am Animationsanfang (sofort bei T)

1     Nur Animation naher Objekte                    Kran schwenkt nicht                 - Wasser läd wenn T

2     Nur aktivierte Effekte                         Kran schwenkt nicht                 - Wasser läd nicht

3    Aktivierte Animationen und Effekte        Kran schwenkt durch T           - Wasser läd am Animationsende (Kran über Tender)

4     Animation naher Objekte und aktivierte Effekte Kran schwenkt nicht               - Wasser läd nicht

5     Nur On-empty-Animation                         Kran schwenkt und bleibt geschwenkt - Wasser läd wenn T

6     Nur Treibstoffschlauch                         Kran schwenkt nicht                 - Wasser läd wenn T

 

Animationstyp 3 ist der Standardtyp und sollte nach Möglichkeit auch so belassen werden.

In Open Rails werden die Animationstypen nicht unterstützt.

 

 

Animationlänge (World Datei)

Dauer der Animation eines Pickups.

Ein Pickup kann mit z.B. zwei Key-Frames animiert sein, um das Schwenken des Wasserkrans darzustellen. "Animationslänge" gibt die Zeit für das Schwenken des Krans in Sekunden an.

 

 

 

 

 

Der PickupTrItemData-Eintrag in tdb und tit Datei

 

Der PickupTrItemData-Eintrag in tdb- und tit-Datei hat zwei Werte.

 

 

      PickupItem (

            TrItemId ( 5 )

            TrItemSData ( 628.683 00000006 )

            TrItemPData ( -116.257 253.084 -5578 14976 )

            TrItemRData ( -116.257 1 253.084 -5578 14976 )

            PickupTrItemData ( 2e+007 00000280 )

      )

 

 

Der erste Wert stellt den Inhalt des Pickups dar. Seine Einheit ist lb (Pfund). Der Wert sollte immer recht groß gewählt werden, damit das Pickup im Spielablauf nicht leer wird.

Wenn keine prozentualen Limitierungen für das Pickup gelten, wird dieser Wert als maximale Inhaltsmenge des Pickups bei Spielbeginn verwendet. Im Falle von Limitierungen für das Pickup, wird dieser Wert ignoriert und an seiner Stelle immer der Wert aus der World-Datei (PickupCapacity) verwendet. Limitierungen für ein Pickup können entweder im Aufgabeneditor angegeben werden oder sie sind im tdb-Eintrag PickupTrItemData gegeben (siehe unten).

Das Options-Häkchen "unendlich" im Pickup-Eigenschftenfenster wird zwar in der World-Datei gespeichert, hat aber auf den Füllvorgang keinen Einfluss!

In Open Rails (Stand Jan. 2017) wird der PickupTrItemData-Wert aus der tdb nicht beachtet. Dort wird immer der World-Datei Wert verwendet.

 

Der zweite Wert ist ein achtstelliger Hexadezimalwert! Die führenden Nullen sind wichtig, da MSTS sonst abstürzt!

Durch diesen Wert wird in erster Linie definiert, um welche Art von Treibstoffstation es sich handelt. Dabei gilt:

 

 

 

   hex

 

 

binär  

  

 

00000080

= Getreide

->

00010000000

 

 

00000100

= Kohle

->

00100000000

 

 

00000180

= Kies

->

00110000000

 

 

00000200

= Sand

->

01000000000

 

 

00000280

= Wasserturm

->

01010000000

 

 

00000300

= Kohlebunker

->

01100000000

 

 

00000380

= Dieseltankstelle

->

01110000000

 

 

00000200

= Sonderzug Post

->

10000000000

 

 

--------------------------------------------------------------------------------------------------------------------

 

In der selben hexadezimalen Zahl können aber auch noch weitere Optionen zu einem Pickup codiert sein.

(Erkundung dieser Optionen mit Hilfe des Aufgabeeditors siehe unten).

 

                             Bits 13 bis 16: Codierung der Optionen zum Füllstand eines Pickups:

 

 dez           hex                binär                 Bedeutung

 4096       00001000         0001000000000000    0%  Pickup ist leer

 8192       00002000         0010000000000000   25%  Pickup ist viertel voll

16384       00004000         0100000000000000   50%  Pickup ist halb voll

32768       00008000         1000000000000000  100%  Pickup ist ganz voll

 

 

                             Bit 12: Codierung der Optionen zum Füllstand eines sich außer Betrieb befindlichen Pickups:

 

 dez           hex                binär                   Bedeutung

 2048       00000800         0000100000000000       Pickup ist außer Betrieb

 6144       00001800         0001100000000000   0%  Pickup ist außer Betrieb und leer

10240       00002800         0010100000000000  25%  Pickup ist außer Betrieb und viertel voll

18432       00004800         0100100000000000  50%  Pickup ist außer Betrieb und halb voll

34816       00008800         1000100000000000 100%  Pickup ist außer Betrieb und ganz voll

 

Das Bit 12 gibt also an, das das Pickup "Außer Betrieb" sei. Diese Option hat aber keinen Einfluss auf MSTS. Sowohl in Aufgaben als auch in der Streckeerkundung sind die Pickups immer in Betrieb, selbst wenn das Bit 12 gesetzt ist.

 

--------------------------------------------------------------------------------------------------------------------

 

Beispiel für ein Wasserturm Pickup, welches in Betrieb ist und verschiedene Füllstände aufweist.

 

 dez           hex                binär

  640       00000280         0000001010000000 

 4736       00001280         0001001010000000    0%

 8832       00002280         0010001010000000   25%

17024       00004280         0100001010000000   50%

33408       00008280         1000001010000000  100%

 

 

Binär betrachtet

Man codiert das Pickup, in dem man die ersten Bits 1 bis 10 entsprechend dem gewünschten Pickup Typ verwendet. Für einen Wasserturm wäre dies 1010000000. Der Füllstand dieses Wassertum wird dann weiter mit den Bits 12 bis 16 definiert. Soll er also beispielsweise mit 50% gefüllt sein, dann werden als Bits 11 bis 16 noch 010000 davor gesetzt:

 

      1010000000  Wasserturm

0100000000000000  50%  halb voll

----------------

0100001010000000

 

Diese Binärzahl 0100001010000000 wäre dann als Hexadezimale 00004280 in die tdb- und tit-Dateien für das Pickup einzutragen.

 

 

Hexadezimal betrachtet

Man codiert das Pickup, indem die ersten drei Stelle den Typ des Pickups definieren. Für einen Wasserturm wäre dies 00000280. Der Füllstand dieses Wassertum wird dann weiter mit der vierten Stelle definiert. Soll er also beispielsweise mit 50% gefüllt sein, dann wird an der vierten Stelle noch eine 4 eingefügt: 00004280

 

Diese Hexadezimalzahl 00004280 wäre dann in die tdb- und tit-Dateien für das Pickup einzutragen.

Ein solches Pickup sieht im MSTS-Augabeneditor dann so aus:

 

--------------------------------------------------------------------------------------------------------------------

 

Erkundung der Pickup Optionen mit Hilfe des Aufgabeeditors

Die Options-Codes kann man erkunden, indem man im Aufgabeneditor ein Pickup mit der rechten Maustaste anklickt und im folgenden Dialogfenster Einstellungen für das Pickup vornimmt. Wenn man dort z.B. das Häkchen bei "Standard" wegnimmt, taucht neben dem Pickup "0%" auf.

 

 

Diese Optionsänderung zum Pickup wird dann in der Aufgabendatei (.act) so vermerkt:

 

            PickupTrItemData (

                  PickupItem ( 5 4096 )

            )

 

Die Dezimalzahl 4096 gibt an, dass der Inhalt des Pickups mit dem tdb-Index 5 ("TrItemId ( 5 )") leer ist.

Wenn man die Dezimalzahl 4096 in eine Hexadezimale wandelt, erhält man 1000.

In der Aufgabe addiert MSTS dann zur 00000280 des Pickups aus der tdb-Datei noch die 1000 dazu. Das Ergebnis wäre dann 00001280. Am Pickup wäre in der Aufgabe dann kein Wasser erhältlich.

 

 

 

 

Fazit

 

• Kapazität und Inhalt sollten sehr große Werte haben, z.B. 20'000'000 lb für Wasser, damit sie im Spiel ausreichen. Beide Werte sollten immer gleich groß sein, damit das Pickup mit und ohne Limitierung immer die selbe Vorratsmenge hat.

 

• Die Einheit für alle Mengen-Angaben des Pickup ist lb (Pfund).

 

• Sowohl die Checkbox "Unendlich" als auch "Standardm. unterbrochen" sind ohne Bedeutung im MSTS Spiel.