-
Gesamte Inhalte
5795 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
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
-
Autopilot with cars
Goetz antwortete auf raf.sonnevilles Thema in [International] Problems and solutions
the unfinished (!) layout from the video may be found with this content ID: 1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E -
Ein erweitertes Studienobjekt für dich: local GleisName = Gleis.name local Zug = layout:getVehiclesOn(Gleis) local ZugName = "" local ZugListe = {} local ZugTeile = "" local Loks = 0 local Wagen = 0 local AusgabeText = "" local TextMuster = [[ Ort: %s Zug: %s %s Loks: %d Wagen: %d Gesamt: %d]] for k, v in ipairs(Zug) do table.insert(ZugListe, v.name) if v:hasEngine() then ZugName = v.name Loks = Loks + 1 else Wagen = Wagen + 1 end end ZugTeile = table.concat(ZugListe, "\n ") AusgabeText = TextMuster:format(GleisName, ZugName, ZugTeile, Loks, Wagen, Loks+Wagen) $("GBS_txt-Gleisbelegung").text = AusgabeText hasEngine() ist eine Methode im MBS, welche true zurück gibt, wenn das Objekt einen Motor enthält, ansonsten false Zur Verwendung des Doppelpunktes in Lua Skripten habe ich vor einer Weile ein kurzes Video aufgenommen
-
Ich hatte meine Vermutung zwischenzeitlich korrigiert, weil ich in eigenen Versuchen neue Erkenntnisse gewonnen habe. Schau mal bitte, was da jetzt steht. Das wird dir weiter helfen.
-
perfekt Weil die Variable nur eine Adresse enthält und nicht den Namen. Hast du es schon mit Gleis.name versucht?
-
möglicherweise durch Einrückungen in deinem Code? Im mehrzeiligen String dürfen die natürlich nicht stehen, weil Lua sie dort nicht als Einrückungen, sondern als Teil des Textes versteht. Die entstehen durch den Zeilenumbruch im Textblock. Der fügt (aus mir unbekanntem Grund) noch einen Tab-Sprung ein. Bei der Auflistung machst du den Zeilenumbruch mit \r. Wenn du da noch ein \t dahinter setzt, stehst alles auf einer Höhe. Der Name eines Objekts ist eine Eigenschaft namens "name". Und der Inhalt dieser Variablen ist ein String. Das ist die Reihenfolge, in der das Modellbahn Studio die Fahrzeuge auf dem Gleis liefert. Viel lieber hätte ich gelesen, dass du sie studiert und verstanden hast. Im Übrigen musst du nicht jedes Mal mein gesamtes Posting zitieren, um darauf zu antworten.
-
Hallo Siggi, Dann möchte ich dir gerne noch eine (bessere) Alternative anbieten. Du kannst Strings in Lua erstens mehrzeilig anlegen und zweitens mit Platzhaltern (für Namen, Nummern etc.) versehen. Der Befehl string.format() setzt dann der Reihe nach die Daten dort ein, wo die Platzhalter stehen. Ein mehrzeiliger String wird in doppelte eckige Klammern anstelle der Anführungszeichen eingebettet. Platzhalter markiert man mit einem vorangestellten % Zeichen. Der nachfolgende Buchstabe deklariert dann den Typen, der hier eingesetzt werden soll. %s ist der Platzhalter für einen String, %d ist der Platzhalter für eine Ganzzahl. local TextMuster = [[ Zug: %s %s Loks: %d Wagen: %d Gesamt: %d ]] local AusgabeText = string.format(TextMuster, Zugname, Zugteile, Loks, Wagen, Loks+Wagen) $("Versuchstext").text = AusgabeText Wie du siehst, sind die Zeilenumbrüche hier einfach im Textmuster enthalten. Der Steuercode für eine neue Zeile entfällt damit. Das wäre in Lua der "amtliche" Umgang mit Textbausteinen. Viele Grüße Götz
-
Für deinen Ausgabetext würde ich dir gerne eine Hilfe anbieten: local AusgabeText = { "Zug: "..Zugname, Zugteile, "\rLoks: "..Loks, "Wagen: "..Wagen, "Gesamt: "..Loks+Wagen } $("GBS_txt-Gleisbelegung").text = table.concat(AusgabeText, "\r") das ist noch ungeprüft. Kann also Fehler enthalten. Beachte bitte, dass ein \r von table.concat eingesetzt wird und deshalb nur Loks einen (zweiten) \r enthält. Ich finde, dass diese Form leichter anzupassen ist, wenn man Texte ändern möchte. table.concat fügt alle Zellen einer Liste als Text aneinander. Das zweite Argument bestimmt, was als Trennzeichen zwischen die Zellinhalte kommt. Statt des \r vor Loks hätte ich auch einen leeren String einfügen können. Dann entspräche die Tabelle optisch noch mehr dem Ausgabetext.
-
You may also use the "Animation has come to a halt" event to respond to the turntable reaching it's destination. Split the event in two, handle each part separately. Better still: three events send train to turntable turntable entered - send it around turntable destination reached - send off whoever occupies turntable
-
Must be, because Simons says it leaves the turntable when he sets it in motion manually. And yet, you may still be right. Because if the 2 seconds delay is too short, the track isn't connected yet, when the speed command is issued. Have you tried a longer delay too? Remember that the delay begins after you issued the turn command, not after the turntable reached it's destination. in a funnier way than you may have realised, because a "Plattenspieler" is a record player. Your original title is hilarious
-
Turner and Hooch vielleicht?
-
Ich dachte, C.Fuchs meinte diesen Film.