Jump to content

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo

Ich muß abfragen, ob eine Lok an eine Waggongruppe angekuppelt hat.
d.h. wenn sie angekuppelt hat, soll ein Ereignis ausgelöst werden.


Es gibt doch in Lua diverse Kupplungsbefehle.
Ich verstehe aber nicht, wie die angewendet werden.
Kann man mein Problem damit lösen?

Danke, Thomas
 

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

es gibt kein Ereignis, was beim Ankuppeln einer Lok ausgelöst wird. Es gibt aber das Ereignis "Zug/Fahrzeug stoppt", mit dem du in Kombination mit dem automatischen Bremsen/sanften Ankuppeln auf diese Situation reagieren kannst. Anschließend hast du mit Lua mehrere Möglichkeiten, auf die Zusammenstellung eines Zugs zu prüfen:

  • Per "layout:getVehicleGroup" oder "layout:getVehicleGroupLength" erhältst du eine Liste aller Fahrzeuge eines Zugs. Gibt es mehr als ein Fahrzeug in der Liste, hat die Lok angekuppelt (für den einfachen Fall, dass die Lok keinen Tender besitzt)
  • Per "vehicle.couplers[0 oder 1].connectedCoupler.vehicle" erhältst du Zugriff auf das Fahrzeug, was mit der vorderen (0) oder hinteren Kupplung (1) verbunden ist.

Viele Grüße,

Neo

Geschrieben (bearbeitet)

@Neo

Danke für den Hinweis.
Die Funktion "vehicle.couplers[0 oder 1].connectedCoupler.vehicle" läuft noch auf einen Fehler, wenn an der Kupplung nichts angekuppelt ist.
Soll das so sein? Wäre evtl. besser, wenn sie durchläuft und "nil" zurückliefert.

Gruß
Thomas

 

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

die Zeile war nur ein Stichwortgeber für dich. Beim Einsatz musst du natürlich prüfen, ob connectedCoupler <> nil ist, und erst dann auf vehicle zugreifen.

Viele Grüße,

Neo

Geschrieben (bearbeitet)

Hallo Neo

Ach, das muß man erstmal wissen.
Also kann man z.B. mit  " vehicle.couplers[0].connectedCoupler ~= nil" abfragen, ob angekuppelt wurde.

Danke!

Bearbeitet von HaNNoveraNer
Geschrieben

Hallo Thomas,

connectedCoupler ist ein Objekt, kein Boolean, siehe dazu die integrierte Hilfe:

Hilfe.thumb.jpg.df4aab85d095bcc3a327f2743becfba8.jpg

Korrekt wäre daher:

local coupler = vehicle.couplers[0].connectedCoupler
if coupler ~= nil then
  -- Kupplung ist verbunden
end

Viele Grüße,

Neo

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