Jump to content

Lua-Tabelle im MBS


Timba
 Share

Recommended Posts

Hallo an die Lua-Programmierer,

derzeit experimentiere ich ein bisschen mit Lua und habe folgendes Problem: Die freien Gleise eines Bahnhofs sollen in einer Tabelle stehen. Ich habe die erforderliche Tabelle in einem Skript am Anfang der EV eingerichtet.

Freigleise = { "Gleis2", "Gleis4" }

Nach jedem Stop des Programms (und das ist oft, weil ich ja noch am testen bin) wird die Tabelle mit diesen Werten neu initialisiert, aber inzwischen sind zwei, drei Züge eine Runde gefahren und stehen auf ganz anderen Gleisen und die Tabelle hatte folglich andere Einträge. Wie kann ich es anstellen, dass nach einer Unterbrechung mit den aktuellen Werten weitergemacht wird und nicht mit der ursprünglichen Definition? Ich möchte auch nicht nach jedem Stop das Script bearbeiten.

Gruß Timba

Link to comment
Share on other sites

Hallo Timba,
Lua startet bei jedem Start neu. Das heißt, es wird diese Tabelle auch immer frisch initialisieren. Alles andere muß über ein Zusammenspiel von Lua-Tabellen und den Objektvariablen geschehen, wobei - sofern ich das richtig verstanden habe, siehe Götz' letztem Tutorial - da mit dem Update neue Features ins Spiel kommen, die diesen Bereich verstärken.

Gruß
  Andy

Link to comment
Share on other sites

Danke dir Andy. Gerade habe ich herausgefunden, dass die Tabelle nur neu initialisiert wird, wenn ich was an der EV geändert habe. Wenn ich die Sim nur kurz anhalte und ohne Änderung weitermache, dann bleibt die Tabelle erhalten. Wenigstens das.

Gruß Timba, der Lua-Lehrling :D

Link to comment
Share on other sites

Kalt erwischt - 'nach jedem Stop' war definitv die falsche Formulierung.

p.s.:
Wenn Du Lust hast, bau doch mal gerade irgendwo mal die Zeile error("Na sowas!") ein und laß das Ereignisprotokoll mitlaufen.
Check mal, wie sich's verhält, wenn das EP wegen diesem 'Fehler' angehalten wird. Ich weiß nicht, ob sie dann neu startet oder weiterläuft.

Edited by Andy
Link to comment
Share on other sites

Ja stimmt. Ich hatte angenommen, dass das Stoppen der Sim dafür verantwortlich war. War falsch. Ich hatte bei jedem Stop was geändert und das hat die Initialisierung bewirkt, was zu meiner Fehlinterpretierung führte. Nicht weiter schlimm. Wenigstens lerne ich jeden Tag was Neues. Nur bei manchen Dingen stünde man ohne Hilfe auf dem Schlauch, denn das offizielle Lua-Manual kann ja logischerweise nicht auf die Dinge eingehen, die hier im MBS speziell sind. Zum Glück gibt es hilfreiche Geister wie dich. Danke nochmal.

Link to comment
Share on other sites

vor 51 Minuten schrieb Timba:

Nach jedem Stop des Programms wird die Tabelle neu initialisiert,

Zur Zeit, ja.

weil du die Initialisierung in dein Skript schreiben musst.

mit dem nächsten Update bekommen wir die Möglichkeit, Tabellen wie Variablen in Objekten und Modulen abzulegen. Und die behalten dann - wie objekt/Modul-Variablen auch, ihre Werte.

Link to comment
Share on other sites

vor 1 Minute schrieb Goetz:

mit dem nächsten Update bekommen wir die Möglichkeit, Tabellen wie Variablen in Objekten und Modulen abzulegen. Und die behalten dann - wie objekt/Modul-Variablen auch, ihre Werte.

Das ist super! (y) Kann man die dann eventuell auch über das Ereignisprotokoll beobachten? Das wäre dann der Hit schlechthin!

Link to comment
Share on other sites

vor 7 Stunden schrieb Timba:

Kann man die dann eventuell auch über das Ereignisprotokoll beobachten?

In der Vorabversion, die ich ausprobieren durfte, sah ich nur die Anzahl der Elemente in der rechten Spalte des Ereignisprotokolls. Links kannst du natürlich per print() alles reinschreiben. Wie es final aussehen wird weiß ich nicht, weil Neo derzeit noch am Update arbeitet.

Neben den Listen und Tabellen bekommt die EV mit dem nächsten Update auch Wiederholungen. Beides ergänzt sich sehr gut und eröffnet in der Kombination tolle Möglichkeiten.

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
 Share

×
×
  • Create New...