-
Gesamte Inhalte
5983 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Goetz
-
Grundsätzliche Fragen zu "Schlagwörter" und "Benutzerdefinierte Ereignisse" etc.
Goetz antwortete auf Swen44s Thema in Fragen zur Steuerung
Hallo Andreas, beim ersten Aufruf, ja. Und hier wird die Kontrolle auch erst nach Abarbeitung der Befehle an das aufrufende Ereignis zurück gegeben. So weit verhält sich das benutzerdefinierte Ereignis wie ein Unterprogramm. Aber dort, wo eine Verzögerung im Ereignis steht, endet die Prozedur mit einem Befehl an das MBS, dieses Ereignis nach Ablauf der Zeit ein weiteres Mal aufzurufen. Dieser erneute Aufruf kommt also nicht mehr aus dem ursprünglichen Ereignis, sondern durch ein Ereignis auf der Anlage direkt, einer Art Fahrplan für den erneuten Aufruf verzögerter Ereignisse. Deshalb wird die Kontrolle bei der ersten Verzögerung im benutzerdefinierten Ereignis an den Aufrufer zurückgegeben und nicht erst nach Ablauf der Verzögerung. Letzteres wäre auch fatal, weil die Verzögerung sonst die komplette EV für die Dauer lahm legen würde. Dass ein Ereignis mit der ersten Verzögerung endet und verlassen wird, siehst du auch in Lua: if not deferredCall then -- mach was defer(10, "Verzögerung") elseif deferredCall == "Verzögerung" then -- mach was anderes end Wenn die Bedingung erfüllt ist, erledige alles vor dem elseif und gehe dann direkt zum Ende. Viele Grüße Götz -
Grundsätzliche Fragen zu "Schlagwörter" und "Benutzerdefinierte Ereignisse" etc.
Goetz antwortete auf Swen44s Thema in Fragen zur Steuerung
Benutzerdefinierte Ereignisse sind keine Unterprogramme! Es sind Ereignisse, deren Auslöser ein Befehl in der EV ist. Darüber hinaus unterscheiden sie sich nicht von anderen Ereignissen, deren Auslöser z.B. das Betreten eines Kontakts, das Schalten einer Weiche oder das Ablaufen eines Timers sind. -
Grundsätzliche Fragen zu "Schlagwörter" und "Benutzerdefinierte Ereignisse" etc.
Goetz antwortete auf Swen44s Thema in Fragen zur Steuerung
Besser wäre, du würdest es logisch nachvollziehen und wirklich verstehen, Swen. Denn ein Kompromiss ist das nicht. Sondern ganz normale Automation. Lua gibt Befehle an das MBS, wartet aber nicht auf deren Erledigung. Das wäre fatal, denn eine Drehscheibe z.B. braucht lange, bis sie ihr vorgegebenes Ziel erreicht hat. Wenn Lua stillhalten würde, bis dieser Befehl ausgeführt ist, würden viele andere Ereignisse in dieser Zeit alle unbehandelt bleiben. Viele Grüße Götz -
Nachdem du die Höhe deiner kopierten Kurve geändert hast, schiebst du sie an eine Stelle, wo sie an einem anderen Gleis einrastet (oder andockt). Und wenn dieses Gleis nicht gerade liegt, dann wird das die Schräglage der Kurve beeinflussen. markiere alles, was für das Beispiel wichtig ist (ziehe ein Rechteck darüber auf), drücke Strg + C zum Kopieren, geh ins Hauptmenü, starte eine neue Anlage und drücke Strg + V um die Kopie einzufügen. Diese Anlage speicherst du unter neuem Namen und exportierst sie dann in eine Datei. Oder du veröffentlichst sie als Entwurf
-
That's difficult to say, Ern. Because normally the lights do stay attached. And according to your description, you're doing it right. Whatever is causing the lights to wander, is something you do that's missing from your description. A classic cause would be that someone uses the link and grouping at the same time and with the same objects. The two methods of keeping multiple objects together tend to fight each other when used in combination. Kind regards Goetz
-
Grundsätzliche Fragen zu "Schlagwörter" und "Benutzerdefinierte Ereignisse" etc.
Goetz antwortete auf Swen44s Thema in Fragen zur Steuerung
Nein, da bist du im Irrtum, Swen. Von dem Moment an, wo du das benutzerdefinierte Ereignis auslöst, läuft es selbständig und vom Aufrufer unabhängig. Eben parallel. Eine Verzögerung im benutzerdefinierten Ereignis sorgt dafür, dass dieses Ereignis nach Ablauf der Zeit ein weiteres Mal ausgelöst wird. Davon erfährt das andere Ereignis (in dem der erste Aufruf stand) aber nichts. Der wichtigste Unterschied zu eigenständigen Programmen ist der, dass hier Lua Skripte in ein anderes, laufendes Programm (die Modellbahn Simulation) eingreifen. Und dieses andere Programm löst wiederum bei bestimmten Ereignissen einzelne Lua Skripte aus. Die Verzögerung läuft nicht in Lua, sondern im Studio. Dort sorgt eine Art Scheduler dafür, dass Skripte nach Ablauf der Zeit ein weiteres Mal ausgelöst werden. Viele Grüße Götz -
Hallo @moon2018, der Radiokommentar ist eine lustige Untermalung. Die veränderte Drehung in X-Richtung zeigt, dass der Bogen nach dem Andocken etwas ansteigt. Dieses Verhalten würde ich dann erwarten, wenn der Andockpunkt ein wenig verwunden ist. Leider kann man diesen Andockpunkt im Video nicht sehen. Und man sieht auch nur die Werte der Gruppe. Die Rotationswerte einer Gruppe sind immer relativ zur alten Lage. Wenn die ursprüngliche Kurve also etwas geneigt war und die Kopie beim Andocken gerade gerückt wird, dann würden auch solche Werte angezeigt. Kannst du die Anlage (oder den Ausschnitt, der für diese Geschichte relevant ist) bitte veröffentlichen oder hier als Datei anhängen? Viele Grüße Götz
-
Präzise Positionierung (Steuerung) von Objekten
Goetz antwortete auf Fifofs Thema in Fragen zur Steuerung
Hallo Fifof, eine weitere Bedingung behandelt den Fall, dass die Parkposition der Vitrine für die Ausfahrt ausgewählt wird: Beispielanlage mit Parkposition 0 und neuer Bedingung: Vitrinenautomatik.mbp Viele Grüße Götz -
Präzise Positionierung (Steuerung) von Objekten
Goetz antwortete auf Fifofs Thema in Fragen zur Steuerung
Stimmt, das ist eine Macke in meiner Methode die ich nicht bedacht hatte. -
Variablenwert in Textfeld und/oder in der Ereignisprotokollierung anzeigen?
Goetz antwortete auf gleistrackers Thema in Fragen zur Steuerung
Hallo @gleistracker Im Skript unter "Ereignisse" gibt es kein print(). Diese Funktion steht nur in anderen Ereignissen zur Verfügung. Wenn du das Skript zum Beispiel in ein Event "Schalter wird betätigt" schreibst, funktioniert es. Print gibt den Wert des Zählers im Ereignisprotokoll aus. (grüne Zeile) Die Zuweisung an das Textfeld wird nicht protokolliert, weil sie kein auslösendes Ereignis für die EV ist. Dasselbe gilt für die Umschaltung der Sichtbarkeit. Die wird auch nicht im Protokoll aufgeführt. gleistracker Skript.mbp Viele Grüße Götz -
I missed that. Thank you, @Phrontistes
-
Why am I having to use a defer execution before some commands
Goetz antwortete auf hmclays Thema in [International] Problems and solutions
Actually, that's what portals are for. The job of a depot is to store trains in a form which requires minimal CPU and GPU time. An invisible train still requires tracking. It's still a collision object. It can move, affect switches, be affected by signals etc. None of the above is required of a train in a depot. The train in the depot doesn't even have a location on the layout. This reorganisation must be finished before the train is available again. Typically, you wouldn't notice, because you'll have more than one train in your depot. See proper explanation below from Neo Snipping is fine. Just snip a bit more ... like the line at the top which states what triggers this particular action. Kind regards Goetz -
Switch to Lua, drop the iteration (you don't need it) and pick the first item from the list: local t = layout:getVehicleGroup(vehicle) t[1].couplers[1].enabled = false disables the rear coupler of the first vehicle of a train
-
I know what a nested iteration is, Leslie But your screenshot didn't show one. Here's a nested iteration for you and it works as intended: nested iteration.mbp Kind regards Goetz
-
I see only one iteration in your screenshot. With nested conditions ...
-
How to Unlock items in from Structure View
Goetz antwortete auf hmclays Thema in [International] Problems and solutions
Yes, you can always find the locked and invisible models in the structure view. You may even filter that view to show only invisible objects. Click on the magnifying glass in the bottom menu or press F3 to open the structure view. Kind regards Goetz -
Why am I having to use a defer execution before some commands
Goetz antwortete auf hmclays Thema in [International] Problems and solutions
We can't see that in your screenshot, hmclay. Both actions look identical to us. And now I understand why Your screenshot didn't show what triggered this event. When a vehicle enters a depot (which is your trigger event), it isn't immediately ready for exit. Your delay causes the event to be called a second time. And even with a delay of 0, this second call will occur one cycle later. Enough time for the studio to have the vehicle prepared for leaving the depot. Kind regards Goetz -
mit aktiver Beschleunigung ... Wenn im Kontakt eine Beschleunigung aktiv ist, kann man dem Zug auf anderem Wege keine niedrigere Geschwindigkeit mehr zuweisen. Der Kontakt wird den Zug dann immer wieder auf die im Kontakt angegebene Geschwindigkeit beschleunigen. Das ist das, was du meinst, Andreas - richtig? Denn wenn im Kontakt keine Beschleunigung aktiv ist, kannst du den Zug per EV oder durch manuelle Eingabe jede Geschwindigkeit zuweisen. Und wenn der Kontakt den Zug beschleunigt, kannst du weiterhin per EV oder manuell eine höhere Geschwindigkeit erzielen. Der Wert in der Beschleunigung ist eine Mindestgeschwindigkeit. Oder meinst du "Wenn nicht die Lok, sondern der Waggon auf Kontakt XY steht, dann funktioniert die Geschwindigkeitszuweisung Alle Fahrzeuge auf Kontakt XY nicht?" Die Geschichte mit der Weiche (und Drehscheibe), die als besetzt betrachten wird wenn mehr als eine einzelne Lok (also ein Verband) darauf steht, ist übrigens eine andere. Viele Grüße Götz
-
sind genau das, was dir die Framerate in die Knie zwingen wird. Denn einige wenige Objekte sind immerhin mehrere Objekte mit jeweils viel zu vielen Polygonen und viel zu vielen einzelnen Texturen (eine für jeden Grundkörper in der Gruppe). Und alle im zentralen Bereich heißt, dass jede Kameraeinstellung, die auf diesen Bereich blickt, alle auf einmal darstellen muss, was monströs viel unnötige Rechnerei zur Folge hat. Und weil sie im zentralen Bereich stehen, schaut man da auch ganz besonders oft hin. Und weil diese "Modelle" keine LOD-Stufen haben, erfordern sie auch dann noch die volle Rechenleistung, wenn sie nur punktgroß irgendwo in weiter Ferne zu sehen sind. Kannst du natürlich machen. deine Entscheidung. Aber wenn der Rechner in die Knie geht, dann weißt du hoffentlich noch, warum! Und selbst, wenn du es weißt ... andere machen das nach, kopieren eventuell ahnungslos ganze Blöcke von deiner Anlage und wissen dann später nicht, warum das Studio bei ihnen plötzlich hakt. Deshalb erinnere ich wenigstens bei solcher Gelegenheit wie dieser hier an die Auswirkungen. Weniger für dich als vielmehr für die Mitleser, die vielleicht noch nicht so im Thema sind, aber unbedingt dieses tolle Schloss und den schicken Wasserturm auf ihrer Anlage haben wollen. Denn denen wird dann gerne (wie hier oben im Thread) nur die Content-ID mitgeteilt und weiter nichts dazu ...
-
Ich rechne dann in naher Zukunft mit Beschwerden, dass die Framerate plötzlich so viel niedriger ist. Neuschwanstein und Co. müssen ja unbedingt alle auf die größte der Anlagen, die eigentlich eh schon den Rechner übermäßig beansprucht. Und sicher wird dann der Software die Schuld zugewiesen. Dass man gleich mehrere Bordmittel-Monster im Einsatz hat ... vergessen. Der Witz an der Sache ist, dass man in Blender und Sketchup dieselben Grundkörper auf dieselbe Weise zu einem Modell kombinieren könnte. Da ließe es sich dann im nächsten Schritt auf eine sinnvolle Polygonzahl reduzieren, denn in diesen 3D-Modellern kann man alle unsinnigen Flächen eliminieren. Die Textursammlung für das komplette Modell ließe sich auf eine einzige Fläche abwickeln. Ach ja, und einen Kegel gibt es da auch. Aber lasst euch von mir nicht den Spaß verderben. Ich denke nur gerade laut vor mich hin ... Götz
-
Why am I having to use a defer execution before some commands
Goetz antwortete auf hmclays Thema in [International] Problems and solutions
Hello @hmclay, you may safely remove these delays. They are inserted into the code when you convert a layout from pre V5 days. The purpose was to ensure that the proper order of events from the old event manager is maintained. Kind regards Goetz -
Hallo moon2018, um das beurteilen zu können, müsste ich dir über die Schulter schauen. Viele Grüße Götz
-
Video-Tutorial: Drehscheibensteuerung und modulare EV
Goetz antwortete auf alexander42s Thema in Anleitungen und Tutorials
Dieses Video ist nicht ganz das, was du brauchst. Und zudem noch mit V7 erstellt. Aber vielleicht kannst du ihm schon nützliche Ideen entnehmen? Ich probiere gerne später, ob ich das direkt mit deiner Liste hinkriege. Ich muss nur leider gerade für ein paar Stunden weg. Viele Grüße Götz -
Video-Tutorial: Drehscheibensteuerung und modulare EV
Goetz antwortete auf alexander42s Thema in Anleitungen und Tutorials
Hallo Alexander, du könntest die Tabelle hervorragend nutzen, um die Taster mit den nötigen Variablen zu bestücken. Das wäre dann eine einmalige Aktion. Das generische ist erfüllt. Und im Betrieb findet die EV die Informationen immer da, wo sie sinnvoll und direkt verfügbar sind. Viele Grüße Götz -
Hallo @gleistracker, das ist eine nette Form der Altersangabe. Du bist zwei Jahre jünger als ich. Und die Idee mit dem Kindheitsfoto als Avatar habe ich mir selbst (in einem anderen Forum) abgeguckt. Herzlich willkommen und viele Grüße Götz