WalterW Geschrieben 12. Februar Teilen Geschrieben 12. Februar Hallo Studio-Gemeinde und gezielt auch ein Hallo an @Neo ich habe, mangels welcher Fähigkeit auch immer, ein Problem mit dem Einsatz und der vernünftigen Umsetzung der von @Neo zur Verfügung gestellten Ereignissteuerung "Türen im Zugverband öffnen". Eigentlich eine ganz tolle Anwendungsmöglichkeit und spart ja auch so manche umständliche Programmierung. Nur bei aller Einfachheit, bekomme ich einfach nicht den "Draht" dieses Ereignissteuerung richtig anzuwenden. Mein Hauptproblem liegt darin, dass ich durch die Parameter-Übergabe der Variablen "Ausrichtung" nicht durchblicke. Diese kann und soll entweder den Wert 1 oder -1 haben. Ist damit, vom Zug aus in Fahrtrichtung gesehen, die Bahnsteigseite "rechts" oder "links" gemeint? Was ist dann in der Erklärung von @Neo mit dem Parameter "Ausrichtung" 1=in Fahrtrichtung und -1=gegen Fahrtrichtung gemeint? Also, wie am Anfang schon erwähnt: Ich blicke leider nicht durch und bitte um Auf- und Erklärung. Als Beispiel meiner Anwendung habe ich die Lua-Fassung eingestellt. ------------------------------------------------------------------------------------------ Auslösender Kontakt zum Türen öffnen wurde betreten. -- Parameter Übergabe: Ausrichtung: 1 (=in Fahrtrichtung), oder -1 (=gegen Fahrtrichtung) und Fahrzeug (Zug) $("Türen im Zugverband öffnen"):invoke(1, vehicle) --??????????????????????????????????????????????????????? $("Türen im Zugverband öffnen"):invoke(-1, vehicle) --??????????????????????????????????????????????????????? ------------------------------------------------------------------------------------------ -- ANFANG TÜREN IM ZUGVERBAND ÖFFNEN -- Manuelle Ereignis-Aktion. -- Wird aufgerufen vom Ereignis "Zug betritt Kontakt BahnsteigStop" -- Parameter Übergabe: -- Ausrichtung: 1 (=in Fahrtrichtung), oder -1 (=gegen Fahrtrichtung) -- und Fahrzeug (Zug) local t, t2 = layout:getVehicleGroup(Fahrzeug, 3) -- Nur Fahrzeuge ohne eigenen Antrieb, weil Fahrzeuge mit Antrieb, aber OHNE Türen und for i, Wdh in ipairs(t) do -- die Variablen "Türen links" = "" sowie "Türen rechts"" haben, dann gibt's Ärger. Bei mir ist local Ori = t2[i] -- es passiert, dass in einer Lok ALLE Animationen auf einmal den Wert 1 hatten und aktiviert waren. if Ori == Ausrichtung then -- Natürlich kann man sagen: Unlogisch die Variablen einzutragen, wenn es gar keine Türen hat. Wdh.animations[Wdh.variables["Türen links"]]:play(-1, 1) -- Absolut richtig, aber beim Kopieren von Variablen, passiert sowas schon mal. else Wdh.animations[Wdh.variables["Türen rechts"]]:play(-1, 1) end end Fahrzeug.variables["Türen schließen"] = true -- Diese Variable verwende ich nachfolgend. -- ENDE TÜREN IM ZUGVERBAND ÖFFNEN ------------------------------------------------------------------------------------------ Für eine Antwort bedanke ich mich schon jetzt im Voraus. Freundliche Grüße Walter Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 12. Februar Teilen Geschrieben 12. Februar vor 58 Minuten schrieb WalterW: Ist damit, vom Zug aus in Fahrtrichtung gesehen, die Bahnsteigseite "rechts" oder "links" gemeint? Nein, damit ist die Orientierung des einzelnen Waggons innerhalb des Zuges (relativ zur Fahrtrichtung) gemeint. Denn wenn du einen Waggon im Verband "rückwärts" eingliederst, dann vertauschen sich die Namen der Türachsen. (sprich: die linken Türen befinden sich dann in Fahrtrichtung rechts.) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
WalterW Geschrieben 12. Februar Autor Teilen Geschrieben 12. Februar Danke Götz, soweit verstanden. Nur wo und wie erfährt das Ereignis, dass der Bahnsteig, von der Lok aus in Fahrtrichtung gesehen , links oder rechts ist. Denn nur mit dieser Info erreichst du, dass die Türen auf der richtigen Seite aufgehen. Kannst du mir das bitte noch erklären? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
WalterW Geschrieben 12. Februar Autor Teilen Geschrieben 12. Februar (bearbeitet) Und noch ergänzend die Frage: Ich war der Meinung, das die "schwarze Box" Ori die Information, ob ein Wagen sich im Zugverband vorwärts oder rückwärts bewegt, selbst ermittelt, denn damit steuert er doch die Animation "Tür links" bzw. "Tür rechts", oder ? Das für mich in diesem Zusammenhang nicht verständliche ist, dass Ori in Abhängigkeit von dem Wert der Parameterübergabe "Ausrichtung" agiert ! Bearbeitet 12. Februar von WalterW Ergänzung der Frage Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Neo Geschrieben 12. Februar Teilen Geschrieben 12. Februar Hallo Walter, auf welcher Seite der Bahnsteig liegt ist in einer Variable im Gleiskontakt hinterlegt, an dem der Zug zum Stehen kommt. Diese Variable wird gleich als erstes im Ereignis "Zug betritt Bahnhof" geprüft. Liegt der Bahnsteig links, wird an das benutzerdefinierte Ereignis "Türen öffnen" eine 1 übergeben. Stimmt die Blickrichtung eines Fahrzeugs (1 oder -1) mit der übergebenen 1 überein, werden die linken Türen geöffnet, ansonsten die rechten Türen. Viele Grüße, Neo Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
WalterW Geschrieben 12. Februar Autor Teilen Geschrieben 12. Februar Danke @Neo für deine Erklärung. Wo finde ich das Ereignis "Zug betritt Bahnhof". Oder anders gefragt, wo muss welche Variable mit welchem Wert hinterlegt sein, die vom Ereignis "Türen im Zugverband öffnen" geprüft wird? Freundliche Grüße Walter Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
WalterW Geschrieben 12. Februar Autor Teilen Geschrieben 12. Februar Entschuldigung @neo, wer richtig liest, ist im Vorteil. Die Antwort auf meine Frage ist der Parameter "Ausrichtung". Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
WalterW Geschrieben 12. Februar Autor Teilen Geschrieben 12. Februar An alle: Meine Frage ist hiermit beantwortet. Also: Der Anwender muss, je nach Lage des Bahnsteigs, aus Blickrichtung der Fahrtrichtung, ob er links oder rechts liegt, dementsprechend das Ereignis "Türen im Zugverband öffnen" mit dem richtigen Parameter "Ausrichtung" übergeben. Beispiele: $("Türen im Zugverband öffnen"):invoke(1, vehicle) -- Lua-Skript mit Aufruf "Türen im Zugverband öffnen" mit Bahnsteig ist "links" $("Türen im Zugverband öffnen"):invoke(-1, vehicle) -- Lua-Skript mit Aufruf "Türen im Zugverband öffnen" mit Bahnsteig ist "rechts" Und mit der EV sieht es so aus. die 1 für "Bahnsteig ist links" und -1 für "Bahnsteig ist rechts" als Parameter Ich hoffe hiermit nichts falsch beschrieben zu haben. Vielen Dank an @Goetz und @Neo. Für mich ist das voll verständlich und ich hoffe für die anderen, die möglicherweise ähnlich mit dem Problem gelebt haben, auch. Freundliche Grüße Walter 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