Das Problem: Normalerweise lassen sich Verkehrsnetzwerke gar nicht oder wenn, dann nur äußerst mühsam über Tunnelportalen platzieren.
Die Lösung: Wenn man einmal verstanden hat, wie es geht, ist es mit relativ geringem Aufwand möglich, die NHP Hole Digger and Raiser Lots von Shadow Assassin bzw. die Hole Digging Lots von smoncrie so zu modifizieren, dass sie den Höhen der verschiedenen Tunnelportale entsprechen.


Hinweis: Um das Tutorial nachzuvollziehen brauchst du
TEIL I - Wie man Hole Digger-/ Raiser-Lots modifiziert
Guckt man in den Ordner, in denen die DRLs gespeichert sind, finden sich eine Reihe von Dateien, nämlich für jeden DRL genau eine. Jede dieser Dateien folgt im Prinzip dem gleichen Aufbau, für das weitere Verständnis ist es jedoch sinnvoll, zunächst denjenigen Lot mit dem ExemplarEditor des SC4Tools bzw. dem Reader zu öffnen, der den Boden um 15m anhebt:
Ground_lifter.SC4Lot (smoncrie)
15m Raiser... (ShadowAssassin)
Im exemplar-file für die LotConfigurations findet man den Eintrag LotConfigPropertyLotObject und dort als fünften Wert 0x000F0000. Gefunden? So sollte es im ExemplarEditor des SC4Tools bzw. Reader jetzt aussehen:




Die 0x am Anfang zeigt lediglich an, dass es sich um einen Wert in hexadezimaler Schreibweise handelt – F im Hexadezimalsystem entspricht der 15 im Dezimalsystem. Sieht ganz so aus, als sind wir auf der richtigen Spur!
Fragt sich nur, warum die Ziffer 0xF = 15 da so verloren in der Mitte steht. Ganz einfach: die letzten vier Ziffern entsprechen den Nachkommastellen einer Dezimalzahl, nur sind die Nachkommastellen im Hexadezimalsystem keine Zehntel, Hundertstel usw. sondern 16tel, 256stel usw.
Beispiel 1:
Einen Lot, der den Boden um 10,25m anhebt, erstellt man wie folgt:
Die 10 im Dezimalsystem entspricht der Ziffer 0xA im Hexadezimalsystem; daraus folgt für eine Bodenanhebung von 10m: 0x000A0000.
Da 1/16 = 0,0625 und 4/16 = 0,25 folgt für eine Bodenanhebung von 10,25m: 0x000A4000.
Und wie geht das mit dem Absenken? Hier wird’s leider etwas komplizierter...
Zunächst wie oben beschrieben denjenigen Lot öffnen, der den Boden um 15m absenkt. Im entsprechenden LotConfigPropertyLotObject-Eintrag findet sich jetzt der Wert 0xFFF10000
Um zu verstehen, wie es zu diesem Wert kommt, kann man sich folgende Frage stellen: Wie definiert man negative Zahlen ohne dabei ein Minuszeichen zu verwenden? Antwort: Indem man einfach einen für den Anwendungszweck ausreichend großen Wert als 0 definiert. Hört sich verrückt an, oder? Ich will versuchen das an einem Beispiel zu veranschaulichen.
Stellen wir uns vor, wie definieren 10000 als unsere 0. Daraus ergibt sich:
10002 = 2
10001 = 1
10000 = 0
9999 = -1
9998 = -2
usw.
Für unseren Anwendungszweck können wir uns nun aber getrost mit 4 Ziffern zufrieden geben, schließlich würde kein vernünftiger Mensch auf die Idee kommen, sein Terrain um mehrere tausend Meter zu erhöhen oder zu senken!
Übersetzt man diese Überlegungen ins Hexadezimalsystem ergibt sich dann:
0x0002 = 2
0x0001 = 1
0x0000 = 0
0xFFFF = -1
0xFFFE = -2
...
0xFFF5= -11
....
0xFFF1 = -15
Soweit so gut, allerdings hat diese Methode zudem den kleinen Nebeneffekt, das sich jetzt auch die Nachkommastellen etwas anders verhalten, als wir es normalerweise gewohnt sind, diese werden nämlich genauso wie bei den positiven Werten zu der Zahl, die mit den ersten vier Ziffern abgebildet wird ADDIERT!
Beispiel 2:
Für einen Lot, der den Boden um 10,25m absenken soll, orientiert man sich daher zunächst einmal an der nächsthöheren Ganzzahl, also 11, daraus folgt:
0xFFF50000 für einen Lot, der sich mit -11m auswirkt, da 0x10-0xB = 0x5.
Um nun auf -10,25 zu kommen, muss man jetzt noch 0,75 = 3/4 = 12/16 addieren; da der Zahl 12 im Hexadezimalsystem die Ziffer 0xC entspricht ergibt sich:
0xFFF5C000 für einen Lot, der das Terrain um 10,25m absenkt, hurra!
Teil II – Wie man Netzwerke über Tunnelportalen platziert
Mit der Methode, die im ersten Teil des Tutorials vorgestellt wurde, sollte es jetzt eigentlich kein Problem mehr sein, die Terrainhöhe an Tunnelportale anzupassen. Noch mal zur Erinnerung: Entscheidend für die Funktionsweise der DRLs ist der fünfte Wert beim Eintrag LotConfigPropertyLotObject im exemplar-file für die LotConfigurations. Dieser 8-stellige Hexadezimalwert kann entweder mit dem Exemplar-Editor des SCTools oder alternativ mit dem Reader von ilive anhand nachfolgender Übersicht verändert werden.
Beispiel: Autobahntunnel
Lot entsprechend modifizieren (hier: 0x000B4200), Gelände vorbereiten und Tunnel ziehen

Auf einer Seite lässt sich jetzt ein Netzwerk ziehen, auf der anderen allerdings nicht...

Ist aber zum Glück kein Problem:


jetzt noch die Verbindungsstücke bulldozern...

....fertig!
-------------------------------------------------------------------------------------
P.S.: Kritik und Verbesserungsvorschläge sind natürlich ausdrücklich erwünscht und immer willkommen!
P.S.S.: Natürlich kann man die DRLs auch für ganz andere Sachen verwenden - dieses Bild hat mich auf die Idee (danke dafür!) gebracht, mal Folgendes zu probieren:


Die Lösung: Wenn man einmal verstanden hat, wie es geht, ist es mit relativ geringem Aufwand möglich, die NHP Hole Digger and Raiser Lots von Shadow Assassin bzw. die Hole Digging Lots von smoncrie so zu modifizieren, dass sie den Höhen der verschiedenen Tunnelportale entsprechen.


Hinweis: Um das Tutorial nachzuvollziehen brauchst du
- die Digger- bzw. Raiser-Lots (im Folgenden: DRLs) deiner Wahl,
- Grundkenntnisse zum Hexadezimalsystem und
- entweder SC4Tool oder den Reader von ilive auf deinem Rechner
TEIL I - Wie man Hole Digger-/ Raiser-Lots modifiziert
Guckt man in den Ordner, in denen die DRLs gespeichert sind, finden sich eine Reihe von Dateien, nämlich für jeden DRL genau eine. Jede dieser Dateien folgt im Prinzip dem gleichen Aufbau, für das weitere Verständnis ist es jedoch sinnvoll, zunächst denjenigen Lot mit dem ExemplarEditor des SC4Tools bzw. dem Reader zu öffnen, der den Boden um 15m anhebt:
Ground_lifter.SC4Lot (smoncrie)
15m Raiser... (ShadowAssassin)
Im exemplar-file für die LotConfigurations findet man den Eintrag LotConfigPropertyLotObject und dort als fünften Wert 0x000F0000. Gefunden? So sollte es im ExemplarEditor des SC4Tools bzw. Reader jetzt aussehen:




Die 0x am Anfang zeigt lediglich an, dass es sich um einen Wert in hexadezimaler Schreibweise handelt – F im Hexadezimalsystem entspricht der 15 im Dezimalsystem. Sieht ganz so aus, als sind wir auf der richtigen Spur!
Fragt sich nur, warum die Ziffer 0xF = 15 da so verloren in der Mitte steht. Ganz einfach: die letzten vier Ziffern entsprechen den Nachkommastellen einer Dezimalzahl, nur sind die Nachkommastellen im Hexadezimalsystem keine Zehntel, Hundertstel usw. sondern 16tel, 256stel usw.
Beispiel 1:
Einen Lot, der den Boden um 10,25m anhebt, erstellt man wie folgt:
Die 10 im Dezimalsystem entspricht der Ziffer 0xA im Hexadezimalsystem; daraus folgt für eine Bodenanhebung von 10m: 0x000A0000.
Da 1/16 = 0,0625 und 4/16 = 0,25 folgt für eine Bodenanhebung von 10,25m: 0x000A4000.
Und wie geht das mit dem Absenken? Hier wird’s leider etwas komplizierter...
Zunächst wie oben beschrieben denjenigen Lot öffnen, der den Boden um 15m absenkt. Im entsprechenden LotConfigPropertyLotObject-Eintrag findet sich jetzt der Wert 0xFFF10000

Um zu verstehen, wie es zu diesem Wert kommt, kann man sich folgende Frage stellen: Wie definiert man negative Zahlen ohne dabei ein Minuszeichen zu verwenden? Antwort: Indem man einfach einen für den Anwendungszweck ausreichend großen Wert als 0 definiert. Hört sich verrückt an, oder? Ich will versuchen das an einem Beispiel zu veranschaulichen.
Stellen wir uns vor, wie definieren 10000 als unsere 0. Daraus ergibt sich:
10002 = 2
10001 = 1
10000 = 0
9999 = -1
9998 = -2
usw.
Für unseren Anwendungszweck können wir uns nun aber getrost mit 4 Ziffern zufrieden geben, schließlich würde kein vernünftiger Mensch auf die Idee kommen, sein Terrain um mehrere tausend Meter zu erhöhen oder zu senken!
Übersetzt man diese Überlegungen ins Hexadezimalsystem ergibt sich dann:
0x0002 = 2
0x0001 = 1
0x0000 = 0
0xFFFF = -1
0xFFFE = -2
...
0xFFF5= -11
....
0xFFF1 = -15
Soweit so gut, allerdings hat diese Methode zudem den kleinen Nebeneffekt, das sich jetzt auch die Nachkommastellen etwas anders verhalten, als wir es normalerweise gewohnt sind, diese werden nämlich genauso wie bei den positiven Werten zu der Zahl, die mit den ersten vier Ziffern abgebildet wird ADDIERT!
Beispiel 2:
Für einen Lot, der den Boden um 10,25m absenken soll, orientiert man sich daher zunächst einmal an der nächsthöheren Ganzzahl, also 11, daraus folgt:
0xFFF50000 für einen Lot, der sich mit -11m auswirkt, da 0x10-0xB = 0x5.
Um nun auf -10,25 zu kommen, muss man jetzt noch 0,75 = 3/4 = 12/16 addieren; da der Zahl 12 im Hexadezimalsystem die Ziffer 0xC entspricht ergibt sich:
0xFFF5C000 für einen Lot, der das Terrain um 10,25m absenkt, hurra!
Teil II – Wie man Netzwerke über Tunnelportalen platziert
Mit der Methode, die im ersten Teil des Tutorials vorgestellt wurde, sollte es jetzt eigentlich kein Problem mehr sein, die Terrainhöhe an Tunnelportale anzupassen. Noch mal zur Erinnerung: Entscheidend für die Funktionsweise der DRLs ist der fünfte Wert beim Eintrag LotConfigPropertyLotObject im exemplar-file für die LotConfigurations. Dieser 8-stellige Hexadezimalwert kann entweder mit dem Exemplar-Editor des SCTools oder alternativ mit dem Reader von ilive anhand nachfolgender Übersicht verändert werden.
Code:
Bodenanheber Lochgräber
Land-/Einbahnstraße: 0x000DCD00 0xFFF23300
Allee: 0x00078200 0xFFF87E00
Autobahn: 0x000B4200 0xFFF4BE00
Erhöhte Autobahn: 0x00178200 0xFFE87E00
Eisenbahn: 0x00074200 0xFFF8BE00
Monorail: 0x00166800 0xFFE99800
Eisenbahnviadukt: 0x000F8000 0xFFF08000
Straßenüberführung: 0x000F0000 0xFFF10000
Beispiel: Autobahntunnel
Lot entsprechend modifizieren (hier: 0x000B4200), Gelände vorbereiten und Tunnel ziehen

Auf einer Seite lässt sich jetzt ein Netzwerk ziehen, auf der anderen allerdings nicht...


Ist aber zum Glück kein Problem:


jetzt noch die Verbindungsstücke bulldozern...

....fertig!
-------------------------------------------------------------------------------------
P.S.: Kritik und Verbesserungsvorschläge sind natürlich ausdrücklich erwünscht und immer willkommen!
P.S.S.: Natürlich kann man die DRLs auch für ganz andere Sachen verwenden - dieses Bild hat mich auf die Idee (danke dafür!) gebracht, mal Folgendes zu probieren:


Zuletzt bearbeitet: