-
Gesamte Inhalte
5984 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
Abfrage des Wertes eines Bremskontaktes auf "Abremsen auf xx kmh" in der EV
Goetz antwortete auf Atruss Thema in Fragen zur Steuerung
Hallo Atrus, jeden Wert, den du setzen kannst, kannst du mit derselben Schreibweise auch auslesen: $("Gleiskontakt").trackContact.autoDecelerationSpeed = 15 -- setzt den Wert local var = $("Gleiskontakt").trackContact.autoDecelerationSpeed -- liest den Wert aus Gruß Götz -
Im Video vom Vortag erklärt Gerrit, woran es liegt: Die letzten Vorbereitungen des VERRÜCKTESTEN WELTREKORDS
-
Hallo Mica57, unter dem Menüpunkt "Ansicht" findest du eine Auswahl verschiedener Kombinationen: Lieben Gruß Götz
-
Hallo raifir, geh in den Eigenschaften des Gleises auf das Pinselsymbol Dann klickst du bei Tauschtextur auf die drei Punkte am rechten Ende. Jetzt wählst du dann und und Danach solltest du eine Auswahl von Farben vor dir haben.
-
Hallo Kutscher, du kannst in den Eigenschaften unter "Animationen" die "Endlosschleife" deaktivieren: antwortet Götz und grüßt zurück
-
Hallo C. In meinem Beispiel ist es sozusagen noch schlimmer. Ein Zug muss den Engpass verlassen, damit ein weiterer Zug die Freigabe bekommt. Das liegt daran, dass das "benutzerdefinierte Ereignis" für die Freigabe nur in zwei Fällen ausgelöst wird beim Umlegen des Kippschalters auf Position "an" beim Verlassen eines Auflösekontakts denn das Beispiel sollte dir nur demonstrieren, wie du eine Warteliste einrichten und abarbeiten kannst. Warum es sich bei dir anders verhält und ein Zug auch dann die Freigabe bekommt, wenn sich ein zweiter anmeldet, kann ich ohne einen Blick auf deine Schaltung leider nicht erkennen. Lieben Gruß Götz
-
Weil es die Performance verbessert. Es werden genau genommen keine "Texturen mit durchsichtigen Eigenschaften" dafür gemacht, sondern die Innenseite existiert einfach nicht. Das ist gute und gängige Praxis und wird in allen Programmen so gehandhabt. Mehr dazu findest du im Netz mit dem Suchbegriff "backface culling". ... siehst du, egal aus welchem Blickwinkel, immer nur von außen. Auch, wenn du (wie ein normaler Fahrgast) zwischen Dach, Pfeiler und Boden stehst, siehst du von allen Teilen immer nur die Außenseiten.
-
Er hat sich etwas unglücklich ausgedrückt, Andreas. Die Innenseiten sind nicht sichtbar. Von außen siehst du jede Fläche. Weil die Bahnsteige bei ihm noch keinen Abschluss haben, würdest du im Augenblick die Innenseiten sehen, wenn sie denn da wären. Sobald der Abschluss dran ist, brauchst du keine Innenseiten mehr, weil man das Objekt nur noch von außen sehen wird. Die Tunnelröhren sind umgekehrt konstruiert. Sie haben oft keine Außenflächen, sondern nur Innenseiten. Das führt dann zum von dir erwähnten Lichteinfall. Solide Objekte wie diese Bahnsteige sollten keine Innenseiten haben. Die Außenflächen sorgen für den richtigen Schattenwurf. Gruß Götz
-
Der Eintrag steht immer dann unter Ereignissen, wenn in der Aktionsliste Verzögerungen enthalten sind und eine dieser Verzögerungen gerade läuft ... Da sich dieses Ereignis immer wieder selbst aufruft und die Aktionen zwischen den Verzögerungen in Bruchteilen von Sekunden erledigt werden, steht bei der Ampelsequenz permanent "Verzögerungen" drunter. Es sei denn, du schaltest die Ampel mit dem Kippschalter ganz ab. Dann verschwindet der Eintrag am Ende der aktuellen Sequenz. Wenn ein Timer im Spiel ist, dann heißt er "Timer" und nicht "Verzögerungen"
-
In meinem Beispiel ist kein Timer im Einsatz. Scroll bitte im Ereignis "Ampelsequenz" ganz nach unten. Dort findest du unter der Bedingung "Schalter steht auf an" den Aufruf des Ereignisses "Ampelsequenz". Ampelsequenz ist ein "benutzerdefiniertes Ereignis". Das bedeutet, dass du es wie eine Funktion aufrufen kannst. Bei mir geschieht der erste Aufruf dann, wenn der Schalter auf "an" umgeschaltet wird. Und zum Schluss ruft sich dieses Ereignis selbst wieder auf. Bei diesem erneuten Aufruf werden die Adressen von Ampel 1 und Ampel 2 vertauscht. Sprich: Der Inhalt der Variablen "Ampel 2" wird an das Argument "Ampel 1" übergeben und umgekehrt. So muss ich den Ablauf "Rot - Rot, Gelb - Grün - Gelb" nur einmal schreiben und kann ihn im Wechsel für die Achse Nord-Süd oder Ost-West verwenden. Wenn du stattdessen einen Timer verwenden möchtest, dann musst du zuerst die Sequenz so vervollständigen, dass sie den kompletten Zyklus für alle Ampeln enthält. Du benötigst dann keine Variablen "Ampel 1" und "Ampel 2", sondern adressierst die Ampeln direkt. Mit dem Schalter bedienst du nur noch den Timer. Und wenn der abgelaufen ist, löst du die Ampelsequenz aus. Die Dauer des Timers muss einem kompletten Zyklus entsprechen.
-
Dann sollten wir diese Probleme lösen. Kannst du sie beschreiben?
-
Also, was du da versuchst, ist nicht der Sinn und Zweck von "repeat". Das ist nicht dafür gedacht, dass man auf die Änderung äußerer Umstände wartet. Das ist für Lua-interne Dinge. Beispielsweise kannst du damit einen Datensatz durchsuchen, bis du ein bestimmtes Element gefunden hast. Du musst dir bitte vor Augen halten, dass hier zwei Programme - Lua und das MBS - parallel laufen. Lua kann dem MBS sagen, was es tun soll. Aber ausführen muss es das MBS. Und solange du in dieser Lua Schleife steckst, kriegst du Änderungen von außen gar nicht mit. In deinem Fall wird die Geschichte noch durch die Verzögerungen erschwert. Denn die haben nichts mit Lua zu tun. Die sind ein cleveres Konstrukt, welches Neo im MBS implementiert hat. Sie sorgen dafür, dass dasselbe Skript nach Ablauf einer Zeit erneut aufgerufen wird. Bei diesem Aufruf wird eine Variable gesetzt, die in Lua ausgewertet wird um zu unterscheiden, an welcher Stelle es weitergehen soll. Das funktioniert aber nur, wenn das Skript zuvor verlassen wird. Und das verhindert dein repeat leider. Du musst dir eine andere Taktik ausdenken. Weder "repeat", noch seine Geschwister ("while" etc.) sind für diesen Zweck geeignet. Lieben Gruß Götz
-
genau so. Das liest sich leichter, findest du nicht?
-
Das wäre für mich leichter, wenn du dein Skript in ein entsprechendes Fenster setzt, Der Knopf dafür ist <> Vielen Dank :-)
-
Doch, das gibt es, Heinz Das folgende Skript funktioniert: n = 1 repeat n = n + 1 until n == 5 $("Beschriftung 1").text = n $("Beschriftung 2").text = "done"
-
Hallo Heinz Ja, ist sie. Bei der Ampel (Standard) finde ich leider keinen Weg, die namenlose "Eigenschaft", welche das Signalbild regelt, anzusteuern. Lieben Gruß Götz
-
Hallo Heinz, erstens würde ich zur Ampel 1 (Standard) raten, weil die Signalstellungen hat. Und zweitens kannst du Animationen ansteuern, indem du in der EV unter "Animationen und Geräusche" die Aktion "Animation starten" bzw. "Animation stoppen" auswählst. Da du bei der Ampel zu bestimmten Punkten in der Animation springen und dort verharren willst, ist "Animation stoppen" hier die richtige Wahl. Als Wert benutzt du die Zahl, die dir das gewünschte Ampelbild gibt. Die Werte reichen von 0 bis 1, nicht von -100 bis +100 Sorry, das war voreilig. Unter den Animationen finde ich diese Ampel (Standard) nicht. Die Eigenschaft, welche das Signalbild regelt, ist keine Animation. Lieben Gruß Götz
-
Hallo Heinz, Wopitir hat kürzlich weitere Videos veröffentlicht, in denen er Neuerungen in V6 behandelt: Wolfgang Pinzer - YouTube Aber vieles lässt sich am besten klären, wenn du konkrete Fragen stellst, die wir beantworten können. So ist zumindest meine Erfahrung. Lieben Gruß Götz
-
-
Hallo BauerHeini, du kannst sie dir gerne ansehen. Ich habe sie eben noch einmal als "Entwurf" veröffentlicht: 1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E Entwürfe verfallen nach 30 Tagen. Deshalb war die Anlage nicht mehr verfügbar. Die Steuerung ist noch unvollständig. Meine Linksabbieger sind nur halbherzig programmiert. In dem Video, welches du verlinkt hast, sind zwei verschiedene Anlagen zu sehen. Sag bitte Bescheid falls es die andere war, die du untersuchen wolltest. Und falls du konkrete Fragen zur Steuerung hast, will ich gerne versuchen sie zu beantworten. Lieben Gruß Götz
-
Als Auslöser bekommst du das neue und das alte Gleis. Am alten Gleis kannst du unterscheiden, von welcher Seite du kommst. Denn das alte Gleis links ist ein anderes als das alte Gleis rechts. Aber warum willst du keinen Gleiskontakt nutzen? Diese Kontakte machen doch alles viel bequemer.
-
Musst du nicht, Widi Das kannst du viel einfacher haben: Unter der Rubrik "Infrastruktur -> Bahnverkehr" findest du einen "Gleiskontakt". Der hat in Version 6 des Modellbahnstudios die Möglichkeit, Züge auf eine Maximalgeschwindigkeit abzubremsen und auf eine Minimalgeschwindigkeit zu beschleunigen. So kommst du ganz ohne EV zum Ziel. Und du kannst einen Kontakt samt seinen Eigenschaften bequem kopieren und an anderer Stelle wieder einsetzen. Lieben Gruß Götz
-
Nein - weder, noch. Ein Zug trifft ein warte 20 Sekunden Schau, ob der Weg frei ist. Wenn ja, dann lass den Zug ausfahren. Wenn der Weg nicht frei ist, dann trage den Zug an geeigneter Stelle (Signal, Liste, etc.) als "für Ausfahrt bereit" ein. Wenn der Ausfahrbereich frei wird (= der letzte Konfliktpunkt verlassen wurde) nimm einen der wartenden Züge, stell den Weg für ihn und gib die Fahrt frei. So musst du keine Zeiten aufeinander abstimmen. Zug kommt, hat Aufenthalt und nutzt dann die nächste Gelegenheit zur Weiterfahrt. Bei vielen Zügen wird schlimmstenfalls die Warteliste länger. Aber zu Konflikten kann es nicht kommen.
-
Genau das versucht er doch, Atrus:
-
Hallo Atrus, Dann solltest du dich bei mehreren möglichen Kandidaten für die nächste Ausfahrt für einen Zug entscheiden. (Per Zufall oder nach anderen Kriterien, je nach Geschmack und Bedarf.) Wenn dieser Zug alle Konfliktpunkte hinter sich hat, kannst du den nächsten Zug in Bewegung setzen. Und musst wieder entscheiden, welcher der Züge es als nächstes sein soll. Damit Züge eine Mindestzeit im Bahnhof warten, nutzt du bei Ankunft des Zuges die Verzögerung (keinen Timer), bevor du den Zug für eine Ausfahrt anmeldest. Timer sind in diesem Zusammenhang das falsche Werkzeug. LG Götz