Neo Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo, über das automatische Programmupdate steht eine neue Vorabversion für die Version V5 zur Verfügung, die folgende Änderungen und Verbesserungen enthält: Planung Ein Doppelklick auf ein Gleis markiert automatisch den gesamten Gleisstrang (optional auch per Bearbeiten - Gleisstrang selektieren) Im Höhenmodus von Bodenplatten können mit STRG und ALT Markierungen hinzugefügt und entfernt werden Im Bearbeitungsmodus von Bodenplatten werden diese nicht mehr fälschlicherweise kopiert, wenn ALT gedrückt wird Markierte Objekte, die in die Zwischenablage kopiert werden, können in Variablen eingefügt werden, zum einfachen Befüllen von Tabellen/Listen Steuerung Unterstützung von Wiederholungen (Schleifen) in der grafischen EV, zum Ausführen von Aktionen für eine Liste von Objekten Neue Variablen-Typen "Tabelle" und "Liste" zum einfachen Verwalten von Datenmengen Neue Bedingung "Eigenschaft/Variable existiert", um einfacher auf die Existenz von Schlagwörtern oder Variablen zu prüfen Neue Lua-Funktionen: transformation:reset, transformation:resetPosition, transformation:resetRotation, transformation:resetScaling Besitzt ein Objekt mehrere Schlagwörter, lösen diese in der sortierten Reihenfolge die Ereignisse aus Vereinfachte Filterung von Ereignissen in der Ereignis-Protokollierung Viele Grüße, Neo
metallix Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Auch WOW! from downunder NZ.....jetzt weiss ich warum ich einfach nicht einschlafen konnte.
Goetz Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Doppelklick auf ein Gleis - > alle Gleise eines Strangs markiert Strg-C -> alle markierten Gleise in Zwischenablage kopiert Variablen eines Objekts öffnen neue Liste angelegen Bearbeiten drücken Strg-V drücken -> alle kopierten Gleise sind als Objekte in diese Liste eingepflegt Das ist der Oberhammer, Neo!!!!
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Eine Frage hätte ich dazu: Was unterscheidet "Tabelle" und "Liste"? Funktionieren die gleich/ähnlich? Wann nimmt man das eine und wann das andere? Gruß Timba
Goetz Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 (bearbeitet) Eine Liste hat nummerierte Zellen In einer Tabelle hat jede Zelle hingegen einen Namen Die nummerierten Zellen benutzt du, wenn du über die Liste "iterieren" möchtest. Das heißt, wenn du in einer Schleife alle Elemente dieser Zelle ansprechen möchtest. Die namentlichen Zellen der Tabelle benutzt du, um verschiedene Werte in einer Tabelle zusammenzufassen, die du nachher individuell nutzen möchtest. Alle Waggons eines Zuges würde man in einer Liste speichern. Die verschiedenen Werte eine Waggons (Ziel, Ladung, Gewicht etc.) in einer Tabelle Und beides kann man kombinieren: Hier ist ein Beispiel für einen Zug mit drei Waggons: -- Liste mit 3 Elementen. Jedes Element ist eine Tabelle Zug = { [1] = {Ziel = "Hamburg", Ladung = "Rüben", Gewicht = 8}, [2] = {Ziel = "Bremen", Ladung = "Bier", Gewicht = 6}, [3] = {Ziel = "Kiel", Ladung = "Gerste", Gewicht = 7.5}, } for i = 1, #Zug do local Text = string.format("Waggon %d hat das Ziel %s", i, Zug[i].Ziel) print(Text) end Bearbeitet 23. Oktober 2019 von Goetz Bild hinzugefügt
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo Götz, vielen Dank für die Erklärung. Meine Irritation rührt vermutlich daher, weil du in dem sehr nützlichen Tutorial zu Lua schreibst: "Für diesen Zweck bietet Lua Tabellen. Und in Lua gibt es nur Tabellen. Andere Programmiersprachen kennen außerdem Listen, Dictionaries, Tupfes und mehr. Lua fasst das alles in einem Typ 'table' zusammen." Das Tutorial habe ich nun schon einige Male durchgelesen, um mir die nötigen Informationen zum Umgang mit Lua zu holen, dass ich es fast auswendig kann. Und die "for i, x do"-Schleife funktioniert ja auch mit einem Lua-Table. Mein Denkfehler ist vielleicht der, dass wir hier im MBS sind und nicht im Lua. Kann das sein? Gruß Timba
Goetz Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Ja, stimmt. Lua unterscheidet nicht zwischen Listen und Tabellen. Im Gegensatz zu anderen Programmiersprachen. Aber Objektvariablen und nun auch die Listen und Tabellen in Objekten (und Modulen) sind keine reinen Lua Dinge. Da ist Lua nur der Übermittler. Deshalb unterscheidet das MBS bei Objekten und Modulen zwischen Tabellen und Listen.
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Bei mir funktioniert's nicht. - schnief -
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 (bearbeitet) Aaaahhh ... A = $("Ereignisse").variables["Gleise"] print(#A) Funktioniert ja doch! Bearbeitet 23. Oktober 2019 von Timba
Goetz Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 (bearbeitet) A -- ist die Adresse der Tabelle. Ein Pointer. #A -- ist die Anzahl der Elemente A[1] -- ist der Inhalt der ersten Zelle von A A[1].name -- ist der Name des Objekts in Zelle 1 (wenn die Zelle ein Objekt enthält.) Bearbeitet 23. Oktober 2019 von Goetz
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Ja, habe ich bemerkt. Habe versucht, die Tabelle direkt anzusprechen wie in Lua, aber das war nix. Ich muss mich stets daran erinnern, dass eine Tabelle in MBS nicht dasselbe ist wie eine Tabelle in Lua. Dafür ist es aber Gold wert, dass die Werte gespeichert bleiben.
Goetz Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 vor 2 Minuten schrieb Timba: Habe versucht, die Tabelle direkt anzusprechen wie in Lua Das war auch in Ordnung. Mit der Zeile A = $("Ereignisse").variables["Gleise"] hast du ja die Tabelle an eine Lua Tabelle namens A übergeben. Aber es ist auch in Lua nicht sinnvoll mit print(A) "die Tabelle" auszudrucken. Weil du damit nur den pointer bekommst. Du willst die Elemente ausgeben. Oder - wenn die Elemente Objekte sind - die Namen dieser Objekte. for i = 1, #A do print(A[i].name) end
Timba Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Ja, genau. Bei meinem allerersten Versuch hatte ich versucht, genau wie in Lua die Tabelle direkt anzusprechen. A = #Gleise Das funktionierte natürlich nicht. Irgendwann dämmerte es mir, dass Tabellen/Listen ja wie Variablen angelegt und logischerweise auch entsprechend angesprochen werden müssen, also stattdessen: A = #$("Ereignisse").variables["Gleise"] Nun habe ich es kapiert. (Hoffentlich)
EASY Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo Neo, vor 5 Stunden schrieb Neo: über das automatische Programmupdate steht eine neue Vorabversion für die Version V5 zur Verfügung Nix mit automatisch... kann man das MBS auch irgendwie dazu bewegen, daß es mal nachschaut ob ein Update zur Verfügung steht? Gruß EASY
Andy Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Bin mal gespannt, ob ich meinen 15ms-Seilbahnlogik-Timer nun in einer Loop mit einer Verzögerung verschwinden lassen kann, damit er mir das EP nicht voll haut. Dann bin ich mindestens genauso gespannt auf die neuen Höhenfeld-Dinge. Das könnte in einer Ummodellierungsorgie enden, damit ich Gnade bei streit_ross finde. Vor allen Dingen wird das bei schräg liegenden Tunnellöchern sehr helfen. Die ganze Zeit hatte ich in V4 die Arrays (also Listen/Tabellen) bei den OV so vermißt. Mit Lua habe ich's umgehen können. Aber jetzt könnte man mit Status- und Positionsdaten sogar Zwischenstände 'sichern'. Das wird interessant. Gruß Andy p.s.: @EASY Bild für Dich!
EASY Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo, vor 8 Minuten schrieb Andy: p.s.: EASY Bild für Dich ... daß es da stehen sollte weiß ich schon... nur bei mir steht da nichts... ... darum Frage ich ja bei Neo nach, wie man das MBS dazu bringen kann, daß da was steht, wenn es von sich aus noch nicht darauf gekommen ist, daß da was stehen sollte... Gruß EASY
Andy Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Ich wage mich jetzt kaum das zu posten:
EASY Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo Andy, vor 3 Minuten schrieb Andy: Ich wage mich jetzt kaum das zu posten ... das kannst Du ruhig posten... nur derjenige, der mir das Häkchen dort weggemacht hat, sollte dies lieber nicht posten Gruß EASY
fzonk Geschrieben 23. Oktober 2019 Geschrieben 23. Oktober 2019 Hallo EASY, vor 2 Stunden schrieb EASY: nur derjenige, der mir das Häkchen dort weggemacht hat, sollte dies lieber nicht posten wenn du ihn findest sag mir bescheid, bei mir hat er es auch geklaut Gruß Frank
Tesla Geschrieben 24. Oktober 2019 Geschrieben 24. Oktober 2019 Hallo ihr beiden, muß feststellen, da ist wohl ein Häkchen-Dieb unterwegs... Gruß, Michael
fex Geschrieben 24. Oktober 2019 Geschrieben 24. Oktober 2019 Aber HALLO, bei mir war er auch. Gruß fex
Timba Geschrieben 24. Oktober 2019 Geschrieben 24. Oktober 2019 Warum sind bei mir jetzt so viele Häkchen?
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden