-
Gesamte Inhalte
5984 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
Meines Erachtens ist das sehr sinnvoll, ja! Die zweigleisigen Module sind vom Konzept prima und würde von einer Minimax-Optik profitieren. Und die Möglichkeit, durch Übergangsstücke oder selbst gebaute Streckenabschnitte alles miteinander zu verbinden, steigert die Variationsmöglichkeiten enorm. Ich würde mich sehr über solche neuen zweigleisigen Module freuen.
-
You really need to work on your communication skills, ademes! I'm not eager to work my way through every aspect of your layout, until I understand what you're doing where, when and why. Just because you're to lazy to give a proper description. And don't bother now. I'm done with this ...
-
Another one? We don't even know yet if your previous one has been answered to your satisfaction or not. you may turn the selection into a group and name that group. and add variables, keywords etc. to the group
-
Das liegt vermutlich daran, dass Lok und Tender mit einer speziellen, kurzen Kupplung verbunden sind, die im normalen Betrieb verbunden bleibt. Dennoch sind es zwei separate Fahrzeuge - auch in der Realität. Außerdem gibt es neben den Schlepptenderloks (mit separatem Tender) auch noch Tenderloks, die ihren Vorrat direkt auf der Lok haben und keinen separaten Tender mitführen. Vielleicht hast du die in Erinnerung?
-
Könnt ihr bitte erst einmal dem Fragesteller die Chance lassen den entscheidenden Hinweis zu finden, dass Tabellen derzeit nur mit der Beta-Version möglich sind! Und dass er dafür die Option "Automatisch auf Vorab-Programmversionen aktualisieren" aktivieren muss. Das geht hier gerade in belanglosen Nebenthemen unter! Danke
-
Animation an einem bestimmten Punkt über die EV stoppen
Goetz antwortete auf Teslas Thema in Fragen zur Steuerung
Nö, Lua brauchst du nicht. nur eine Stoppuhr. gib in die EV drei Aktionen ein. Animation starten Verzögerung (kann auch in Bruchteilen von Sekunden eingegeben werden) Animation stoppen -
Wenn du eine Anlage aus dem 3D-MBS heraus lädst - ja. Aber möglicherweise nicht, wenn du umgekehrt versuchst über die Anlagendatei das zugehörige 3D-MBS zu starten. Weil er das dann gar nicht erst findet. Und was nicht läuft, das kann auch keine Meldung ausgeben.
-
Sorry - mein Fehler. Die 3D-MBS Version, die ich für die Anlage benutzt habe, ist noch im Test und nur verfügbar, wenn du in den Einstellungen deines 3D-MBS die Option "Automatisch auf Vorab-Programmversionen aktualisieren" aktivierst. Deshalb findest du auch keine Tabellen in deinem MBS. Weil die erst mit der Version kommen, die aktuell noch im Beta-Test ist. Das hatte ich leider nicht bedacht.
-
Hallo @BauerHeini hier ist ein Beispiel für die von Neo vorgeschlagene Methode. Leg dir zuerst in der Kreuzung eine Tabelle an, in der du die Textfeld-Objekte festhältst. Das geht auf dieselbe Weise, die du auch für Variablen benutzen würdest. Die Tabelle ist nichts anderes als eine Variable mit mehreren Werten, die jeweils einen eigenen Namen bekommen. Und um diese Namen geht es. Die sind im weiteren Verlauf wichtig, um die einzelnen Textfelder ansprechen zu können. Als nächstes legst du in derselben Kreuzung drei weitere Tabellen an. Je eine für die drei Textfelder. Diese Tabellen füllst du mit den Texten für die Weichenstellung 0 bis 3 und benennst jeden Eintrag genau so, wie die Weichenstellung heißt. Jetzt kannst du jedem Textfeld anhand der beiden Tabellen immer den Text schicken, der zur aktuellen Weichenstellung passt. Und weil die Kreuzung, die ja das Ereignis auslöst, selbst diese Tabellen enthält, kannst du die EV sogar generisch schreiben. Also so, dass mit diesem einen Ereignis jede Kreuzung ihre zugehörigen Elemente und Werte findet. Du könntest jetzt diese Aktion zweimal kopieren, um auch die Textfelder oben und rechts anzusprechen. Dabei musst du nur im Objekt und im Text den Index bzw. Namen "links" in "oben" oder "rechts" ändern. Das legt nahe, dass es auch in einer Wiederholung geht. Und weil du keine Scheu vor Lua hast, ist hier das Skript dazu: for Name, Objekt in pairs(track.variables["Textfeld"]) do Objekt.text = track.variables[Name][state] end in pairs() arbeitet Tabellen paarweise ab und gibt diese Wertepaare an zwei Variablen aus. Das erste Element ist der Bezeichner einer Zelle, das zweite ihr Inhalt. Also zum Beispiel "links" und die Objektadresse des Textfelds, die unter diesem Bezeichner gespeichert ist. Ich habe den drei Listen mit den Weichenstellungen dieselben Namen gegeben, wie den drei Objekten in der Tabelle "Textfeld". So kann ich den Index aus der ersten Tabelle als Name für die zweite Tabelle (mit den zugehörigen Weichenstellungen) einsetzen. Anbei die kleine Demoanlage dazu: Weichenanzeige T-Kreuzung.mbp Viel Spaß beim Experimentieren Götz
-
Ich weiß, dass Hinweise zur Rechtschreibung nicht gerne gesehen werden, aber in diesem Fall ist es relevant! Mit dem Suchbegriff "Wekselbrücke" findest du sie nicht, weil die Schreibweise falsch ist. Mit dem Suchbegriff "Wechselbrücke" findest du diese hier in V5:
-
Das kannst du auch gar nicht. Die Fehlermeldung wäre "attempting arithmetic operation with a string" scnr
-
Ich weiß wusste nicht, wie er es macht. Aber als alter "Videot" würde ich es so angehen (und damit dasselbe tun wie Roter Brummer): Ein Bild mit allen drei Modulen aufnehmen. Dann das linke und rechte Modul entfernen und mit unveränderter Kameraposition ein zweites Bild aufnehmen. Im Grafikprogramm verblendest du dann beide miteinander. += Das ist schneller, präziser und einfacher als jede Form der Nachbearbeitung. Pardon @Roter Brummer, ich hatte die Bilder schon vorbereitet. Da musste ich es einfach posten, obwohl du das Prinzip schon hinreichend erklärt hattest.
-
When you create a table, each cell has a string as an identifier. So your numbers are converted to strings and in your window, these strings are sorted alphabetically, not numerically. A list is different, because the identifiers are numbers. A list ist iterable, a table is not. That's why the list entries are sorted numerically.
-
Da es noch eine Beta (= Test) Version ist, wird sie nicht automatisch angeboten. Du kannst aber unter den Einstellungen aktivieren, dass du solche Vorabversionen haben möchtest. Die Option dafür heißt: "Automatisch auf Programm-Vorabversionen aktualisieren". Andernfalls musst du einfach nur abwarten, bis die Betatest-Phase endet. Dann bekommst du ganz normal den Hinweis auf eine neue Programmversion.
-
Unglücklicherweise hat @randermann.tbb hinter dem @ ein Leerzeichen geschrieben. Deshalb bekam er keine Vorschläge und der Namen ist auch nicht verlinkt worden.
-
3D Anlage auf einer Internetseite veröffentlichen
Goetz antwortete auf norbert-grubes Thema in Anlagen
Den gibt es: Die Standard Ausgabe des 3D-Modellbahn Studio ist kostenlos. Damit kann der Besucher deiner Seite jede zur Verfügung gestellte Anlage laden. Und im Gegensatz zum Video hat der Betrachter damit auch die Möglichkeit, deine Anlage von allen Seiten zu betrachten, zu vergrößern etc. Nachtrag: Ich sehe gerade, dass Tom schon denselben Vorschlag gemacht hatte. Ich hatte zunächst nur die Antwort von Feuerfighter gelesen. Sorry. -
Gleiskontakt mit TR-Fahrbahn ( Transparid )
Goetz antwortete auf h.w.stein-infos Thema in Fragen zur Steuerung
Unter Verkehrswege\Gleise\Vorbild-orientiert\Transrapid -
As far as I know, you cannot detect it. You may need to monitor the speed at regular intervals.
-
Why use a back door when you can access the event directly? if ThisTable == nil then ThisTable = {} end table.insert( ThisTable, math.random() ) -- add to a table $("table has changed"):invoke(optional_arguments) -- call the related user event
-
Während des Betriebs der Anlage würde das bedeuten, dass zwei bewegte Szenen zugleich gerendert werden müssten. Damit hättest du die doppelte Rechenlast und dementsprechend für die Dauer der Überblendung nur die halbe Framerate. Das wirkt dann nicht mehr so sanft. @Roter Brummer Sehr schönes Video!
-
Keine Verzögerungen bei Wiederholungen möglich
Goetz antwortete auf BahnLands Thema in Fragen zur Steuerung
Hmmm - das ist für mein Empfinden keine gute Taktik. Besser wäre, du würdest aus der Liste der wartenden Zügen einen auswählen und nur dem die Ausfahrt gewähren. Dann löscht du ihn aus der Liste. Erst, wenn der Streckenabschnitt wieder frei ist, darf ein weiterer Zug ausfahren. Den entnimmst du jetzt wieder der Liste und schmeißt dann auch dieses Element raus. Durch die Sortierung der Liste kannst du auch noch die Reihenfolge festlegen. Wer sich neu anmeldet kommt ans Ende der Liste. Und die Ausfahrt bekommt immer der Zug auf Platz 1. Und so solltest du vielleicht immer verfahren, wenn du Wartezeiten einbauen willst: Ohne Iteration über die Liste. Stattdessen immer ein Element verarbeiten und dann aus der Liste schmeißen. -
Mit Schlagworten kriegst du das nicht hin, Baki. Die haben einen anderen Zweck. Stattdessen musst du allen Zügen eine Variable mit identischem Namen geben. Ich nenne sie in diesem Beispiel "Art" In dieser Variablen speicherst du Text. Und der Text bezeichnet die Zugart. Dann prüfst du in deiner Bedingung, ob die Variable "Art" den Text "S-Bahn" enthält.
-
For further clarification, here's a more generic explanation: whatever a function returns is placed at the very position where the function call happened. Meaning that you use the function call in place of the value. The function is called and fills the place by returning a value (or more). function buildSquare(arg) return arg * arg end number = 3 print( "The square of ", number, " is ", buildSquare(number) )
-
Manchmal hilft es dem Verständnis, enen Teil (wie in diesem Fall die Objektadresse) an einen Zwischenträger zu übergeben. Das macht die einzelnen Zeilen kürzer und bringt mehr Übersicht. local Objekt = $("Ereignisse").variables["LocklisteL"][1].Zug Objekt.variables["Gleis"]
-
Have you tried your code in Lua-Demo? Doesn't work there either. Reason: You don't catch the value that the function returns. And n is a local variable in foo. If you try to print n outside foo, it contains nil. try this instead: function foo(n) print ("function foo") return n*2 end catch = foo(4) print ("N = ", catch) postscript: I see that Martin gave you the same advice.