Jump to content

attempt to index a nil value (field 'variables')


jloos

Recommended Posts

Hallo Gemeinde,

ich möchte alle Variablen zentral ablegen. Also Verzögerung, Beschleunigung, und Geschwindigkeit getrennt nach ZugTyp.
ZugTyp ist eine Textvariable in der Lok.
Ich bekomme immer die Fehlermeldung "attempt to index a nil value (field 'variables')". Aber ich sehe den Wald vor Bäumen nicht.
Bitte schaut Euch das angehängte Beispiel mal an.

Danke

Gruß Jürgen

230220_zentrale_Variablenablage.mbp

Link to comment
Share on other sites

vor 23 Minuten schrieb jloos:

ich sehe den Wald vor Bäumen nicht.

Du erkennst den Fehler besser, wenn du eine Zeile in Lua konvertierst.
Dort steht:

vehicle.deceleration = $("Ereignisse").variables["Standard-Einstellungen"].variables[vehicle.variables["ZugTyp"]]["Verzögerung"]

 

Aber was du eigentlich haben willst, ist das hier:

vehicle.deceleration = $("Ereignisse").variables["Standard-Einstellungen"]["ZugTyp"][vehicle.variables["ZugTyp"]]["Verzögerung"]

 

Viele Grüße
Götz

Link to comment
Share on other sites

Hallo jloos,

probiere mal bei allen Formsignalen am Gleiskontakt die Richtung B (gelb) abzuwählen und stattdessen die Richtung A (grün) zu aktivieren. :) Dann müsste das Problem behoben sein und das Ereignis 'Signal schaltet' wirf dann auch keinen Fehler mehr aus, weil die Lok dann immer am richtigen Signal angemeldet ist, bevor es auf Hp1 geht. Um sicherzustellen, ob wirklich ein Zug am Signal angemeldet ist, würde ich über eine zusätzliche Bedingung "Variable besitzt den Wert" prüfen, ob die Objektvariable Zug im Signal nicht leer ist und nur dann dem Zug eine Geschwindigkeit zuweisen.

Viele Grüße,

Tim 

Link to comment
Share on other sites

vor 7 Minuten schrieb tim-fischertechnik:

Hallo jloos,

probiere mal bei allen Formsignalen am Gleiskontakt die Richtung B

Mit den Signalen ist alles in Ordnung, es funktionierte ja auch vorher, bevor ich auf die zentrale Datenbank umgestellt habe.

danke

Gruß Jürgen

Link to comment
Share on other sites

vor 11 Minuten schrieb tim-fischertechnik:

probiere mal bei allen Formsignalen am Gleiskontakt die Richtung B (gelb) abzuwählen und stattdessen die Richtung A (grün) zu aktivieren. :) Dann müsste das Problem behoben sein

Nein Tim, tut mir leid.

Es liegt an der falschen Schachtelung in seinem Tabellenaufruf.

So sähe er in der grafischen EV richtig aus:

1784450558_geschachtelteTabellen.thumb.jpg.5eab12499e599557c7b8bedb804c6585.jpg

 

Aufbau:

Wähle zuerst "Tabelle/Liste"
Dann klick auf das Zahnrad neben "Variable" und wähle anstatt der Variablen wieder "Variable/Liste"
Und wiederhole den Prozess noch ein drittes Mal.

Dann hast du diese Struktur und kannst jeden Index richtig befüllen:

2057047787_geschachtelteTabelle.jpg.663abf6bc2999d17063c9d193917efed.jpg

Edited by Goetz
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...