Jump to content

Objekte per Schlagwort ansprechen


Empfohlene Beiträge

Da diese Objekte nicht per se in einer Tabelle stehen, kommst du auch nicht mit pairs() dran.

Sie können mit der Funktion layout:getEntitiesByKeyword() alle in eine Tabelle übertragen werden. 

Danke für die Erinnerung, Timba!

Bearbeitet von Goetz
Aussage nach Hinweis von Timba berichtigt
Link zu diesem Kommentar
Auf anderen Seiten teilen

local t = layout:getEntitiesByKeyword("B-Bahnhofsignal")
for i, Wdh in ipairs(t) do
  Wdh.variables["Zug"] = $("")
  Wdh.state = 0
end

Ohne Tabelle und mit Schlagwort könnte es so wie in diesem Beispiel gehen.

Hier wird bei allen Signalen mit dem Schlagwort "B-Bahnhofsignal" die Objektvariable "Zug" auf "leer" gesetzt und das Signal geschlossen (State = 0).

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 5 Wochen später...

Hab da auch wieder mal eine Frage zu den Schlagworten und Objekten ....

Ich habe meine Züge in Kategorien wie z.B. Güterzug, Personenzug, Nahverkehr, Fernverkehr usw. aufgeteilt  und möchte eine Reige von Weichen beim betreten eines Einfahr GK´s schalten. So soll der Güterzug z.B. über ein seperates Gleis (ohne Bahnsteig) fahren, Personenzübe in den Bahnhof einfahren und die Nahverkehrszüge auf Gleis 1 und 2, die Fernverkehrszüge auf Gleis 3 und 4 verteilt werden.

Ich habe mir das recht einfach vorgestellt, indem beim Einfahr-GK die Schlagworte abgefragt werden und entsprechend die Weichen geschaltet werden.
Allerdings suche ich die Scchlagwortabfrage für das auslösende Fahrzeug bisher vergeblich.

- Gleiskontakt wird betreten..... und dann find ich bei den Bedingungen nichts wo ich die Schlagworte des Fahrzeugs abfragen kann.  ;-(

Kann mir da jemand sagen wo ich das finde ?

 

--->  Edit, glaube es doch noch gefunden zu haben ..... bei den Widerholungen "für objekte mit dem Schlagwort"  

Allerdings kann ich da nur nach einem Schlagwort abfragen, eine Abfrage ob das auslösende Objekt das Schlagwort X und das Schlagwort Y hat geht anscheinend in der grafischen EV nicht.

Bearbeitet von bigrala
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Monate später...

Hallo zusammen,

ich habe jetzt ein paar Tage gebraucht, bis ich herausgefunden habe, wie man mehrere Schranken über ein Schlagwort einfach ansteuern kann.

511.thumb.jpg.1276a2487412611d04d828d4d9a2bc61.jpg

Im Feld "Animation" (roter Kasten) steht zunächst einmal immer "alle Animationen", was ja auch logisch ist, weil ja über ein Schlagwort auch Objekte mit unterschiedlichen und verschieden vielen Animationen zusammengefasst sein könnten. Also fördert auch ein Klick auf den Pfeil rechts keine andere Auswahlmöglichkeit.

Jetzt habe ich endlich herausgefunden, dass man hier die geforderte Animation händisch eintragen muss. Dazu muss aber die Schreibweise zwingend exakt mit der im Modell angegebenen Schreibweise für die angeforderte Animation übereinstimmen. Ein weggelassenes Leerzeichen löst die Animation dann schon nicht aus.

Was mich jetzt etwas stutzig macht, ist die Tatsache, dass links (blauer Kasten) im Feld "Animation abspielen" der zweite Wert immer als [Leer] erscheint, obwohl die Animation korrekt funktioniert.

Wenn man die grafische Eingabe in Lua übersetzt, sieht alles wieder korrekt aus:

local t = layout:getEntitiesByKeyword("Schranken")
for i, Wdh in ipairs(t) do
  if $("Animierter Kippschalter für Schranke").state == 1 then
    Wdh.animations["01 Schließen"]:play(0, 1)
  else
    Wdh.animations["02 Öffnen"]:play(0, 1)
  end
end

Habe ich da irgend etwas übersehen oder nicht verstanden?

HG

Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 8 Stunden schrieb Roter Brummer:

Jetzt habe ich endlich herausgefunden, dass man hier die geforderte Animation händisch eintragen muss. Dazu muss aber die Schreibweise zwingend exakt mit der im Modell angegebenen Schreibweise für die angeforderte Animation übereinstimmen. Ein weggelassenes Leerzeichen löst die Animation dann schon nicht aus.

Als Tipp, einfach vorübergehend ein entsprechendes Objekt auswählen, dann kannst du direkt aus der Animationsliste die entsprechende heraussuchen und anschliesend bei Objekt auf „Wdh“ wechseln. So bleibt der korrekte Animationsname erhalten und es können sich keine Schreibfehler einschleichen. Ansonsten kann ich auch bestätigen, dass bei der grafischen EV [leer] steht. Habe ich auch schon bei anderen Fällen gesehen. Aber wenn es richtig angelegt ist funktioniert es.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 10 Stunden schrieb Roter Brummer:

Was mich jetzt etwas stutzig macht, ist die Tatsache, dass links (blauer Kasten) im Feld "Animation abspielen" der zweite Wert immer als [Leer] erscheint, obwohl die Animation korrekt funktioniert.

danke für den Hinweis, es handelt sich hier um einen Anzeigefehler, der jedoch keine negativen Auswirkungen auf die Abläufe hat. Dennoch werde ich den Fehler korrigieren.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...