System-Makros: Unterschied zwischen den Versionen

Aus OMSIWiki
Wechseln zu:Navigation, Suche
(Script-Texturen (gültig für Szenerie- und Fahrzeugscripts, nur OMSI 2))
(Fahrzeuge)
Zeile 169: Zeile 169:
 
| align="left" |''Beschreibung''
 
| align="left" |''Beschreibung''
 
| align="left" |''Beispiel''
 
| align="left" |''Beispiel''
 +
| align="left" |''ab OMSI-Vs.''
 
|-
 
|-
 
| align="left" |GetRouteIndex
 
| align="left" |GetRouteIndex
Zeile 175: Zeile 176:
 
| align="left" |Sucht in der Hofdatei die zum gegebenen Route-Code gehörigen Route-Index.
 
| align="left" |Sucht in der Hofdatei die zum gegebenen Route-Code gehörigen Route-Index.
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetBusstopString
 
| align="left" |GetBusstopString
Zeile 181: Zeile 183:
 
| align="left" |Liefert aus der Hofdatei den stack0'ten String der stack1'ten Haltestelle. Beide Indizes sind [[http://de.wikipedia.org/wiki/Z%C3%A4hlen#Z.C3.A4hlen_ab_0 nullbasiert]].
 
| align="left" |Liefert aus der Hofdatei den stack0'ten String der stack1'ten Haltestelle. Beide Indizes sind [[http://de.wikipedia.org/wiki/Z%C3%A4hlen#Z.C3.A4hlen_ab_0 nullbasiert]].
 
| align="left" |5 2 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 2 der Haltestelle Nr. 5
 
| align="left" |5 2 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 2 der Haltestelle Nr. 5
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTerminusString
 
| align="left" |GetTerminusString
Zeile 187: Zeile 190:
 
| align="left" |Liefert aus der Hofdatei den stack0'ten String der stack1'ten Endhaltestelle (Terminus). Beide Indizes sind [[http://de.wikipedia.org/wiki/Z%C3%A4hlen#Z.C3.A4hlen_ab_0 nullbasiert]].
 
| align="left" |Liefert aus der Hofdatei den stack0'ten String der stack1'ten Endhaltestelle (Terminus). Beide Indizes sind [[http://de.wikipedia.org/wiki/Z%C3%A4hlen#Z.C3.A4hlen_ab_0 nullbasiert]].
 
| align="left" |7 3 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 3 der Endhaltestelle Nr. 7
 
| align="left" |7 3 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 3 der Endhaltestelle Nr. 7
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetRouteTerminusIndex
 
| align="left" |GetRouteTerminusIndex
Zeile 193: Zeile 197:
 
| align="left" |Liefert den zur vorgegebenen Route zugehörigen Terminus/Endhaltestellen-Index. Über ''GetTerminusString'' kann dann wiederum der Name der Endhaltestelle geholt werden.
 
| align="left" |Liefert den zur vorgegebenen Route zugehörigen Terminus/Endhaltestellen-Index. Über ''GetTerminusString'' kann dann wiederum der Name der Endhaltestelle geholt werden.
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTerminusIndex
 
| align="left" |GetTerminusIndex
Zeile 199: Zeile 204:
 
| align="left" |Sucht in der Hofdatei die zum gegebenen Terminus-Code gehörigen Terminus-Index.
 
| align="left" |Sucht in der Hofdatei die zum gegebenen Terminus-Code gehörigen Terminus-Index.
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTerminusCode
 
| align="left" |GetTerminusCode
Zeile 205: Zeile 211:
 
| align="left" |Gibt den in der Hofdatei zum gegebenen Terminus-Index gehörigen Terminus-Code zurück und ist somit die Umkehrfunktion von ''GetTerminusIndex''.
 
| align="left" |Gibt den in der Hofdatei zum gegebenen Terminus-Index gehörigen Terminus-Code zurück und ist somit die Umkehrfunktion von ''GetTerminusIndex''.
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetBusstopCount
 
| align="left" |GetBusstopCount
Zeile 211: Zeile 218:
 
| align="left" |Gibt die Anzahl der Haltestellen der per Index gewählten Route zurück. Da es sich hier um eine Anzahl handelt, ist diese auch nicht nullbasiert - hat die Route also zwei Haltestellen, ist auch das Ergebnis dieser Funktion "2".
 
| align="left" |Gibt die Anzahl der Haltestellen der per Index gewählten Route zurück. Da es sich hier um eine Anzahl handelt, ist diese auch nicht nullbasiert - hat die Route also zwei Haltestellen, ist auch das Ergebnis dieser Funktion "2".
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GiveChangeCoin
 
| align="left" |GiveChangeCoin
Zeile 217: Zeile 225:
 
| align="left" |Sorgt für das Auswerfen der Münze mit dem Index Stack0, z.B. beim Geldwechsler-Script.
 
| align="left" |Sorgt für das Auswerfen der Münze mit dem Index Stack0, z.B. beim Geldwechsler-Script.
 
| align="left" |2 (M.V.GiveChangeCoin) wirft die Münze mit dem Index 2 aus.
 
| align="left" |2 (M.V.GiveChangeCoin) wirft die Münze mit dem Index 2 aus.
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetRouteBusstopIdent
 
| align="left" |GetRouteBusstopIdent
Zeile 223: Zeile 232:
 
| align="left" |Liefert den Ident der Stack0'ten Bushaltestelle in der Route Stack1. Wiederum nullbasierte Indizes.
 
| align="left" |Liefert den Ident der Stack0'ten Bushaltestelle in der Route Stack1. Wiederum nullbasierte Indizes.
 
| align="left" |3 6 (M.V.GetRouteBusstopIdent) liefert also den Index der 6. Bushaltestelle der 3. Route.
 
| align="left" |3 6 (M.V.GetRouteBusstopIdent) liefert also den Index der 6. Bushaltestelle der 3. Route.
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetBusstopIndex
 
| align="left" |GetBusstopIndex
Zeile 229: Zeile 239:
 
| align="left" |Sucht den Index der über den Ident bezeichneten Bushaltestelle.
 
| align="left" |Sucht den Index der über den Ident bezeichneten Bushaltestelle.
 
| align="left" |"Reimerweg" (M.V.GetBusstopIndex) liefert den Index der Haltestelle Reimerweg.
 
| align="left" |"Reimerweg" (M.V.GetBusstopIndex) liefert den Index der Haltestelle Reimerweg.
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTBusstopCount
 
| align="left" |GetTTBusstopCount
Zeile 235: Zeile 246:
 
| align="left" |Liefert die Anzahl der Haltestellen des aktuellen Fahrplans
 
| align="left" |Liefert die Anzahl der Haltestellen des aktuellen Fahrplans
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTBusstopIndex
 
| align="left" |GetTTBusstopIndex
Zeile 241: Zeile 253:
 
| align="left" |Liefert den Index der aktuellen Haltestelle des aktuellen Fahrplans
 
| align="left" |Liefert den Index der aktuellen Haltestelle des aktuellen Fahrplans
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTTerminusIndex
 
| align="left" |GetTTTerminusIndex
Zeile 247: Zeile 260:
 
| align="left" |Liefert den Index der Endhaltestelle des aktuellen Fahrplans
 
| align="left" |Liefert den Index der Endhaltestelle des aktuellen Fahrplans
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTLineString
 
| align="left" |GetTTLineString
Zeile 253: Zeile 267:
 
| align="left" |Liefert die Liniennummer des aktuellen Fahrplans
 
| align="left" |Liefert die Liniennummer des aktuellen Fahrplans
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTDelay
 
| align="left" |GetTTDelay
Zeile 259: Zeile 274:
 
| align="left" |Liefert die aktuelle Verspätung gemäß aktivem Fahrplan
 
| align="left" |Liefert die aktuelle Verspätung gemäß aktivem Fahrplan
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTBusstopName
 
| align="left" |GetTTBusstopName
Zeile 265: Zeile 281:
 
| align="left" |Liefert den Namen der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |Liefert den Namen der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTBusstopDep
 
| align="left" |GetTTBusstopDep
Zeile 271: Zeile 288:
 
| align="left" |Liefert die Abfahrtszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |Liefert die Abfahrtszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTTBusstopArr
 
| align="left" |GetTTBusstopArr
Zeile 277: Zeile 295:
 
| align="left" |Liefert die Ankunftszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |Liefert die Ankunftszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTicketName
 
| align="left" |GetTicketName
Zeile 283: Zeile 302:
 
| align="left" |Liefert den Namen der über Index indizierten Fahrkartentype (nullbasiert)
 
| align="left" |Liefert den Namen der über Index indizierten Fahrkartentype (nullbasiert)
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|-
 
|-
 
| align="left" |GetTicketValue
 
| align="left" |GetTicketValue
Zeile 289: Zeile 309:
 
| align="left" |Liefert den Preis der über Index indizierten Fahrkartentype (nullbasiert)
 
| align="left" |Liefert den Preis der über Index indizierten Fahrkartentype (nullbasiert)
 
| align="left" |-
 
| align="left" |-
 +
| align="left" |1.00
 
|}
 
|}
  
 
[[Kategorie:Nachschlagewerk für Addon-Entwickler]]
 
[[Kategorie:Nachschlagewerk für Addon-Entwickler]]

Version vom 11. Februar 2014, 19:45 Uhr

Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!

System-Makros sind spezielle im Hauptprogramm hinterlegte Makros, welche vom Skript mit dem Befehl (M.V.makroname) aufgerufen werden. Sie bekleiden verschiedene Funktionen und haben verschiedene Ein- und Ausgabeparameter.

Script-Texturen (gültig für Szenerie- und Fahrzeugscripts, nur OMSI 2)

Siehe auch Datei program\callbacklist_scripttex.txt!

Makroname Input-Stackwerte Output-Stackwerte Beschreibung
STNewTex Stack0: Textur-Index, entspricht [scripttexture]-Reihenfolge in model.cfg - Scripttextur initialisieren
STLock Stack0: Textur-Index - Scripttextur "locken", d.h. Lese- und Schreibzugriff erlauben
STUnlock Stack0: Textur-Index - Scripttextur "unlocken", d.h. Lese- und Schreibzugriff zurücknehmen und zum Rendern freigeben
STFilter Stack0: Textur-Index - Mipmaps erzeugen, d.h. Untervarianten in kleineren Auflösungen. Dies passiert üblicherweise nach dem Unlock, keinesfalls jedoch zwischen Lock und Unlock. Geschieht es nicht, kommt es zu Darstellungsfehlern in größeren Entfernungen ("überscharf", flimmern)
STSetColor Stack4: Textur-Index

Stack3: Alpha

Stack2: Rot

Stack1: Grün

Stack0: Blau

- Setzt die Farbe, mit dem weitere Operationen vorgenommen werden sollen
STDrawPixel Stack2: Textur-Index

Stack1: X

Stack0: Y

- Setzt die Farbe des mit X und Y angegebenen Pixels auf den vorgewählten Farbwert
STDrawRect Stack4: Textur-Index

Stack3: X1

Stack2: Y1

Stack1: X2

Stack0: Y2

- Zeichnet ein ausgefülltes Rechteck in der vorgewählten Farbe zwischen den angegebenen Koordinatenpaaren
STTextOut Stack5: Textur-Index

Stack4: X1

Stack3: Y1

Stack2: Font-Index

Stack1: Vollfarbe (oder nicht?)

Stack0: Sperr-Pixel

StringStack0: Zu schreibender Text

- Schreibt einen Text auf die Textur. Der Font-Index kann mittels GetFontIndex geholt werden. Vollfarbe gibt an, dass der Text in der aktuell vorgewählten Farbe geschrieben werden soll, andernfalls werden die Symbole in der Farbe der Schriftart geschrieben.
GetFontIndex StringStack0: Font-Name Stack0: Font-Index Zur Verwendung für STTextOut
TextLength Stack0: Font-Index

StringStack0: Zu prüfender Text

Stack0: Länge in Pixeln Berechnet die Länge des übergebenen Textes in der gewählten Schriftart
STReadPixel StringStack2: Textur-Index

StringStack1: X

StringStack0: Y

- Setzt die vorgewählte Farbe auf die Farbe des angegebenen Pixels
STCopyColor Stack1: von-Textur-Index

StringStack0: nach-Textur-Index

- Die vorgewählte Farbe der "nach"-Textur wird auf die vorgewählte Farbe der "von"-Textur gesetzt
STLoadTex Stack0: Textur-Index

StringStack0: Texturname

- Zeichnet die per Dateiname angegebene Textur auf die Scripttextur
STGetR / G / B / A Stack0: Textur-Index Stack0: Farbwert Rot/Grün/Blau/Alpha Gibt den entsprechenden aktuell vorgewählten Farbwert zurück

Szenerieobjekte

Siehe auch Datei program\callbacklist_scenobj.txt!

Makroname Input-Stackwerte Output-Stackwerte Beschreibung Beispiel
GetArrBusLine Stack0: Index des ankommenden Busses Stringstack0: Liniennummer des ankommenden Busses Hierzu muss das Szenerieobjekt per "Parent to..."-Funktion mit einer Bushaltestelle verbunden sein. Dann schreibt diese Funktion in den Stringstack0 die Liniennummer des Busses, welcher in der Reihenfolge der Ankünfte an der durch Index angegebenen Stelle kommt (nullbasiert!) 0 (M.V.GetArrBusLine) liefert die Liniennummer des nächsten Busses, 1 (M.V.GetArrBusLine) die des übernächsten Busses.
GetArrBusTerminus Stack0: Index des ankommenden Busses Stringstack0: Ziel des ankommenden Busses Funktioniert wie GetArrBusLine und liefert die Endhaltestelle des Busses. 0 (M.V.GetArrBusTerminus) liefert die Endhaltestelle des nächsten Busses, 1 (M.V.GetArrBusTerminus) die des übernächsten Busses.
GetArrBusTimeDiff Stack0: Index des ankommenden Busses Stack0: Zeitdauer bis Bus an Haltestelle ankommt Funktioniert wie GetArrBusLine und liefert die Zeit (in Sekunden), bis der per Index gewählte Bus an der Haltestelle ankommt. 0 (M.V.GetArrBusTimeDiff) liefert die Ankunftszeitdauer des nächsten Busses, 1 (M.V.GetArrBusTimeDiff) die des übernächsten Busses.

Fahrzeuge

Siehe auch Datei program\callbacklist_roadvehicle.txt!

Makroname Input-Stackwerte Output-Stackwerte Beschreibung Beispiel ab OMSI-Vs.
GetRouteIndex Stack0: Route-Code Stack0: Route-Index Sucht in der Hofdatei die zum gegebenen Route-Code gehörigen Route-Index. - 1.00
GetBusstopString Stack1: Haltestellen-Index, Stack0: String-Index Stringstack0: Haltestellen-Stringinhalt Liefert aus der Hofdatei den stack0'ten String der stack1'ten Haltestelle. Beide Indizes sind [nullbasiert]. 5 2 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 2 der Haltestelle Nr. 5 1.00
GetTerminusString Stack1: Terminus-Index, Stack0: String-Index Stringstack0: Endhaltestellen-Stringinhalt Liefert aus der Hofdatei den stack0'ten String der stack1'ten Endhaltestelle (Terminus). Beide Indizes sind [nullbasiert]. 7 3 (M.V.GetBusstopString) liefert den Inhalt des Strings Nr. 3 der Endhaltestelle Nr. 7 1.00
GetRouteTerminusIndex Stack0: Route-Index (nullbasiert) Stack0: Terminus-Index (nullbasiert) Liefert den zur vorgegebenen Route zugehörigen Terminus/Endhaltestellen-Index. Über GetTerminusString kann dann wiederum der Name der Endhaltestelle geholt werden. - 1.00
GetTerminusIndex Stack0: Terminus-Code Stack0: Terminus-Index Sucht in der Hofdatei die zum gegebenen Terminus-Code gehörigen Terminus-Index. - 1.00
GetTerminusCode Stack0: Terminus-Index Stack0: Terminus-Code Gibt den in der Hofdatei zum gegebenen Terminus-Index gehörigen Terminus-Code zurück und ist somit die Umkehrfunktion von GetTerminusIndex. - 1.00
GetBusstopCount Stack0: Route-Index Stack0: Haltestellenanzahl Gibt die Anzahl der Haltestellen der per Index gewählten Route zurück. Da es sich hier um eine Anzahl handelt, ist diese auch nicht nullbasiert - hat die Route also zwei Haltestellen, ist auch das Ergebnis dieser Funktion "2". - 1.00
GiveChangeCoin Stack0: Münz-Index - Sorgt für das Auswerfen der Münze mit dem Index Stack0, z.B. beim Geldwechsler-Script. 2 (M.V.GiveChangeCoin) wirft die Münze mit dem Index 2 aus. 1.00
GetRouteBusstopIdent Stack1: Route-Index, Stack0: Route-Busstop-Index Stringstack0: Ident der Bushaltestelle Liefert den Ident der Stack0'ten Bushaltestelle in der Route Stack1. Wiederum nullbasierte Indizes. 3 6 (M.V.GetRouteBusstopIdent) liefert also den Index der 6. Bushaltestelle der 3. Route. 1.00
GetBusstopIndex Stringstack0: Ident der Bushaltestelle Stack0: Index der Bushaltestelle Sucht den Index der über den Ident bezeichneten Bushaltestelle. "Reimerweg" (M.V.GetBusstopIndex) liefert den Index der Haltestelle Reimerweg. 1.00
GetTTBusstopCount - Stack0: Anzahl der Haltestellen Liefert die Anzahl der Haltestellen des aktuellen Fahrplans - 1.00
GetTTBusstopIndex - Stack0: Index der aktuellen Haltestelle Liefert den Index der aktuellen Haltestelle des aktuellen Fahrplans - 1.00
GetTTTerminusIndex - Stack0: Index der Endhaltestelle Liefert den Index der Endhaltestelle des aktuellen Fahrplans - 1.00
GetTTLineString - Stringstack0: Liniennummer Liefert die Liniennummer des aktuellen Fahrplans - 1.00
GetTTDelay - Stack0: Verspätung in Sekunden Liefert die aktuelle Verspätung gemäß aktivem Fahrplan - 1.00
GetTTBusstopName Stack0: Index der Haltestelle im aktuellen Fahrplan Stringstack0: Name der Haltestelle Liefert den Namen der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet - 1.00
GetTTBusstopDep Stack0: Index der Haltestelle im aktuellen Fahrplan STack0: Abfahrtszeit in Sekunden Liefert die Abfahrtszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet - 1.00
GetTTBusstopArr Stack0: Index der Haltestelle im aktuellen Fahrplan STack0: Ankunftszeit in Sekunden Liefert die Ankunftszeit an der Haltestelle, die sich im aktuellen Fahrplan an stack0'ter Stelle befindet - 1.00
GetTicketName Stack0: Ticket-Index Stringstack0: Ticket-Name Liefert den Namen der über Index indizierten Fahrkartentype (nullbasiert) - 1.00
GetTicketValue Stack0: Ticket-Index Stack0: Ticket-Preis Liefert den Preis der über Index indizierten Fahrkartentype (nullbasiert) - 1.00