Jump to content

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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.)

Geschrieben

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?

Geschrieben (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 von WalterW
Ergänzung der Frage
Geschrieben

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

Geschrieben

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

Geschrieben

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

 

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...