Auftrags-Schilder Textur abhängig von Hof-Datei

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hallo,


    ich plane in meine Busse eines der typischen "Im Auftrag von ..." Schilder einzubauen.

    Ich weiß, dass man diese natürlich per Repaint verändern kann. Wenn ich jetzt aber mit meinem eigenen Repaint auf verschiedenen Karten fahren möchte, ist das natürlich etwas umständlicher, jedes mal die Textur anzupassen bzw. die Repaint-cti zu ändern. Daher kam mir die Frage auf, ob es möglich wäre, eine Textur abhängig von der verwendeten Hofdatei zu machen.


    Bei der IVU Ticketbox von IREgio612 ist es ja z.B. so, dass abhängig von der Hofdatei ein Unternehmenskürzel im Drucker angezeigt wird. Daher meine Frage, funktioniert das auch mit Texturen? Und wenn ja, wie?

  • Moin,

    ähnliches machen die Busse uas den HH-AddOns. Als Beispiel nehme ich mal den C2 aus dem Drei-Generationen-Addon. Im Script Ticketprinter_almex.osc wird unterschieden, ob es sich bei der Hof-Datei um eine Hamburger Hofdatei oder eine andere handelt und damit die Matrixformatierung bestimmt. Via (L.$.Yard) kann der Friendlyname der Hof-Datei ausgelesen werden.


    Damit kannst du über eine if-Abfrage dann die Auftragsschilder anpassen, möglich wären da dann eine [visible]-Variable oder via matl_freetex.


    In der Ticketprinter_almex.osc ist der besagte Abschnitt ab Zeile 330 zu finden.

    Die gefährlichste Weltanschauung ist die Weltanschauung derer, die die Welt nie angeschaut haben.

    -Alexander von Humboldt-

  • So, ich konnte mich da jetzt mal ran setzen, und grundsätzlich funktioniert es auch.

    Bei Verwendung der angegebenen Hofdateien wird auch die zugewiesene Textur verwendet. Lediglich die Zuweisung einer Textur, wenn keine aufgelistete Hofdatei verwendet wird, funktioniert nicht. Es wird dann nur die Standardtextur des Objekts verwendet.


    Code
    {macro:auftragsschild_frame}
    
        (L.$.Yard) "Ahlheim 5" $= {if} "Auftragsschild\Auftragsschild_AVG.dds" (S.$.auftragsschild) {endif}
        (L.$.Yard) "Ahlheim_Laurenzbach_Updated" $= {if} "Auftragsschild\Auftragsschild_SLZ.dds" (S.$.auftragsschild) {endif}
        (L.$.Yard) "Gerolstein_2025" $= {if} "Auftragsschild\Auftragsschild_VBK.dds" (S.$.auftragsschild) {endif}
        (L.$.Yard) "Waldhofen 2013" $= {if} "Auftragsschild\Auftragsschild_BWh.dds" (S.$.auftragsschild) {endif}
            {else}
                "Auftragsschild\Auftragsschild_Wolf.dds" (S.$.auftragsschild)
            {endif}
    {end}

    Hab schon verschiedene Varianten ausprobiert, aber komme zu keinem Ergebnis.

    • Neu
    • Hilfreichster Beitrag

    Ein if-else if ist in der Omsi-Programmiersprache nicht möglich. Am enfachsten wäre es wahrscheinlich, wenn du z.B. das Register 6 auf den Wert 1 setzt, wenn eine entsprechende Hofdatei ausgewählt ist und dann dieses abfragst:

    Noch einfacher wäre es natürlich, einen der globalen Strings in der Hofdatei zu nutzen. Wenn der leer ist, kann die Standardtextur verwendet werden, sonst eben die aus der Hof. Wäre dann auch etwas einfacher in der Handhabung, weil dafür das Script nicht immer angepasst werden muss.

  • Danke, so ist es für den Zweck ausreichend und funktioniert.

    Klar hätte ich einfach die Standard-Textur des Schildes nehmen können. Da ich das Schild aber für verschiedene Auftragsunternehmer einsetze, ist so einfacher.