Hofdatei
Aktuell in Arbeit
Inhaltsverzeichnis
- 1 Hofdateien für Omsi
- 2 Aufbau einer Hofdatei
- 2.1 Schreiben von Befehlen und Strings - allgemeine Informationen für die Map intern
- 2.2 Aufbau des ersten Bereiches einer Hofdatei
- 2.3 Aufbau des zweiten Bereiches einer Hofdatei - Endstellenliste
- 2.4 Aufbau des dritten Bereiches einer Hofdatei - Haltestellenliste
- 2.5 Aufbau des vierten Bereiches der Hofdatei - Routenlisten
Hofdateien für Omsi
Aufbau einer Hofdatei
Eine Hofdatei ist die Grundlage, um einen Bus auf einer Linie einer Map fahren zu können. Ohne Hofdatei kann der Bus keine Informationen anzeigen (Matrix, Rollbänder) und dadurch steigen keine Fahrkunden ein. Diese beinhaltet die Endhaltestellen einer Karte (alle Endstellen, ob auf der Map vorhanden oder nicht), alle auf der Map vorhandenen Haltestellen und die Routen der einzelnen Linien. Sie dient lediglich der Information der Anzeigen und die Audiowiedergabe der Haltestellen / Endstellen im und am Bus. Die in der Hofdatei eingetragenen Routen geben nicht den Linienverlauf in Omsi vor, dies würd über den Fahrplan im Editor gestellt. Aber die Hofdatei dient der Informationsausgabe für die Zielanzeigen im Bus, die Innenanzeigen im Bus, die Anzeigen im Informationsgerät (IBIS, IBIS 2, EFAD, Atron, INIT usw) und die Texturnamen der Rollbandtexturen. Eine Hofdatei muß im Busordner vorliegen (in keinem Unterordner des Busses) und muß als Endung .hof haben. Diese Datei kann mit einem Editor oder Schreibprogramm erstellt werden, muß aber dann als Textdatei.txt abgespeichert werden. Schlußendlich wird dann der Dateiname .txt gelöscht und durch .hof ersetzt.
Schreiben von Befehlen und Strings - allgemeine Informationen für die Map intern
In der Hofdatei ist dies ein wiederkehrender Prozess. In eckigen Klammern werden Befehle geschrieben und direkt darunter die Strings. Man kann reinschreiben was man möchte, solange es nicht am Zeilenanfang steht (einmal TAB drücken) da es sonst zu Fehlermeldungen beim einlesen der Hofdatei kommen kann. Ein String ist ein Eingabewert der einen Verweis auf Punkte einer Map haben kann, oder einen Informationswert für eine Anzeige. Der Aufbau der einzelnen Befehle erklärt sich später bei den einzelnen Bereichen einer Hofdatei.
Eine Hofdatei gliedert sich in 4 Bereiche
- Teil 1 - Informationen zur Hofdatei
- Teil 2 - Liste der Endhaltestellen
- Teil 3 - Liste der Haltestellen
- Teil 4 - Linienlisten der einzelnen Routen
Aufbau des ersten Bereiches einer Hofdatei
Der erste Bereich enthält Informationen, wo sich bestimmte Ordner befinden, die der Bus später benötigt, wie Rollbandtexturen, Steckschildtexturen oder Ansagen, Anzahl der verwendeten Strings in den Bereiche 2 und 3. Der erste Befehl ist der Name der Hofdatei, so wie diese später im Auswahlmenü angezeigt wird. Der Name sollte passend zur Map sein und, falls die Chronologiefunktion benutzt wurde, auch die Zeit. Bedenke dabei, daß auch andere User die eine Strecke erstellen den gleichen Namen nutzen könnten, wenn deren Strecke zum Beispiel real ist, während die eigene fiktiv erstellt wurde.
[name] Spandau 1990 [servicetrip] Betriebsfahrt
Servicetrip gibt an, wenn ein Bus geschildert hat, wie er auf diese Beschilderung reagiert. Dazu muß Betriebsfahrt später eingetragen werden und als "nicht einsteigen" makiert werden, mit dem Befehl: [addterminus_allexit].
[global_strings] 4 Spandau_old Spandau Spandau_90 3
Mit dem Befehl [Global_Strings] wird angegeben, wie die Ordner heißen, die Informationen zu der Karte haben. Diese Strings sind festgelegt:
4 - sagt an wieviele Strings unter diesem Befehl folgen Spandau_old - Name des Unterordners der die Ansagen der Karte enthält. Dieser Unterordner muß unter Vehicles\Announcements angelegt werden. Diese einzelnen Ansagen der Haltestellen und Endhaltestellen, sollte im Audioformat .wav enthalten sein. Die Dateinamen der Audiofiles sollte einen Bezug zur Haltestelle / Endhaltestelle haben. Spandau - Unterordner im Odner Anzeigen für die Rollbandtexturen Spandau_90 - Unterordner für die zusätzlichen Seitenschildtexturen. 4 - Ibis-Specialcode die auf dieser Map verwendet werden können. Diese Zahl gibt an, welche Liniencodes mit Buchstaben auf speziellen Linien genutzt werden.
4= 900'er-Linien (Anzeige der Linie N.. oder ..N) 5= 800'er-Linien (Anzeige der Linie X) 6= 500'er-Linien (Anzeige der Linie M)
Dieser Bereich ist nur für Omsi 2 wichtig, in Omsi 1 hingegen entfällt dieser Befehl und die Eintragungen, weil sich die entsprechenden Dateien in den Unterordnern des jeweiligen Busses befindet.
Die folgenden Befehle werden nicht in eckigen Klammern geschrieben. Sie enthalten nur die Information, wieviele Strings in den Bereichen 2 und 3 folgen, damit Omsi genau erkennt, wieviele Strings ausgelesen werden sollen. Wichtig ist dies bei Omsi 2, da hier in den Bereichen 2 und 3 der Hauptbefehl nur einmal geschrieben werden muß.
Stringcount_terminus 7 Stringcount_busstop 5
Terminus gibt den Bereich an, der für die Endstellen vorgesehen ist. Und Busstop bleibt damit nur für die Haltestellenliste. Die genaue Anzahl richtet sich nach den geschriebenen Strings. Wichtig wird dies für eine Universelle Hofdatei die für alle verwendeten Anzeigesystem in den Bussen Verwendung finden. Man kann bis 999 Strings verwenden, alles darüber hinaus, wird mit einem Fehler von Omsi quttiert, da normal nicht so viele Strings benötigt werden können. Es richtet sich ja nach den unterschiedlichen Anzeigesystemen der Busse, nicht um jeden einzelnen Bus selbst.
Aufbau des zweiten Bereiches einer Hofdatei - Endstellenliste
In dieser Liste werden die Anzeigen für die Busse geschrieben, wie diese die entsprechenden Endstellen später anzeigen sollen. Wichtig hierbei ist, das die Buchstabenanzahl nicht überschritten wird, weil sonst die Ziele nicht vollständig angezeigt werden. Welche Buchstaben genau angezeigt werden können, entscheidet der Font der Anzeigegeräte. Beinhaltet dieser Font nur Großbuchstaben, muß die Anzeige in Grossbuchstaben gesetzt werden. Das gleiche gilt für Umlaute, Satzzeichen oder Symbole.
Der Aufbau dieses Bereiches kann zwei Formen annehmen. Für Omsi 1 gilt nur eine Form, wobei bei Omsi 2 beide Formen genutzt werden können. Der übersicht wegen, wird hier die alte Schreibform (untereinander gegliedert) gezeigt. Um eine Hofdatei zu erstellen empfielt sich die Verwendung eines Schreibprogrammes wie Office Word. Für die neuere Schreibform wie in Omsi 2 empfiehlt sich ein Tabellenprogramm wie Exel, da hier die Anzeigen nacheinander, getrennt von einem Tabulator gesetzt wird. Jeder gesetzte Abstand des Tabulator's, setzt den nächsten string fest. Aus beiden Programmen, kann man diese Hofdatei als Textdatei abspeichern und die Dateiendung umbenennen.
In dem zweiten Bereich gibt es nur zwei Befehle, die wiederrum das Verhalten der Fahrkunden steuert. [addterminus] bedeutet, daß die Fahrkunden einsteigen könne, spätestens beim erreichen dieser Endstelle den Bus verlassen müssen, [addterminus_allexit] bedeutet, egal was die Anzeige zeigt, es darf nicht eingestiegen werden. Direkt darunter kommen zwei Informationen und darauf folgend die Strings:
addterminus_allexit] 123 Name der Endstelle String 0 String 1 String 2 String 3 String 4 String 5 String 6
Gemäß der Vorgabe im ersten Bereich der Hofdatei unter [stringcount_...] kann man hier die Strings für die Anzeigesysteme schreiben. Die ersten beiden Punkte unter dem Befehl sind fest vorgegeben und beinhalten nichtangezeigte Informationen. Besonders wichtig ist hier die richtige Stringanzahl. Stehen hier mehr Strings als unter "Stringcount_terminus" eingetragen, werden die folgenden Strings nicht beachtet (gelten also als nicht vorhanden). Außerdem ist zu Beachten, daß die Stingzählung bei NULL beginnt und nicht bei Eins. Das bedeutet, daß sieben Strings ausgelesen werden, von String 0 bis String 6.
123 - die 3-stellige Zahl gibt dieses Ziel einen IBIS-Code. Da man im Ibis keine Buchstaben eingeben kann, werden alle Ziele mittels Code identifiziert. Welchen Code ein Ziel bekommt ist dabei egal, solange der Code für ein einziges Ziel eingetragen wird. Das Ziel kann zwar mit dem Code mehrmals in der Liste erscheinen, aber ein bestimmter Zahlencode darf nicht zwei unterschiedliche Ziele beinhalten.
Gefolgt vom Namen der Endstelle. Hierbei erhält jede Endstelle einer Map seinen eigenen Zahlencode für das IBIS. Der Name der Endhaltestelle, der hier eingetragen wurde, muß dem Endstellenwürfel im Editor entsprechen. Sind diese nicht gleich, wird diese Endstelle nicht mit dem Ziel in Verbindung gebracht und ignoriert. Das bedeutet, daß diese Endstelle (im Editor) keinen IBIS-Code besitzt und daher nicht geschildert werden kann. Im Ibis wird eine Endstelle angezeigt, aber diese existiert für Omsi garnicht.
Nun folgen die Strings der einzelnen Anzeigen. Diese Strings werden für die jeweiligen Anzeigegeräten in den Script-Dateien festgelegt. Die Verwendung welcher String für welche Anzeige genutzt wird, ist frei, sollte aber sinnvoll eingetragen werden, damit die Hofdatei für andere Busse genutzt werden kann.
Das folgende Beispel, zeigt die Eintragungen einer ANNAX-Matrix, Rollbandanzeige, IBIS 1 und IBIS 2 Gerät:
[addterminus] 123 Endhaltestelle BHF KIESELSTEIN Bahnhof Kieselstein Bhf. Kieselstein Rollbandtextur.tga Bahnhof Kieselstein
Aufgeschlüsselt bedeuten die Eintragungen (hier am Beispiel eines MAN SD 202) folgende Punkte am Bus:
[addterminus] 123 - Durch Eingabe dieses Zahlencode in das IBIS, Atron, EFAD, etc. bei der Taste Ziel, wird die gewählte Endhaltestelle angezeigt. Endhaltestelle - hier muß der korrekte Name der Endstelle wie im Editor eingetragen werden. BHF KIESELSTEIN - Anzeige für das IBIS 1 (max. 16 Zeichen [incl. Leerzeichen] und nur Großbuchstaben, weil es im Font des IBIS 1 nur Großbuchstaben gibt. Bahnhof - Anzeige der oberen ANNAX-Zeile an der Front des Busses. Hier dürfen ebenfalls nur 16 Zeichen vorhanden sein, und Buchstaben in Groß- und Kleinschrift. Kieselstein - Anzeige der unteren ANNAX-Zeile an der Fahrzeugfront. Hier dürfen ebenfalls nur max. 16 Zeichen erstellt werden. Bhf. Kieselstein - Zielanzeige an der einzeiligen Seitenmatrix (ANNAX-Seite) mit max. 16 Zeichen. Rollbandtextur.tga - Name der Rollbandtextur im Ordner Anzeigen. Wichtig: die Dateiendung muß richtig eingetragen werden. Bahnhof Kieselstein - Anzeige für das IBIS 2-Gerät (Groß- und Kleinschreibung, max. 20 Zeichen).
Die hier gezeigte Schreibweise kann für Omsi 1 und Omsi 2 verwendet werden. Um bei Omsi 1 kurze Namen zu zentrieren, sollte man Leerzeichen verwenden. Für Omsi 2 ist es ratsam, hinter einer Eintragung ein Tabulator zu setzen. Wurden alle Endstellen, die auf der Map vorhanden sind geschrieben, können alle Endstellen geschrieben werden, die nicht auf der Map sind, aber von Linien die auf der Map fahren (KI-Linien) geschrieben werden. Der Präfix "_allexit" hinter dem Befehl addterminus sorgt dafür das keine Fahrkunden einsteigen und eventuell im Bus sitzende Fahrkunden, nach der Eingabe, sofort aussteigen.
Die Reihenfolge der eingetragenen Endstellen, bestimmt später die Reihenfolge der Rollbandtexturen, wenn man diese in einem Bus manuell einstellt (also nicht über das Omsi-Menü).
Aufbau des dritten Bereiches einer Hofdatei - Haltestellenliste
In dieser Liste ändert sich lediglich der Befehl und die Anzeige-Orte im Bus. Es gibt nur ein Befehl der eine weitere Haltestelle hinzufügt. Und es werden nur Haltestellen geschrieben, die vom Spieler bedient werden können (unabhägig, ob diese Haltestellen auf der Map existieren oder nicht).
[addbusstop] Haltestelle BUSPLATZ AM WALD Busplatz Am Wald Busplatz am Wald
Hier wieder die Aufschlüßelung der Eintragungen:
[addbusstop] Haltestelle - Name der Haltestelle wie im Editor und Name der Audiodatei der Ansage (ohne Dateiendung). BUSPLATZ AM WALD - Anzeige für das IBIS 1 Gerät Busplatz - Innenanzeige erste Sicht vor dem Umschalten. Am Wald - Innenanzeige zweite Sicht nach dem Umschalten, die beiden Anzeigen werden im Takt automatisch umgestellt und zentriert. Busplatz am Wald - Name der Haltestelle für das IBIS 2.
Die Reihenfolge der einzelnen Haltestellen ist dabei irrelevant. Die Ausstiegspunkte der Endstellen werden nicht mit eingetragen, aber die Einstiegspunkte, also die alle erste Haltestelle, an der die Fahrkunden einsteigen dürfen.
Damit ist dieser kurze Abschnitt schnell geschafft.
Aufbau des vierten Bereiches der Hofdatei - Routenlisten
Hier werden nun, für jede einzelne Route die Liste in der Reihenfolge der abzufahrenden Haltestellen eingetragen. Die richtige Reihenfolge ist nicht für die Linie entscheidend, sondern der Fahrplan, so wie er im Editor erstellt wurde. Die richtige Reihenfolge wird aber benötigt, wenn die Ansagen der Haltestellen passen sollen und die Anzeigen in den Businternen Informationsgeräten. Schreibfehler oder die falsche Reihenfolge führt bei Bussen mit automatischer Haltestellenweiterschaltung nicht zu Fehlern im Bus, da nur der Bus diese Daten ausließt.
Zur Definition: Eine Route ist der Weg von einer Endstelle zu einer anderen, also der wahre Anfangs- und Endpunkt einer Linie in einer Richtung. Zwei Routen sind nötig um einen Umlauf zu definieren. Bestehend aus der Hintour und der Rücktour. Es wird also lediglich eine Route je Liste geschrieben, kein kompletter Umlauf.
Dieser Bereich teilt die Liste in 2 Gruppen auf. Hier gibt es auch wieder zwei festgelegte Befehle. Im ersten Teil [infosystem_trip] befinden sich die Information, der Linie und Routennummer, wo eine Linie beginnt und wo diese endet sowie den IBIS-Code welches Zeil geschildert werden soll. Das hat zur Folge, das es vollkommen ausreichend ist, wenn man nur die Linie und die Route im IBIS einträgt, daß Ziel und die Linie werden dann bereits bei einer Matrix geschildert. Rollbänder müßen hingegen, manuell oder über das Menü eingestellt werden. In der ersten Gruppe befinden sich also die Informationen für die Route und in der zweiten Gruppe [infosystem_busstop_list] die Liste der Haltestellen.
[infosystem_trip] 901 Busplatz-Kieselstein 123 9 ................ [infosystem_busstop_list] 5 Busplatz Busplatz Am Wald Einsteindorf Krankenhaus Bhf Kieselstein
Dies soll nur eine kurze Liste darstellen die rein fiktiv ist, um zu erklären was wo steht. Hier geht es um die Linie 9 und die erste Route. Nun geht es wieder um die Aufschlüsselung der einzelnen Zeilen:
[infosystem_trip] - Dieser Befehl sagt aus, daß hier Infos zur folgenden Route stehen. 901 - Die Linie und die Routennummer. Also Linie 9 und die erste Route. Diese Zahl "kann" auch 6-stellig sein (also 4-stellig, die Liniennummer und 2-stellig für die Route), während die Route 2-stellig sein "muß". Busplatz-Kieselstein - Diese Zeile wird nicht ausgelesen, sie dient nur der Orientierung, von welche Route jetzt die Liste folgt. 123 - IBIS-Code der Zielendstelle (also in diesem Beispiel "Kieselstein"). 9 - Wiederholung der Liniennummer. ................ [infosystem_busstop_list]- Dieser Befehl sagt aus, das hier die Liste der Haltestellen kommt (inclusive Anfangs- und Endhaltestelle) 5 - Anzahl der Haltestellen insgesamt. Beginnend bei der Zahl 1 (nicht NULL) Busplatz - erste Haltestelle (also die Einstiegshaltestelle) Busplatz Am Wald Einsteindorf Krankenhaus Bhf Kieselstein - Endhaltestelle, wo die Fahrkunden aussteigen sollen.
Dies wird nun für jede, im Editor erstellte Route eingegeben, allerdings nur für die Linien, die auch vom Spieler gefahren werden können. KI-Busse brauchen dies nicht, da KI-Busse keine Ansagen, Innenanzeigen oder sonstige Infos tragen, außer die Außenanzeigen (die aber aus der Endstellenliste ausgelesen werden). Die geschriebene Anzahl der Haltestellen muß mit der tatsächlichen Anzahl der eingetragenen Haltestellen übereinstimmen, sonst werden weitere Haltestellen nicht angezeigt oder angesagt, oder die Fahrkunden steigen alle zu früh aus.
Es müßen nicht alle Linien geschrieben werden. einige gesonderte Linien kommen auch ohne Linienlisten aus. Dann gibt es aber weder eine Anzeige noch Ansagen, was z.B. bei kurzeitigen Linien gedacht ist oder Zielen die zu einer bestimmten Zeit nicht in einer Matrix oder Röllbänder existierten, wie zum Beispiel die Linie E522 in Spandau, zwischen November 1989 und Dezember 1990.
Sonstiges: Wenn ein Ziel, über das Steckschild angezeigt werden soll (nur in Omsi 2)
Wenn es keine Anzeigen im Bus geben soll, sondern die Ziele nur über ein Steckschild angezeigt werden sollen, muß der IBIS-Code über eine 4-stellige Nummer verfügen. 4-stellige IBIS-Codes können nicht im IBIS eingetragen werden. Daher bleibt die Anzeige leer, aber die Linie bleibt erhalten und das Steckschild fungiert als Anzeigen-Ersatz, womit auch die Fahrkunden einsteigen.
geschrieben von Tatra 00:16, 5. Sep. 2014 (MEST) Beitrag fertig.