Jump to content

Türen öffnen, nach der Methode von Neo


Recommended Posts

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 !

Edited by WalterW
Ergänzung der Frage
Link to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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.

image.thumb.jpeg.50b26872719e90b17f8221bff6317d0e.jpeg

image.jpeg.bd49a2dde6914d24655424642e408c0d.jpeg  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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...