Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5754
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. 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.)
  2. 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.
  3. Goetz

    Neue Beta-Version V5

    und heute auch nicht. Ich habe deinen Beitrag komplett zitiert und dann alles bis auf die drei Worte gelöscht, Ich nutze Microsoft Edge. (für den Fall, dass es Browser-abhängig ist.)
  4. 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
  5. 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!!!!
  6. Exzellent, Neo
  7. Goetz

    Neue Beta-Version V5

    Das Fehlverhalten, welches du beschreibst, kann ich hier nicht nachstellen. Egal, wie ich bei gedrücktem Mausrad auf die rechte Maustaste klicke - beide Tasten behalten ihre vorherige Funktion bei. Ich kann anschließend (nachdem ich alle Tasten losgelassen habe) wieder wahlweise das Mausrad drücken, um zu drehen oder die rechte Maustaste drücken, um die Anlage zu verschieben.
  8. Natürlich. Das hatte ich nicht bedacht. Pardon. Auf die Schnelle habe ich die hier (ohne Laterne) bei Ebay gefunden. In der Realität sind solche symmetrischen Doppelweichen möglicherweise im Bereich Kleinbahn, Schmalspur oder auch bei der Straßenbahn zu finden. Das weiß ich nicht sicher.
  9. Ergänzend zu Maiks Bildern: Echte Drei-Wege-Weichen sind vor allem bei der Modellbahn zu finden. Bei der großen Bahn findet man sie nahezu gar nicht. In Mails unterem Bild ist gut zu erkennen, warum: Die beiden aneinander liegenden Zungen machen das Gebilde unsicher und störanfällig. Etwas häufiger findest du die asymmetrischen 3-Wege-Weichen, wie auf Maiks erstem Bild. Die Zungen der hinteren Weiche liegen dabei frei beweglich innerhalb der vorderen Weiche. Damit bestimmt die Länge dieser Zungen den Abstand der beiden Weichen zueinander. Solche Weichen findest du in kleineren Güterbereichen mit beengten Platzverhältnissen. @Easydiver Die Weichenlaternen auf beiden Seiten der Weiche wirken unrealistisch. Besser wäre, du würdest nur eine aufstellen. Aber es ist clever, wie du die Anzeige aller drei Stellungen getrickst hast. Im Katalog fehlt eine geeignete Laterne für 3-Wege Weichen. Sie müsste auf der Rückseite ebenso einen Pfeil zeigen wie auf der Vorderseite. Und in der Animation müsste die "Gerade" Stellung in der Mitte liegen, damit alle drei möglichen Stellungen richtig angezeigt werden. Eine asymmetrische 3-Wege-Weiche kann zwei normale Laternen kurz hintereinander haben. Beide stehen dann auf der selben Seite des Gleises.
  10. 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.
  11. 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.
  12. Hallo Tom, hattest du bei meinem Video den Eindruck, dass ich damit Probleme gehabt hätte? greets Götz
  13. Vielen Dank. Das kann ich gut gebrauchen.
  14. Goetz

    Neue Beta-Version V5

    No, that's never a good idea. Your problem would be to keep your layout and the external data in sync. If you let your layout run for a while, all sorts of data will change and be entered into the external file. If at the end of your session you leave the MBS without saving your layout, the data in your external file no longer matches the state of your unchanged layout.
  15. Goetz

    Neue Beta-Version V5

    Best answer: Wait for the next update, which is coming soon. It will offer two new data types for object variables and module variables: lists and tables (difference being, that lists have consecutive numbers as cell indexes, whereas tables have named cells) It even allows for nested lists and tables in any combination. You may for instance list all your waggons by storing a table for each waggon (name, cargo, destination ...) inside your list of waggons. Alternative: (not recommended, but available now): convert your table contents into one long string and store that as text in one of your object/module variables. You'll need to write your own parser to convert it all back into a table. Do you know that you can (already) use any vehicle you know (say: the one that just triggered a contact) to ask the event manager for a list of all vehicles in the same train?
  16. Goetz

    Neue Beta-Version V5

    The track name is a string, containing a number. I didn't check the rest of your code properly. Sorry. your condition needs to be if voie == "6" then
  17. Goetz

    Neue Beta-Version V5

    Your code works just fine. But instead of printing "liste" you may want to print out the elements inside the table: voie = track.name print (voie) table.insert(liste, voie) if voie == 6 then vehicle.currentSpeed = 0 for k, v in ipairs(liste) do print("liste ", k," contains ", v) end end And to initialise your list, you may use liste = {} because all lists (actually tables) in Lua are dynamic. Besides, your Letters A to F were considered variables with the content nil. Your initial list had no elements.
  18. Stimmt - ich verstehe wirklich nicht, was an meiner Kritik "herablassend" war. Aber ich akzeptiere, dass es (nicht nur von dir) so empfunden wird. Und ich halte mich zukünftig mit kritischen Äußerungen zurück.
  19. Tut mir leid, SputniKK, aber so einseitig geht das nicht. Wer Lob sucht, der muss auch Kritik ertragen können. Du kannst nicht einfach nur das eine wollen und das andere verbieten. Wie Neo schon sagte, ist Kritik keine Einflussnahme. Egal, was ich zu deinem Modell auch äußere - es ändert nichts daran, dass du es ungehindert so bauen darfst, wie du möchtest. Kritikern den Mund verbieten und nur Lob hören wollen (und wie im Falle von FeuerFighter gleich mit Rückzug drohen, weil es neben all denen, die voll des Lobes waren, einen einzigen gab, der Kritik geäußert hat) haut nicht hin ...
  20. Nein, die ist nicht die Ursache. Diese Verzögerung soll nur sicherstellen, dass bei übernommenen Anlagen die Reihenfolge von Aktionen beibehalten wird. Eine Verzögerung von 0 bewirkt, dass der nachfolgende Befehl erst im nächsten Frame (sprich: bei der Berechnung des nächsten Bildes) ausgeführt wird. In deinem Fall scheint aber trotz dieser Maßnahme genau das Problem zu entstehen, welches durch Verzögerung 0 verhindert werden soll. Bei der erneuten Prüfung deiner Bedingung für das Ereignis 1 ist die Anzahl gestarteter Züge offenbar noch nicht richtig registriert. Um nach der eigentlichen Ursache zu forschen, müsste ich aber die tatsächliche EV anschauen. Vielleicht kannst du die Aufgabe in V5 einfacher lösen? Ich habe den Verdacht, dass das Aktivieren und Deaktivieren von Ereignissen durch die Arbeitsweise der V3 bedingt war und in der V5 gar nicht mehr nötig ist.
  21. Ich meine die Fenstereinfassungen aus hellbraunem Holz, Feuerfighter. die sind nicht modelliert sondern aus schrägem Winkel fotografiert.
  22. Was hat es mit dem Alter zu tun, wenn ich vom linken Fensterrahmen die Innenseite sehe aber nicht vom rechten? Es sieht einfach falsch aus, wenn man Fenster einsetzt, die aus der Schräge fotografiert wurden.
  23. Sorry FeuerFighter, aber die Fenster funktionieren aufgrund der perspektivischen Verzeichnung so nicht. Man sieht das Problem gut an der schmalen Hauswand rechts im dritten Bild.
  24. Die wird bei meinem letzten Lua-Skript automatisch erkannt. Die Variablen im Vorderteil sind mit dieser neuen EV nicht mehr erforderlich. Stattdessen wird jetzt über das auslösende Fahrzeug der ganze Zugverband abgefragt und alle Fahrzeuge in diesem Verband in eine Tabelle eingetragen.
×
×
  • Neu erstellen...