gunther Geschrieben 5. Mai 2020 Teilen Geschrieben 5. Mai 2020 Hallo, ich möchte beim Betätigen eines Schalters, einer stehenden Lok, auf einem bestimmten Gleis eine ihrer Objektvariablen setzen. (das Gleis ist immer das selbe, die darauf stehenden Loks variieren. Danke für Eure Hilfe Gunther Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
fzonk Geschrieben 5. Mai 2020 Teilen Geschrieben 5. Mai 2020 Hallo Gunther, ich hätte hier ein Beispiel für dich: Variable in stehender Lok ändern.mbp Eine einfache Lösung ist, du baust einen Zwischenschritt ein. In meinem Beispiel wird beim Betreten des entsprechenden Gleises der Name der Lok im Gleis gespeichert. Somit kannst du anschließend über den Schalter immer die Lok ansprechen. Zur Sicherheit habe ich auch gleich mit hinterlegt, dass wenn die Lok das Gleis verlässt, dass deren Name wieder gelöscht wird und nicht weiter angesteuert werden kann. Ich hoffe dies hilft dir weiter. Gruß Frank Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HaNNoveraNer Geschrieben 5. Mai 2020 Teilen Geschrieben 5. Mai 2020 (bearbeitet) Hi Du mußt dem Gleis auch eine Objektvariable spendieren. Dort speicherst Du den Loknamen beim Ereignis "Fahrzeug betritt Gleis" Dann kannst Du immer wenn Du auf das Gleis zugreift in der EV diese Variable auslesen und deren Variablen setzen. Das funktioniert aber nur, wenn die Lok nicht von Hand auf das Gleis gesetzt wird. Oder Du nutzt die Lua Funktion: "layout:getVehiclesOnTrack" P.S. Frank war etwas schneller... LG Thomas Bearbeitet 5. Mai 2020 von HaNNoveraNer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gunther Geschrieben 5. Mai 2020 Autor Teilen Geschrieben 5. Mai 2020 Herzlichen Dank an Euch beide Gruß Gunther Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 6. Mai 2020 Teilen Geschrieben 6. Mai 2020 (bearbeitet) Hallo Gunther, In Ergänzung zum Hinweis des HaNNoveraNers. mit Lua geht es auch ganz ohne den Zwischenspeicher im Funktionsgleis: local condition = $("Kippschalter").state == 1 local vehicles = layout:getVehiclesOnTrack($("Funktionsgleis")) for _, vehicle in pairs(vehicles) do vehicle.variables["Status"] = condition end Anmerkung: Die erste Zeile des Skripts ist eine Alternative zur populären if ... then Verzweigung. Der Vergleich der Schalterstellung mit dem Wert 1 hat als Ergebnis entweder true oder false. Also genau das, was du für die Objektvariable benötigst. So kann man sich die Fallunterscheidung ganz sparen. Viele Grüße Götz Bearbeitet 6. Mai 2020 von Goetz Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gunther Geschrieben 6. Mai 2020 Autor Teilen Geschrieben 6. Mai 2020 Hallo Goetz, auch Dir vielen lieben Dank für Deine Hilfe. Viele Grüße Gunther Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
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