System-Makros: Unterschied zwischen den Versionen
(→Fahrzeuge) |
|||
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!'' | ''Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!'' | ||
+ | |||
+ | ''OMSI-Version: 1.0 - 2.0'' | ||
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. | 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. | ||
Zeile 13: | Zeile 15: | ||
| align="left" |''Output-Stackwerte'' | | align="left" |''Output-Stackwerte'' | ||
| align="left" |''Beschreibung'' | | align="left" |''Beschreibung'' | ||
− | | align="left" |'' | + | |- |
+ | | align="left" |STNewTex | ||
+ | | align="left" |Stack0: Textur-Index, entspricht [scripttexture]-Reihenfolge in model.cfg | ||
+ | | align="left" |- | ||
+ | | align="left" |Scripttextur initialisieren | ||
+ | |- | ||
+ | | align="left" |STLock | ||
+ | | align="left" |Stack0: Textur-Index | ||
+ | | align="left" |- | ||
+ | | align="left" |Scripttextur "locken", d.h. Lese- und Schreibzugriff erlauben | ||
+ | |- | ||
+ | | align="left" |STUnlock | ||
+ | | align="left" |Stack0: Textur-Index | ||
+ | | align="left" |- | ||
+ | | align="left" |Scripttextur "unlocken", d.h. Lese- und Schreibzugriff zurücknehmen und zum Rendern freigeben | ||
+ | |- | ||
+ | | align="left" |STFilter | ||
+ | | align="left" |Stack0: Textur-Index | ||
+ | | align="left" |- | ||
+ | | align="left" |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) | ||
+ | |- | ||
+ | | align="left" |STSetColor | ||
+ | | align="left" |Stack4: Textur-Index | ||
+ | |||
+ | Stack3: Alpha | ||
+ | |||
+ | Stack2: Rot | ||
+ | |||
+ | Stack1: Grün | ||
+ | |||
+ | Stack0: Blau | ||
+ | | align="left" |- | ||
+ | | align="left" |Setzt die Farbe, mit dem weitere Operationen vorgenommen werden sollen | ||
+ | |- | ||
+ | | align="left" |STDrawPixel | ||
+ | | align="left" |Stack2: Textur-Index | ||
+ | |||
+ | Stack1: X | ||
+ | |||
+ | Stack0: Y | ||
+ | | align="left" |- | ||
+ | | align="left" |Setzt die Farbe des mit X und Y angegebenen Pixels auf den vorgewählten Farbwert | ||
+ | |- | ||
+ | | align="left" |STDrawRect | ||
+ | | align="left" |Stack4: Textur-Index | ||
+ | |||
+ | Stack3: X1 | ||
+ | |||
+ | Stack2: Y1 | ||
+ | |||
+ | Stack1: X2 | ||
+ | |||
+ | Stack0: Y2 | ||
+ | | align="left" |- | ||
+ | | align="left" |Zeichnet ein ausgefülltes Rechteck in der vorgewählten Farbe zwischen den angegebenen Koordinatenpaaren | ||
+ | |- | ||
+ | | align="left" |STTextOut | ||
+ | | align="left" |Stack5: Textur-Index | ||
+ | |||
+ | Stack4: X1 | ||
+ | |||
+ | Stack3: Y1 | ||
+ | |||
+ | Stack2: Font-Index | ||
+ | |||
+ | Stack1: Vollfarbe (oder nicht?) | ||
+ | |||
+ | Stack0: [http://de.wikipedia.org/wiki/Sperrsatz Sperr-Pixel] | ||
+ | |||
+ | StringStack0: Zu schreibender Text | ||
+ | | align="left" |- | ||
+ | | align="left" |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. | ||
+ | |- | ||
+ | | align="left" |GetFontIndex | ||
+ | | align="left" |StringStack0: Font-Name | ||
+ | | align="left" |Stack0: Font-Index | ||
+ | | align="left" |Zur Verwendung für STTextOut | ||
+ | |- | ||
+ | | align="left" |TextLength | ||
+ | | align="left" |Stack0: Font-Index | ||
+ | |||
+ | StringStack0: Zu prüfender Text | ||
+ | | align="left" |Stack0: Länge in Pixeln | ||
+ | | align="left" |Berechnet die Länge des übergebenen Textes in der gewählten Schriftart | ||
+ | |- | ||
+ | | align="left" |STReadPixel | ||
+ | | align="left" |StringStack2: Textur-Index | ||
+ | |||
+ | StringStack1: X | ||
+ | |||
+ | StringStack0: Y | ||
+ | | align="left" |- | ||
+ | | align="left" |Setzt die vorgewählte Farbe auf die Farbe des angegebenen Pixels | ||
+ | |- | ||
+ | | align="left" |STCopyColor | ||
+ | | align="left" |Stack1: von-Textur-Index | ||
+ | |||
+ | StringStack0: nach-Textur-Index | ||
+ | | align="left" |- | ||
+ | | align="left" |Die vorgewählte Farbe der "nach"-Textur wird auf die vorgewählte Farbe der "von"-Textur gesetzt | ||
+ | |- | ||
+ | | align="left" |STLoadTex | ||
+ | | align="left" |Stack0: Textur-Index | ||
+ | |||
+ | StringStack0: Texturname | ||
+ | | align="left" |- | ||
+ | | align="left" |Zeichnet die per Dateiname angegebene Textur auf die Scripttextur | ||
+ | |- | ||
+ | | align="left" |STGetR / G / B / A | ||
+ | | align="left" |Stack0: Textur-Index | ||
+ | | align="left" |Stack0: Farbwert Rot/Grün/Blau/Alpha | ||
+ | | align="left" |Gibt den entsprechenden aktuell vorgewählten Farbwert zurück | ||
|} | |} | ||
Zeile 58: | Zeile 171: | ||
| align="left" |''Beschreibung'' | | align="left" |''Beschreibung'' | ||
| align="left" |''Beispiel'' | | align="left" |''Beispiel'' | ||
+ | | align="left" |''ab OMSI-Vs.'' | ||
|- | |- | ||
| align="left" |GetRouteIndex | | align="left" |GetRouteIndex | ||
Zeile 64: | Zeile 178: | ||
| 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 70: | Zeile 185: | ||
| 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 76: | Zeile 192: | ||
| 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 82: | Zeile 199: | ||
| 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 88: | Zeile 206: | ||
| 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 94: | Zeile 213: | ||
| 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 100: | Zeile 220: | ||
| 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 106: | Zeile 227: | ||
| 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 112: | Zeile 234: | ||
| 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 118: | Zeile 241: | ||
| 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 124: | Zeile 248: | ||
| 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 130: | Zeile 255: | ||
| 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 136: | Zeile 262: | ||
| 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 142: | Zeile 269: | ||
| 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 148: | Zeile 276: | ||
| 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 154: | Zeile 283: | ||
| 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 160: | Zeile 290: | ||
| 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 166: | Zeile 297: | ||
| 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 172: | Zeile 304: | ||
| 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 178: | Zeile 311: | ||
| 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 | ||
+ | |- | ||
+ | | align="left" |GetHumanCountOnPathLink | ||
+ | | align="left" |Stack0: Pathlink-Index | ||
+ | | align="left" |Stack0: Fahrgast-Anzahl | ||
+ | | align="left" |Gibt die Anzahl der Fahrgäste zurück, die sich aktuell auf dem angegebenen Pfadstück befinden | ||
+ | | align="left" |- | ||
+ | | align="left" |1.03 | ||
+ | |- | ||
+ | | align="left" |NrSpecRandom | ||
+ | | align="left" |Stack0: Seed | ||
+ | | align="left" |Stack0: Random-Wert | ||
+ | | align="left" |Gibt einen Fahrzeugnummer-spezifischen Zufallswert zurück. Der Clou dabei ist, dass die Kombination Seed und Fahrzeugnummer immer denselben Zufallswert ergibt! Möchte man für ein spezifisches Fahrzeug mehrere verschiedene Zufallswerte (für verschiedene Anwendungszwecke) einsetzen, dann benutzt man einfach unterschiedliche Seed-Werte. Welcher Seed-Wert letztlich genutzt wird, ist (da es ja ein Zufallswert ist) letztlich egal. | ||
+ | | align="left" |- | ||
+ | | align="left" |2.00 | ||
+ | |- | ||
+ | | align="left" |GetHeightAbovePoint | ||
+ | | align="left" |Stack2: x | ||
+ | |||
+ | Stack1: y | ||
+ | |||
+ | Stack0: z | ||
+ | | align="left" |Stack0: Höhe über Grund | ||
+ | | align="left" |Gibt die Höhe über dem Untergrund (Terrain, Straße oder Gehweg) zurück, gemessen entlang der negativen, lokalen Z-Achse des Fahrzeuges, ausgehend vom durch x, y und z definierten Punkt (lokales Koordinatensystem). | ||
+ | | align="left" |- | ||
+ | | align="left" |2.00 | ||
+ | |- | ||
+ | | align="left" |GetDepotStringGlobal | ||
+ | | align="left" |Stack0: String-Index | ||
+ | | align="left" |StringStack0: Global-String aus Hofdatei | ||
+ | | align="left" |Gibt einen String aus der aktuell eingestellten Hofdatei zurück; diese werden in der Hofdatei mit dem Befehl [global_strings] definiert; der String-Index entspricht dann der nullbasierten Position in der Liste. | ||
+ | | align="left" |- | ||
+ | | align="left" |2.00 | ||
+ | |- | ||
+ | | align="left" |GetHumanCountOnSeat | ||
+ | | align="left" |Stack0: Index des Sitzes/Stehplatzes (Nullbasiert) | ||
+ | | align="left" |Stack0: Belegt/Unbelegt | ||
+ | | align="left" |Liefert die aktuelle Sitzbelegung des überprüften [passpos] Eintrages | ||
+ | | align="left" |0 (M.V.GetHumanCountOnSeat) liefert die Sitzbelegung des ersten in der passengercabin definierten Sitzes | ||
+ | | align="left" |2.2 | ||
+ | |- | ||
|} | |} | ||
[[Kategorie:Nachschlagewerk für Addon-Entwickler]] | [[Kategorie:Nachschlagewerk für Addon-Entwickler]] |
Aktuelle Version vom 11. August 2016, 20:41 Uhr
Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!
OMSI-Version: 1.0 - 2.0
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 |
GetHumanCountOnPathLink | Stack0: Pathlink-Index | Stack0: Fahrgast-Anzahl | Gibt die Anzahl der Fahrgäste zurück, die sich aktuell auf dem angegebenen Pfadstück befinden | - | 1.03 |
NrSpecRandom | Stack0: Seed | Stack0: Random-Wert | Gibt einen Fahrzeugnummer-spezifischen Zufallswert zurück. Der Clou dabei ist, dass die Kombination Seed und Fahrzeugnummer immer denselben Zufallswert ergibt! Möchte man für ein spezifisches Fahrzeug mehrere verschiedene Zufallswerte (für verschiedene Anwendungszwecke) einsetzen, dann benutzt man einfach unterschiedliche Seed-Werte. Welcher Seed-Wert letztlich genutzt wird, ist (da es ja ein Zufallswert ist) letztlich egal. | - | 2.00 |
GetHeightAbovePoint | Stack2: x
Stack1: y Stack0: z |
Stack0: Höhe über Grund | Gibt die Höhe über dem Untergrund (Terrain, Straße oder Gehweg) zurück, gemessen entlang der negativen, lokalen Z-Achse des Fahrzeuges, ausgehend vom durch x, y und z definierten Punkt (lokales Koordinatensystem). | - | 2.00 |
GetDepotStringGlobal | Stack0: String-Index | StringStack0: Global-String aus Hofdatei | Gibt einen String aus der aktuell eingestellten Hofdatei zurück; diese werden in der Hofdatei mit dem Befehl [global_strings] definiert; der String-Index entspricht dann der nullbasierten Position in der Liste. | - | 2.00 |
GetHumanCountOnSeat | Stack0: Index des Sitzes/Stehplatzes (Nullbasiert) | Stack0: Belegt/Unbelegt | Liefert die aktuelle Sitzbelegung des überprüften [passpos] Eintrages | 0 (M.V.GetHumanCountOnSeat) liefert die Sitzbelegung des ersten in der passengercabin definierten Sitzes | 2.2 |