Blog Articles

From now, the TrainzDepot is in a read-only mode, see our announcement). From now, our new place-to-go, https://www.trainz.de is available.
Since 28.02.2019 personal data (e.g. profile contents, private messagers) has been deleted.

    Guten Tag!


    Ja ? richtig, es gibt schon wieder gleich nach einigen Stunden einen neuen Teil!
    Wir haben im letzten Teil die grundlegenden Variablen, also die Datentypen besprochen. Mir kam nun die Idee noch die Methoden in einem Teil hinterherzugeben.


    Schutzklassen
    Um mit den Funktionen im Script anfangen zu können, benötigen wir aber noch ein kleines bisschen was an Wissen. Dabei ist die Rede von den sog. ?Schutzklassen?. Bitte nicht erschrecken, die Bezeichnung ?Schutzklasse? ist was ganz anderes, als das, was wir bisher als ?Klasse? kennengelernt haben.
    Es sind nämlich einfach bloß eine reihe Schlüsselwörter, die uns den Umgang mit unseren Methoden und Variablen erleichtern.


    Man stelle sich folgendes einmal vor:
    Es ist ja nur logisch, daß irgendetwas von ?Außen? auf unsere Klasse zugreifen muß um dort die Methoden, also die Funktionen ausführen zu können. Da wir aber vielleicht nicht alles ?freigeben? möchten und dies an manchen Stellen auch nicht sollten, gibt es sowohl im

    Read More

    Liebe Leser/innen,


    das Weihnachtsfest kommt immer näher, das Jahr neigt sich dem Ende. Draußen ist es kalt und nass und somit einfach perfekt, um den Abend oder einen Nachmittag mit Trainz zu verbringen und etwas neues zu lernen.


    Darum möchte ich euch heute ein weiteres Kapitel unserer Scripting-Reihe schenken. Ich weiß, es ist im Moment recht trocken, was Beispielscripte angeht, allerdings muß ich erst einmal zusehen, daß ich eine gewisse Grundlage schaffe. Im neuen Jahr wird es dann richtig los gehen.
    Es kamen Wünsche aus dem Auran Forum zum Thema Animationen, denen ich natürlich gerne nachkommen werde, sobald ich hier alles wichtige vorab besprochen habe.


    Heute wird es darum gehen Datentypen, also im Allgemeinen Variablen (Member!) zu verstehen.
    Dann gehts mal los!


    Variablen
    Wer sich mit dem Wort ?Variable? wieder an seine Schulzeit in den Mathematikunterricht zum Thema ?Algebra? zurück erinnert fühlt, liegt richtig. Egal, wie schwer oder leicht es damals gefallen ist, die

    Read More

    In letzter Zeit habe ich hier nicht wirklich viel getan, sodass ich jetzt einmal als eine Kleinigkeit wieder etwas zum Thema ?Auran Game Script? von mir gebe.
    Und zwar geht es heute um Klassen. Dabei werde ich die Idee von Klassen, wie man sie aus der Softwareentwicklung her kennt, erklären. Denn: In Trainz haben Klassen genau die gleiche Funktion!


    Die Definition einer Klasse
    In fast jedem guten Lehrbuch zu egal welcher Programmiersprache steht ein Satz, der so oder so ähnlich lautet: ?Eine Klasse ist nichts weiter, als ein Objekt.?


    Was kann aber der Laie daraus gewinnen? ? Genau: Noch gar nichts.


    Wir kennen Klassen bereits von unseren Standard-Scripten:
    Jedes Objekt in Trainz gehört einer sog. ?Kind? an (zu Deutsch sinngemäß etwas wie: Objekt-Kategorie).
    Und da wird es jetzt interessant!


    Wir können also nun eine Verbindung zwischen einer Klasse (einem Objekt) und einer Objekt-Kategorie bilden. Auch, wenn ein Softwareentwickler mir für den folgenden Satz den Vogel zeigte, erfüllt

    Read More

    Im vergangenden Beitrag wurde von mir die sog. Soup vorgestellt. Es wurde angeregt, dass ich da noch ein wenig mehr zu erkläre, was ich hiermit tun möchte.


    Eine Soup in Trainz ist nichts anderes als eine Art ?Datenbank? in Form einer Tabelle. Diese Tabelle besitzt zwei Spalten und so viele Zeilen, wie Daten in der Tabelle sind.
    In unserem letzten Beispiel sähe diese Tabelle so aus:


    Name der Eigenschaft Wert der Eigenschaft
    IsPoleVisible true oder false (je nach Einstellung, die der Benutzer im Editor vorgenommen hat)



    Unsere Soup hatte also nur einen Werte, den wir gespeichert haben. Diese Art Datenbank wird von Trainz immer zu der Map oder der Aufgabe gelegt, je nachdem, wie die Layer verteilt sind, sodass wir die Wert auch immer wieder erfolgreich laden können. Mehr gibt es zur Soup eigentlich nicht zu sagen. Ich hoffe, dass deren Funktion und Aufgabe dadurch wieder ein wenig klarer geworden ist.

    Read More

    Heute geht es richtig los. Wir steigen in die Materie ein!
    Thema wird sein, wie sich Meshes eines Objektes ein- oder ausschalten lassen. Das klingt zunächst einfach, ist aber noch nicht alles. Gezeigt wird das ganze an einem Verkehrszeichen, dessen Quelldateien ich euch zur Verfügung stellen werde. Dies beinhaltet einmal:

    • Das SketchUp-Modell des Schildes
    • Das Schild als 3ds-Datei
    • Die Textur des Schildes
    • Das Script
    • Die config.txt
    • Das Thumbnail (Vorschaubild im Content Manager)
    • Das fertige Objekt als CDP-Datei

    Alles zusammen habe ich in eine Zip-Datei gepackt (siehe unten).


    Ziel wird es sein, durch das Einstellen des Benutzers im Editor-Modus den Mast des Schildes ein- oder auszublenden. Ich habe mir überlegt, dass ich die config.txt dazu nicht auch einmal erläutern werde. Ich werde mich bei den Erläuterungen nur auf die Dinge fokussieren, die für das Script von Bedeutung sind.
    Alles in allem sieht unsere TODO-Liste so aus:

    • Vorbereitung der config.txt für das spätere Einbauen des Scripts

    Read More

    Ich werde euch nun etwas über das Scripting in Trainz erklären. Man hört zwar immer, dass es besser sei, man bringe Vorkenntnisse aus der ?richtigen? Welt der Programmierung mit, aber unbedingt brauchen tut man sie auch nicht. Zu aller erst werde ich erklären, womit man am meistens arbeitet und was man damit schon alles machen kann. Eine Wichtige Seite, die man sich unbedingt abspeichern sollte, ist das TrainzDEV-Wiki (http://online.ts2009.com/mediaWiki/index.php/Scripting). Dort stehen alle Funktionen, die Trainz mitbringt. Was das genau heißt, erkläre ich später.


    Wie ist ein Script aufgebaut?
    Ein Trainz-Script ist eine Datei mit der Endung ?.gs? (es gibt auch GSE, aber ich finde die Verschlüsselung von Scripten nicht gut, weshalb ich dazu hier auch nichts erklären werde).
    Man kann diese Datei mit einem ganz normalen Editor erstellen (es geht sogar der in Windows eingebaute Editor). Ich verwende immer Notepad++ mit Syntaxhighlightning, was aber auch nicht zwingend erforderlich ist.

    Read More

    Wieso ich hier länger nichts geschrieben - gebloggt - habe, ist ganz einfach zu erklären. Ich hab all meine Zeit zum Streckenbau genutzt. ^^


    Nun möchte ich auch mal Bilder zeigen, welche was anderes zeigen als sonst, nämlich unendliche Weiten! Okay, nicht ganz, aber der Überlandabschnitt der Linie 3 ist ganz anders als das sonst übliche und beginnt wenige Stationen hinterm Robert-Daum-Platz. Genauer gesagt am "Speckgürteldamm"

    Speckgürteldamm, Blickrichtung Robert-Daum-Platz, mit Strecken für Bus und O-Bus


    Weiter geht es dann zur Haltestelle Zwetschkauer Höfe, mit Erdbeerselbstpflückfeld und dem Tramburger Hopfgut.

    Bei einer Vmax von 60km/h säumen unbeschrankte BÜs die Strecke. Auch Fachwerkhäuser sind hier zu sehen.



    Das Tramburger Hopfgut. Dahinter die Burg Hohenfinow.



    Die Haltestelle Zwetschkauer Höfe. Überlandbusse enden hier.


    Der weiter an Strohballen geht es in den Ort Niederfinow...

    Am Kirchplatz Niederfinow findet im Winter ein klassischer Weihnachtsmarkt statt. Aber das hat

    Read More

    Nachdem ich das von @MaxxTrains empfohlene Buspaket mit O405N Fahrzeugen installiert habe, fing ich nun an, alles für den Einsatz dieser Busse vorzubereiten. Diese Busse sind nämlich fahrbar, sodass ich heute einige Zeit damit verbracht habe, an verschiedenen Stellen meiner Map unsichtbare Gleise zu verlegen und Haltepunkte zu setzen. Zum Einsatz kommen die Busse leider noch nicht, denn leider haben sie eine kaputte Engine, sodass sie extrem langsam beschleunigen, da muss ich noch rumprobieren. An dieser Stelle kann ich jetzt Bilder von den roten Invisigleisen zeigen, aber ich denke, das ist nicht nötig :P .


    Apropos Busse: Wenn ich das richtig gelesen habe, darf man die weiterverwenden, sofern man sie nicht auf die DLS hochlädt. Ich werd das nochmal checken, aber wenn es stimmt, würde es entsprechend ein Repaintpack mit Tramburger Design geben, doch wenn ich erstmal am Malern bin, bin ich auch für Wünsche offen, zumal die O405(G)N/2 weit verbreitet waren. ^^ (Die Busse bekämen dann

    Read More

    Heute möchte ich euch eine neue Funktion für den Großteil meiner Objekte für das xBUe-System vorstellen


    Beginnen möchte ich mit einer Problematik, welche auf dem folgenden Bild gut erkennbar ist.



    Wie man sieht, stehen bei korrekter Positionierung der Objekte die Betonsockel frei.
    Bisher musste man sich hier relativ aufwändig mit Böschungssplines behelfen.



    Die Lösung sind diese kleinen Böschungs-Hügel, welche den Sockel umgeben.



    Da eine händische Positionierung aber auch wieder zu zusätzlichem Aufwand geführt hätte, konnte ich dank Unterstützung von callavsg (von ihm stammen die Skriptzeilen nämlich) das ganze etwas schöner lösen.



    Die Objekte lassen sich jetzt einfach in einem Arbeitsgang mit der Objekt-Benennung einblenden und auswählen. Zur Verfügung stehen die gängigsten vier Schotter-Varianten sowie eine Grastextur.



    Netter Nebeneffekt ist, dass man durch die Überschrift jetzt auch erkennt, von welchem Objekt das aktuell geöffnete Konfigurationsfenster überhaupt

    Read More

    Der O-Bus in Tramburg ist auch immer wieder auf meiner Map zu sehen, mal entlang der Tram, mal nur als Kreuzung.
    Blieb nur das Problem, woher einen O-Bus? Gefunden habe ich leider hauptsächlich russische Modelle, welche nicht wirklich ins Bild passen würden. So kam mir nun die Idee, doch einfach nur den Stromabnehmer zu bauen und ihn einfach statischen Bussen aufzusetzen. Da ich nun kein Objektbauer bin und bis ich so ein Objekt finde, hier meine Übergangslösung.


    Verwendet wurde das Objekt "Bausatz01: Pfeiler", welches auf 63° geneigt und 2,95 angehoben wurde. Nun sind meine beiden O-Bus Passagen erstmal provisorisch unter Strom trainzdepot.net/index.php?attachment/10500/trainzdepot.net/index.php?attachment/10501/


    Ich kann jetzt nicht behaupten, es sieht fantastisch aus, doch man kann er erahnen, dass es sich um einen O-Bus handeln soll.
    Wird wie gesagt bei Gelegenheit ersetzt.

    Read More