Lade...
 
Skip to main content



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
title=Building test_airport cursor_area=4,5 type=one_click tooltip=Building test_airport created by Simutrans restart=1 icon=BuilderScript



Erklärung

Eintrag Zuweisung Beschreibung
title Building test_airport Anzeige im Dialog
cursor_area 4,5 Anzeige Baufläche
type one_click Typ des Tools
tooltip Building test_airport created by Simutrans Anzeige bei Button im Menü
restart 1
icon BuilderScript Standardcursor
Unable to load the jQuery Sortable Tables feature.



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 Angaben
Tool
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
Unable to load the jQuery Sortable Tables feature.

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


id Bezeichung Beschreibung
0 wt_all
1 wt_road Straße
2 wt_rail Eisenbahn
3 wt_water Wasser
4 wt_overheadlines
5 wt_monorail Einschienenbahn
6 wt_maglev Magnetbahn
7 wt_tram Straßenbahn
8 wt_narrowgauge Schmalspurbahn
16 wt_air Flughafen
128 wt_powerline Stromleitung
255 wt_decoration
Unable to load the jQuery Sortable Tables feature.


IDs der Systemtypes


id Bezeichung Beschreibung
0 st_flat Flachstrecke
1 st_elevated Hochstrecke
1 st_runway Startbahn (mit wt_air)
7 st_tram (mit wt_rail)
255 st_river Fluß (mit wt_water)
255 st_all
Unable to load the jQuery Sortable Tables feature.





IDs der Signaltypen


id Bezeichung Beschreibung
1 ONE_WAY
2 CHOOSE_SIGN Auswahlschild
4 PRIVATE_ROAD privater Weg
8 SIGNAL normales Signal
10 CHOOSE_SIGN Auswahlsignal
16 PRE_SIGNAL Zwei-Block-Signal
64 LONGBLOCK_SIGNAL
128 END_OF_CHOOSE Auswahl Ende
256 PRIORITY_SIGNAL
512 TRAFIC_LIGHT Ampel
Unable to load the jQuery Sortable Tables feature.


Slopenamen


id Bezeichung Beschreibung
0 hm_slope.FL eben
4 hm_slope.N1 Nordhang Höhe 1
8 hm_slope.N2 Nordhang Höhe 2
36 hm_slope.S1 Südhang Höhe 1
72 hm_slope.S2 Südhang Höhe 2
28 hm_slope.E1 Osthang Höhe 1
56 hm_slope.E2 Osthang Höhe 2
12 hm_slope.W1 Westhang Höhe 1
24 hm_slope.W2 Westhang Höhe 2
82 hm_slope.UP Feld höher
83 hm_slope.DOWN Feld tiefer
Unable to load the jQuery Sortable Tables feature.






Anpassung der automatisch erstellten Script Tools




Seite bewerten

Zu dieser Seite haben beigesteuert: Andarix und Frank .
Seite zuletzt geändert: am Freitag März 7, 2025 14:01:30 CET von Andarix.

Page discussion

There are no discussions currently on this page Start discussion