Inhaltsverzeichnis
Squirrel Script Tool Toolkit
Vorwort
Das Toolkit von Himeshi vereinfacht die Erstellung von Squirrel Script Tools für Simutrans, zum bauen von Infrastruktur.Diese Vereinfachung hat allerdings die Einschränkung, das nicht alles was das Squirrel API bei Simutrans ermöglicht auch genutzt werden kann.
Die wichtigste Einschränkung ist, das die Tools mit dem Toolkit bisher keine Rotation ermöglichen, da sie relative Koordinaten ausgehend vom angeklickten Feld benutzen.
Mit Script Tools die das Toolkit nutzen, können mehrere Bauschritte zusammen gefasst werden. Sie können damit Flughäfen und Stationen definieren, die dann immer im gleichen Schema mit einem Klick gebaut werden können. Auch komplexe Brücken können damit definiert werden.
Benutzung
Bei der Benutzung ist darauf zu achten, das der Untergrund den Bau ermöglicht. Das bedeutet, das die zu bebauende Fläche frei sein sollte. Das Gelände sollte passend beschaffen sein, um den Bau fehlerfrei zu ermöglichen.
Auf Grund dieser Bedingungen sollte die Baufläche entsprechend beim Cursor des Tools definiert werden.
Erstellung
Ab Simutrans Version 124.3 ist es möglich, bestehende Bauten auf der Karte mit einem Makro-Tool zu erstellen. Das setzt voraus, das das verwendete Grafikset entsprechend angepasst wurde.
Für die Nutzung dieser Tools, muss das verwendete Grafikset ebenfalls angepasst sein und den Dialog zum auswählen von Script Tools zur Verfügung stellen.
Grundlagen
Script Tools bestehen aus mindestens 2 Dateien (description.tab und tool.nut) in einem eigenen Ordner. Der Ordnername wird auf dem Button zur Auswahl des Tools im Fenster Script Tool Laden angezeigt.
Datei description.tab
In der Datei description.tab werden die Parameter für das Tool definiert. Sie enthält auch den Titel des Tools, was im Fenster Script Tool Laden rechts neben dem Button mit dem Namen angezeigt.Datei tool.nut
In der Datei tool.nut steht der Code für die Anweisungen des Tools. Im Gegensatz zu normalen Script Tools werden bei Tools mit dem Toolkit keine Squirrel Anweisungen direkt verwendet, sondern Befehlsaufrufe die den Namen des Objektes und die relativen Koordinaten ausgehend vom angeklickten Feld enthalten. Hinzu kommen weitere Angaben, die zum Ausführen des jeweiligen Tools in Simutrans benötigt werden.tool.nut mit Toolkit
Copy to clipboard
include("hm_toolkit_v3") function hm_build() { // Anweisungen }
Konfiguration
Die Konfiguration eines Tools erfolgt über die Datei descriptions.tab.
mit Makro-Tool erstelltes Tool description.tab Copy to clipboard
|
|
Erklärung
|
Die Angabe von BuilderScript definiert den verwendeten Cursor für das Tool. Alle per Makro Tool erstellten Script Tools verwenden den gleichen im Grafikset enthaltenen Cursor. Enthält das Grafikset diesen Cursor nicht, dann wird kein Cursor angezeigt.
Anweisungen
Die Anweisungen bei Toolkit Scripten sind recht einfach aufgebaut. Der Objektname entspricht dem unübersetztem Objektnamen.
Die Parameter werden durch Komma getrennt. Die Position [x,y,z] wird relativ ausgehend vom angeklicktem Feld angegeben.
Aufruf(Objektname,Parameter)
Auflistung der möglichen Aufrufe und der notwendigen Parameter
X Pflichtangaben; X optionale AngabenTool |
Aufruf |
Name |
Ausführung |
Position |
Position |
Waytype |
Systemtype |
Signaltype |
Ausrichtung |
Layout |
---|---|---|---|---|---|---|---|---|---|---|
Gelände | hm_slope_tl | X |
X |
|||||||
Weg | hm_way_tl | X |
X |
X |
X |
X |
||||
Halt | hm_station_tl | X |
X |
X |
||||||
Depot | hm_depot_tl | X |
X |
|||||||
Signal | hm_sign_tl | X |
X |
X |
X |
X |
||||
Brücke | hm_bridge_tl | X |
X |
X |
X |
|||||
Prüfung Grund | hm_test_area_tl | X |
X |
|||||||
Haus | tm_house_tl | X |
X |
X |
||||||
Grund | hm_ground_tl | X |
X |
Es ist ratsam die optionalen Angaben auch zu machen. Wenn der angegeben Objektname nicht verfügbar ist, wird dadurch ein Ersatzobjekt gesucht. Wird weder das angegeben Objekt noch ein Ersatzobjekt gefunden, dann bricht das Tool ab und der vollständige Bau schlägt fehl.
hm_test_area_tl ist keine Baufunktion sondern eine Prüffunktion. Sie kann vor den Bauaufrufen genutzt werden um zu prüfen ob der Grund eben ist. Wenn ein Einzelnes Feld geprüft werden soll, dann ist bei beiden Positionen das gleiche Feld einzutragen.
Parametertabellen
IDs der Waytypes
|
|
IDs der Systemtypes
|
IDs der Signaltypen
|
|
Slopenamen
|