Jump to content

Recommended Posts

Posted (edited)

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
 

Edited by HaNNoveraNer
Posted

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

Posted (edited)

@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

 

Edited by HaNNoveraNer
Posted

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

Posted (edited)

Hallo Neo

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

Danke!

Edited by HaNNoveraNer
Posted

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

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