-
Gesamte Inhalte
5983 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
Dann darfst du nicht die Wagengruppe als ein Element übergeben. Willst du den Zug aus mehreren Wagengruppen zusammenbauen und am Ende eine lange Wagenliste unter "Zug" haben? Dann wird es etwas umständlicher, weil du die Elemente der Wagengruppe einzeln an die neue Liste anhängen musst: local t1 = Gleisort.variables.Zug local t2 = Fahrzeug.variables.Wagengruppe for Platz, Element in ipairs(t2) do table.insert(t1, Element) end Gleisort.variables.Zug = t1 die Methode "in ipairs()" geht eine komplette Liste durch und übergibt Eintrag für Eintrag die Platznummer und das gespeicherte Element. Mit der for-Schleife wird das wiederholt, bis alle Elemente der Liste ausgelesen wurden. In der Schleife wird jedes gefundene Element an die temporäre Liste t1 angehängt. Und diese Liste wird dann zuletzt an die Variable Zug übergeben. Die Verwendung der lokalen Variablen t1 und t2 dient der Geschwindigkeit. Diese Variablen gelten nur für die Dauer dieser Aktion und werden anschließend gleich wieder gelöscht. Weil sie nur kurz "leben", kann man sie im kleinen, aber schnell erreichbaren Speicher lagern, der im Prozessor selber steckt.
-
und was steht in der Liste? Und wenn du die Probleme nicht beschreibst, zu denen etwas führt, kann ich dir auch nicht helfen sie zu lösen ... in was zu übernehmen? Die einzelnen Elemente einer Liste sind durchnummeriert. Die Nummer eines Elements nennt man Index. Mit dem Index kannst du jedes Element einer Liste ansprechen. Sorry, aber das ist nicht wirklich klar, was du willst. Es geht um Gruppen, die beim Ablaufen zusammen bleiben sollen. So viel verstehe ich. Aber was du da genau versuchst, ist deinen Worten nicht zu entnehmen. Und deshalb kann ich dir auch nicht sagen, was du dabei anders machen musst.
-
das habe ich verstanden, Old Grey und wenn du mein Bispiel studieren würdest, dann könntest du sehen, warum es die Antwort auf deinen Wunsch ist. Dass ich im Beispiel etwas anderes als Gleisnummern in die Liste schreibe, ist doch für das prinzipielle Verständnis ganz egal. Also: Hast du dir das Beispiel angeschaut?
-
Viel einfacher? Hast du mein Beispiel mal angeschaut? Und verstanden? Listen in Objektvariablen kannst du nicht erweitern oder kürzen. Weil das keine dynamischen Listen sind. Im Gegensatz zu Lua-Tabellen. Die sind immer dynamisch. Mein Beispiel macht genau das, was du wünscht.
-
Die Listen in Objektvariablen sind eher mit Tabellen oder Dictionaries vergleichbar. Aber du kannst die Liste temporär in eine Lua Tabelle kopieren. darauf Lua Methoden wir table.remove() und table .insert() anwenden und dann das Ergebnis wieder in die Variable zurück kopieren. Die table.insert Variante siehst du in diesem Beispiel, dass ich gerade erst für Wüstenfuchs gebaut hatte: B48D6FB2-F857-47B7-95A1-D66DB8FE4337
-
Probleme mit Import von Figuren aus Makehuman und Blender
Goetz antwortete auf happyfools Thema in Modellbau mit externen Programmen
Die Fehlermeldung ist doch gut zu verstehen: Auf der Festplatte D. wird im Ordner C die Datei brown_eye.png nicht gefunden. Das ist sehr wahrscheinlich ein Bild mit der Textur für das Auge. -
Wenn das ausgewählte Objekt mehrere Variationen enthält, dann siehst du im Eigenschaftenfenster dieses Pinselsymbol Darunter ist die Auswahlliste mit allen Variationen zum Modell
-
Du musst an jeder Einfahrt in diesen Bereich wissen, wo der Zug ausfahren soll. Keinesfalls darfst du in solchen Gleisbildern Weichen spontan oder sogar zufällig dann schalten, wenn du sie erreichst. Wenn du bei der Einfahrt den Weg bis zur Ausfahrt kennst, dann weißt du auch, welche Weichen du in welche Stellung bringen musst. Bei diesen Weichen setzt du eine Variable "verriegelt" auf true. Eine Weiche darf nur umgeschaltet werden, wenn sie nicht verriegelt ist. Du verriegelst Weichen nur dann, wenn sie in der richtigen Lage sind. Eine Weiche darf nur umgeschaltet werden, wenn alle Signale, die diese Weiche decken, auf Halt stehen. Weichen werden entriegelt, wenn der Konfliktpunkt (= meistens die Weiche selbst) verlassen wurde. Ein Signal geht erst dann auf Fahrt, wenn alle Weichen richtig liegen und verriegelt sind. Dafür musst du im Signal für jeden Weg die Weichen mit ihren Lagen speichern. Das wäre (aus dem Kopf) das Regelwerk, mit dem ich es versuchen würde. Wenn die Kreuzung keine DKW, sondern eine einfache Kreuzung ist, dann musst du sie wie eine Weiche behandeln. Also "verriegeln", wenn sie zum Weg gehört und die Verriegelung aufheben, wenn du sie verlässt.
-
Das freut mich mächtig, Aloys
-
Dann musst du alle drei Namensschilder in eine Liste eintragen. Außerdem brauchst du einen Zähler. Mit jedem Waggon, der über deinen Gleiskontakt fährt, addierst du zum Zähler eins hinzu. So hast du immer den richtigen Listenplatz für die nächste Beschriftung verfügbar. Du wählst das Schild aus der Liste aus, indem du den Zähler als Index benutzt.
-
sorry, ich hatte keine Ahnung um welche Kinderschar es da ging. Na, dann hast du ja jetzt genügend Ansporn um zu lernen, wie es geht Und die Kinder lernen dabei auch etwas sehr nützliches: Geduld.
-
das neue Portal ist eine willkommene Verbesserung
-
lesen die nicht mit? Und wenn doch - ist das kein Ansporn für sie, das nötige Wissen zu erwerben, damit sie ihren Wunsch umsetzen können? Erst benutzen und dann lernen ist die falsche Reihenfolge. Das geht weder beim Autofahren noch beim MBS.
-
Es tut mir leid, Aloys, aber deine Beschreibung ist zu dürftig, um dir den richtigen Tipp zu geben. Wenn alle Wagen dasselbe Kontaktgleis überfahren, woran kann man dann unterscheiden, welcher Wagen welches Textfeld beschreiben soll? Willst du die Felder 1, 2 und 3 einfach der Reihe nach beschreiben? Erster Waggon ins erste Feld, zweiter Waggons ins zweite und dritter ins dritte? Oder fahren sie anschließend zu drei verschiedenen Zielen mit zugehörigen Textfeldern? Ich sehe deine Anlage nicht, Aloys.
-
Ja, das geht. Aber ich habe das Beispiel bewusst einfach und sehr übersichtlich gehalten, damit du es studieren kannst. Du sollst ja nicht nur sehen, dass es geht sondern vor allem auch daraus lernen, wie es geht. Und erst, wenn dir das Wie in allen Punkten klar ist, solltest du dir Gedanken über den Einsatz in größeren Umfeldern machen. Der dürfte dann auch keine Hürde mehr darstellen.
-
Anlagen-Objekte per Variable in Lua ansprechen.
Goetz antwortete auf siggis Thema in Fragen zur Steuerung
Das macht keinen Unterschied. Du kannst trotzdem den <> Knopf dafür verwenden und den Helfern damit entgegenkommen. Ich meine damit den <> Knopf hier in der Kopfzeile des Eingabefeldes. Nicht den in der EV. Ein Screenshot der EV ist nicht hilfreich, weil dann niemand deinen Code kopieren und eventuell abändern könnte, um dir eine Lösung zu präsentieren. Mit dem <> aus der Kopfzeile sähe dein Beispiel so aus: local ZugName = "RE 1111“ local AusgabeText = ZugName $("txt-Gleis-1").text = AusgabeText und for i 1,3 do local ZugName = "RE 1111“ local AusgabeText = ZugName local GleisName = "txt-Gleis-" .. i (GleisName).text = AusgabeText end Und mit Neos Vorschlag dann so: for i 1,3 do local ZugName = "RE 1111“ local AusgabeText = ZugName local Textfeld = layout:getEntityByName("txt-Gleis-" .. i) Textfeld.text = AusgabeText end -
Anlagen-Objekte per Variable in Lua ansprechen.
Goetz antwortete auf siggis Thema in Fragen zur Steuerung
Bitte, Siggi - pack deine Code Beispiele in den dafür vorgesehenen Kasten. Du siehst doch bei anderen, wie viel lesbarer das ist? Der Knopf dafür ist dieser hier: <> -
Und die Erkenntnis daraus? Kopieren und Vergleichen ersetzt kein Begreifen.
-
Ich habe ein kleines Beispiel für dich gebaut und als Entwurf hochgeladen. Die ID ist: B48D6FB2-F857-47B7-95A1-D66DB8FE4337
-
Ergänzend zu Brummis Hinweis Das stimmt nicht ganz, Tjakrkheinrich. Es wird nur dem auslösenden Fahrzeug die Geschwindigkeit zugewiesen - egal, auf welchem Gleis oder Kontakt es gerade steht. Das würde selbst dann keine Fehler verursachen, wenn an mehreren Stellen Bremskontakte dasselbe Schlagwort hätten. Der Befehl geht immer an denjenigen, der den Kontakt gerade verlassen und somit dieses Ereignis ausgelöst hat. Niemanden sonst. Viele Grüße Götz
-
mit der grafischen EV geht es meines Wissens nicht. Aber wenn du für diesen Part zu Lua wechselst, dann kannst du mit dem Befehl table.insert() Elemente an eine Liste anhängen oder an einer bestimmten Position einfügen.
-
Ja, in V6 können sie das jetzt. Deine Idee lässt sich also genau so umsetzen.
-
Hallo Joachim, In der V6 wird deutlicher als zuvor zwischen Simulations- und Planungsmodus unterschieden. Im Planungsmodus kannst du die Signale mit den Pfeiltasten verschieben. Im Simulationsmodus kannst du sie mit den Pfeiltasten umschalten. Gruß Götz
-
Das unterstrichene Wort ist mit einer URL zum Video versehen