BauerHeini Geschrieben 4. Dezember 2019 Geschrieben 4. Dezember 2019 Hallo, kann mir jemand einen Tipp geben, wie ich mit "pairs" alle Objekte mit einem bestimmten Schlagwort ansprechen kann (wenn ja, natürlich wie) Gruss BauerHeini
Goetz Geschrieben 4. Dezember 2019 Geschrieben 4. Dezember 2019 (bearbeitet) 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 4. Dezember 2019 von Goetz Aussage nach Hinweis von Timba berichtigt
Timba Geschrieben 4. Dezember 2019 Geschrieben 4. Dezember 2019 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).
Timba Geschrieben 4. Dezember 2019 Geschrieben 4. Dezember 2019 Nicht mir gebührt das Lob, sondern dem Schöpfer des MBS, denn was ich hier beitragen konnte ist doch nur das, was bei der Umwandlung von der grafischen EV nach Lua herauskommt. Ich gebe das Lob gerne an Neo weiter.
Neo Geschrieben 4. Dezember 2019 Geschrieben 4. Dezember 2019 Hallo, als Ergänzung zu Timbas Lösung: Objekte mit einem bestimmten Schlagwort kannst du auch ohne Lua ansprechen. Viele Grüße, Neo
bigrala Geschrieben 3. Januar 2020 Geschrieben 3. Januar 2020 (bearbeitet) 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 3. Januar 2020 von bigrala
Timba Geschrieben 3. Januar 2020 Geschrieben 3. Januar 2020 Hi @bigrala die Bedingung ist "Eigenschaft/Variable existiert". Dann wählst du "Variable (Erweitert)", trägst bei Objekt "Auslöser" und "Fahrzeug" ein und dann bei Name das Schlagwort. Das ist alles. Gruß Timba
bigrala Geschrieben 3. Januar 2020 Geschrieben 3. Januar 2020 Super, danke Timba .... genau was ich gesucht hatte. Habs nur nicht dort gesucht
bigrala Geschrieben 8. Januar 2020 Geschrieben 8. Januar 2020 (bearbeitet) Moin, Sorry, hat sich erledigt .... Fehler gefunden Bearbeitet 8. Januar 2020 von bigrala
Roter Brummer Geschrieben 9. April 2020 Geschrieben 9. April 2020 Hallo zusammen, ich habe jetzt ein paar Tage gebraucht, bis ich herausgefunden habe, wie man mehrere Schranken über ein Schlagwort einfach ansteuern kann. 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
fzonk Geschrieben 9. April 2020 Geschrieben 9. April 2020 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
Neo Geschrieben 9. April 2020 Geschrieben 9. April 2020 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
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden