2 Visible - Einträge einem Objekt zuordnen

Welcome to the OMSI-WebDisk!
As guest you can only see content in your selected language! Registered users can choose the visibility of other languages in their control panel, more informations here. All topics are marked with a language flag inside the forums: = English [EN], = German [DE], = French [FR].
If you're not able to speak the topic language than write in English!
  • Moin, ich habe ne kleine Frage:


    Ich habe mir ein Fahrplanobjekt gemodded, hier der Eintrag:


    Der Fahrplan soll nicht erscheinen (bei angenommenem Fahrplan), wenn folgende setvar in der cti aktiv ist:

    Code
    [setvar]
    vis_SR_Kurs
    1

    Wenn sie nicht aktiv ist, soll er allerdings normal erscheinen.


    Jetzt die Frage: geht das mit diesem Eintrag (oberer Code)?

    Liebe Grüße, dari19!

  • Advertisement
  • der zweite visible-wert hat immer Priorität, weil die OMSI-Sachen immer von oben nach unten abgearbeitet werden. das kann je nach Anwendungsfall funktionieren, muss es aber nicht.

    Perotinus , Ich empfehle in so einem Fall (und mach es auch selbst so), ein kleines Script zu schreiben, um den Visible-Eintrag zu steuern.


    Code
    (L.L.VariableA)
    (L.L.VariableB) &&
    {if}
    1 (S.L.Visible_Variable)
    {else}
    0 (S.L.Visible_Variable)
    {endif}

    Wenn beide Variablen aktiv, setzt er die visible-variable auf 1, sonst null. das geht natürlich auch mit "oder" oder kombinationen, die ungleich sein sollen.

    Code
    (L.L.VariableA)
    (L.L.VariableB) ||
    {if}
    1 (S.L.Visible_Variable)
    {else}
    0 (S.L.Visible_Variable)
    {endif}

    in dem fall nur aktiv, wenn mindesteins eine von beiden aktiv

    Code
    (L.L.VariableA) 0 =
    (L.L.VariableB) 1 = &&
    {if}
    1 (S.L.Visible_Variable)
    {else}
    0 (S.L.Visible_Variable)
    {endif}

    oder hier nur aktiv, wenn VariableA nicht aktiv und Variable B aktiv.

    Das ganze einfach irgendwo in einem frame-marco eintragen und fertig. ;)




    Für die Profis hier ließe sich so ein script auch noch abkürzen:

    Code
    (L.L.VariableA) (L.L.VariableB) && (S.L.Visible_Variable)

    da für OMSI alles, was größer 0 ist, "true" ist und 0 "false", lässt sich das script oben auch noch abkürzen. der operator (und, oder, kleiner gleich, größer gleich etc.) gibt ja 1 und 0 aus wenn true oder false, was direkt wieder als Wert für die Visible-Variable genommen werden kann. spart die {if}-Schleife ein, ist aber schwieriger zu verstehen und zu lesen.