Jump to content

Empfohlene Beiträge

Geschrieben

Guten Morgen

Ich möchte, dass der Uerdinger Schienenbus mit Beiwagen und Steuerwagen nach Einfahrt in den Bahnhof die Türen öffnet. In der Ereignissteuerung gibt es die Wiederholung "Für alle Fahrzeuge in einem Zugverbund". In Lua sieht das dann so aus:

local t = layout:getVehicleGroup($("Testwagen"))
for i, Wdh in ipairs(t) do
  $("Testwagen").animations["09 Türen rechts"]:play(0, 1)
end

Eine Wiederholung findet nicht statt und die Animation heißt bei den Beiwagen auch "09 Türen rechts".

Was mache ich falsch?

Vielen Dank und LG

Geschrieben (bearbeitet)

Hallo Thelea

vor einer Stunde schrieb Thelea15:

Was mache ich falsch?

Du nutzt die Elemente aus der Wiederholung nicht.

in ipairs() gibt aus deiner Tabelle Wertepaare an die vorne genannten Variablen i und Wdh.
Die erste Variable bekommt den Tabellenindex, die zweite den Wert.

Du möchtest also den Inhalt der Variablen Wdh als Fahrzeug nennen.

local t = layout:getVehicleGroup($("Testwagen"))
for i, Wdh in ipairs(t) do
  Wdh.animations["09 Türen rechts"]:play(0, 1)
end

Allerdings löst das noch nicht dein Problem der unterschiedlichen Achsennamen.

Da wirst du ein wenig mehr Aufwand treiben müssen. Hinterlege in jedem Fahrzeug eine Variable, in der du den Achsennamen einträgst. Diese Variable benennst du bei allen identisch. Und dann benutzt du im Code anstelle der animations[...] diese Variable:

local t = layout:getVehicleGroup($("Testwagen"))
for index, fahrzeug in ipairs(t) do     -- andere Variablennamen zur Verdeutlichung des Prinzips
  fahrzeug.animations[fahrzeug.variables["rechte Tür"]]:play(0, 1)
end

 

Viele Grüße
Götz

Bearbeitet von Goetz
Fehlerkorrektur

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