Jump to content

Betriebssystem-Zeit in Modul-Variable


WalterW

Recommended Posts

Hallo @Goetz,

kannst du bitte ein Lua-Skript erstellen, in dem die Betriebssystem-Zeit (Format: „HH:MM“ - von 00:00 bis 23:59) in eine Modulvariable (Typ „Text“) gespeichert wird, sodass diese Variable in der EV-Verarbeitung zur Verfügung steht (ich vermute mal, dass das mit den bestehenden Möglichkeiten der EV nicht geht).

Der Verwendungszweck:
In und ab der Version 8 vom 3D-Studio gibt es die tolle Möglichkeit, in den bis dato dazu angepassten Modellen, Texte individuell und variabel anzupassen.
So auch in der Zugzielanzeige (Contend-Id: 39E14F60-A151-47C4-BA20-45BA9810F703). Hier ist es, unter anderem, möglich die „Abfahrtszeit“ zu setzen. Ich möchte nun gerne die „Abfahrtszeit“ der realen Zeit angepasst anzeigen, unabhängig von dem Modus in der Simulationszeit-Einstellung.
Eine kleine Zusatzbitte:
Ganz ideal wäre noch, wenn in dem Lua-Skript die Möglichkeit bestünde, die in die Modul-Variable zu übertragende Betriebssystem-Zeit verändern zu können. Nach dem Motto + oder – Minuten, um eine Erklärung für den möglichen „Zusatzinfo“-Text „30 Minuten Verspätung +++“ zu haben.

Freundliche Grüße
Walter

Link to comment
Share on other sites

vor einer Stunde schrieb WalterW:

kannst du bitte ein Lua-Skript erstellen ...

Hallo Walter,

Lua ist nicht zwingend erforderlich.
Es geht auch mit der grafischen EV.
Der Trick ist, dass du Variablen vom Typ "Zeit" verwendest. Auch für den Wert, den du hinzu addieren möchtest.
Dann regelt das Studio den Rest für dich.

Hier ist ein kleines Beispiel: DA967644-6838-4FAD-9673-B2FA3047443E

Wenn du mehr Mathematik einbringen möchtest, um beispielsweise aus verschiedenen Faktoren eine Abfahrtszeit, Verspätung und mehr zu errechnen, kannst du mein kleines Beispiel selbst in Lua wandeln und so sehen, welche Bauteile wie aussehen müssen.

Ich hoffe, das hilft dir weiter?
Götz

Link to comment
Share on other sites

Hallo @Goetz,

dein Vorschlag funktioniert, hat aber leider nur einen begrenzten Erfolg.
Das Problem:
Damit die grafische EV, so wie von dir vorgeschlagen, funktioniert, muss die Einstellung der Simulationszeit auf "Echtzeit" stehen.
Und genau das war, wie ich anfangs schrieb, ein Punkt meiner Bitte: "unabhängig von dem Modus in der Simulationszeit-Einstellung".
In irgendeinem anderen Zusammenhang war das schon mal mein Problem. Ich wollte die Kirchenglocken zu einer bestimmten realen Zeit läuten lassen. Deshalb dachte ich heute an Lua. Ich bin überzeugt, dass das Umgehen der "Echtzeit"-Einstellung möglich ist. In der Ereignisprotokollierung wird ja auch die reale Betriebssystem-Zeit "HH:MM:SS" angezeigt.
Ich wiederhole hiermit meine Bitte nach einem Lua-Skript.

Freundliche Grüße
Walter

Link to comment
Share on other sites

Hallo Neo,

vielen Dank für deine Antwort.
Als Reaktion bleibt da nur:   Sc h a a a a a d e.
Trotzdem hänge ich noch die Frage an: Ist Lua denn die EV? Ich dachte es handelt sich bei Lua um eine Programmiersprache.

Freundliche Grüße
Walter

P.S. : Ich war sowieso schon verwundert, dass Götz bei diesem Thema so "zurückhaltend" war. 

Link to comment
Share on other sites

vor einer Stunde schrieb WalterW:

dass Götz bei diesem Thema so "zurückhaltend" war. 

... lag daran, dass ich deine Zusatzbedingung ...

vor 2 Stunden schrieb WalterW:

"unabhängig von dem Modus in der Simulationszeit-Einstellung"

... überlesen hatte.

Aber warum willst du überhaupt die Zeit anhalten, wenn du gleichzeitig mit Fahrplan, Verspätung etc. arbeiten willst?

Mich erinnert das an eine uralte Geschichte aus einem der vielen Micky Maus Taschenbücher:
Sie suchen einen alten Forscher, der sich auf eine einsame Insel zurückgezogen hat. Er will dort an einem Kohl forschen, der beim Kochen nicht riecht. Als Micky und Goofy ihn finden, ist der Professor schon fast am Ziel, wie er sagt. Aber ein Problem kann er noch nicht lösen. Immer, wenn der Geruch weg ist, ist der Kohl auch ohne Geschmack.

 

vor einer Stunde schrieb WalterW:

Ich dachte es handelt sich bei Lua um eine Programmiersprache.

Richtig, Lua ist eine Programmiersprache. Präziser: Eine Skriptsprache.
Also eine Sprache, die dafür gedacht ist andere Programme zu steuern.

Also genau das, was man im 3D-Modellbahn Studio für eine Ablaufsteuerung (= Ereignisverwaltung) braucht.
Da Neo den Usern die Steuerung der Anlagen auch ohne Kenntnisse in Lua ermöglichen wollte, hat er die grafischen Bausteine entworfen, mit denen man seine Aktionslisten zusammenbauen kann. In jedem dieser Bausteine steckt ein wenig Lua Code (und nix anderes). Deshalb kannst du diese Bausteine einzeln oder auch komplett in den Lua Code umwandeln. 

Viele Grüße
Götz

Edited by Goetz
Schreibfehler korrigiert
Link to comment
Share on other sites

Hallo Götz,

vor 7 Minuten schrieb Goetz:

Aber warum willst du überhaupt die Zeit anhalten,

ich will die Zeit ja nicht anhalten, sondern die reale Zeit verwenden. Ich befürchte, dass die meisten User die Einstellung der Simulationszeit auf "Fix" eingestellt haben. Und eben dann ist für die EV die reale Zeit nicht greifbar. Und der Spaß an der Freude ist doch, so realitätsnah wie möglich zu agieren. Wenn ich (irgendwann) die Anlage vielleicht mal veröffentliche, dann habe ich den Ehrgeiz und das Ziel, so perfekt wie möglich. Und gerade diese liebenswerten kleinen Details, wie z.B. die Zugzielanzeige individuell gestalten zu können, machen dann das Tüpfelchen auf dem "i". Und für mich ist es halt schade feststellen zu müssen, dass eine Funktion nicht umsetzbar ist.
Aber die Lösung lautet: Weiter machen und in der Anlagenbeschreibung darauf hinweisen, in der Simulationseinstellung mit der Zeit nicht auf "Fix" zu bleiben.

In diesem Sinne, dir noch einen schönen Dank, auch für den netten Vergleich aus dem Micky Maus Taschenbuch. Ich habe zwar auch liebend gern die Micky Maus Hefte und später Taschenbücher gelesen, aber mehr die Geschichten um Onkel Donald herum.

Freundliche Grüße
Walter

Link to comment
Share on other sites

vor 5 Minuten schrieb WalterW:

die reale Zeit verwenden

Dann setzt die Simulationszeit auf Echtzeit, Walter

Echtzeit.jpg.3fd70aa03c6936aa470a57487f63b55b.jpg

Das wird mit der Anlage gespeichert. (die Alternative "virtuell" ebenso).
Du musst also nichts erklären. Die User bekommen es so, wie du es gebaut hast.

Viele Grüße
Götz

Edited by Goetz
Ergänzungen
Link to comment
Share on other sites

Hallo Walter,

bist du dir sicher, dass du mit der realen Zeit arbeiten willst? Welcher Nutzer setzt sich denn 5 Stunden vor den Rechner und wartet darauf, dass der nächste Zug ankommt?

Und hast du bedacht, dass es Zeitsprünge gibt, je nachdem wann du die Anlage öffnest und das jeder Nutzer die Anlage zu einem anderen Zeitpunkt öffnet?

Ich glaube du brauchst eher die virtuelle Zeit, gestrafft auf eine sinnvolle Tageslänge.

Viele Grüße, 

Neo

Link to comment
Share on other sites

Hallo Neo

vor einer Stunde schrieb Neo:

Ich glaube du brauchst eher die virtuelle Zeit, gestrafft auf eine sinnvolle Tageslänge.

laufen dann die Uhren nicht zu schnell. Wenn ich zum Beispiel aus 24 Stunden 24 Minuten mache dann läuft der Minuten Zeiger im Sekunden Takt.

Gruß
FeuerFighter

Link to comment
Share on other sites

Hallo @Goetz und @Neo,

vielen Dank für die nette Unterstützung.
 

vor 2 Stunden schrieb Goetz:

Dann setzt die Simulationszeit auf Echtzeit, Walter

die Möglichkeit ist mir bekannt, nur, wie ich schrieb, glaube ich, dass die User überwiegend die Simulationszeit auf "Fix" eingestellt haben, und damit wäre der Effekt dahin. 
Was diese Annahme betrifft, kann ich mich natürlich irren.
Andererseits

vor 2 Stunden schrieb Neo:

bist du dir sicher, dass du mit der realen Zeit arbeiten willst? Welcher Nutzer setzt sich denn 5 Stunden vor den Rechner und wartet darauf, dass der nächste Zug ankommt?

ist das Argument von Neo nicht von der Hand zu weisen. Für meinen geplanten Ablauf müsste aber keiner so lange vor dem Rechner sitzen, bis sich wieder mal ein Zug zeigt. Im realen Bahnbetrieb gibt es ja Bahnhöfe in denen alle 1-2 Minuten ein Zug kommt. Egal, wie dem auch sei, ist wahrscheinlich die beste Lösung die Einstellung der "virtuellen Zeit", da hat Neo schon Recht.

Aber auch zur Erklärung meiner Absicht: 
Ich habe nicht wirklich vor, den Modellbahnbetrieb in tatsächlicher Echtzeit ablaufen zu lassen, was wahrscheinlich viel zu langweilig wäre, sondern möchte nur, dass, wenn jemand das Programm um 15:00 Uhr (MEZ) startet, auf der Zugzielanzeige nicht die zufällige Abfahrtszeit 07:33 Uhr steht, sondern eine die nahe der realen (MEZ) Zeit ist. Das erreiche ich nur, wenn die reale (MEZ) Zeit bekannt ist. Mir schwebt auch kein fester Fahrplan vor. Wäre auch fast unmöglich wegen der unterschiedlichen Startzeiten des Programms, sondern mir dient die Anzeige der fiktiven Abfahrtszeit dafür, um für "diesen Moment" eine zeitbezogene realistische Szene zu erzeugen.
Ich hoffe, dass meine Erklärung verstanden wurde.

vor 3 Stunden schrieb Goetz:

Die User bekommen es so, wie du es gebaut hast.

Ich denke das sollte ausreichen.

Freundliche Grüße
Walter

Link to comment
Share on other sites

vor einer Stunde schrieb WalterW:

nur, wie ich schrieb, glaube ich, dass die User überwiegend die Simulationszeit auf "Fix" eingestellt haben

Das ist vermutlich richtig, aber auch völlig egal, Walter.

Weil diese Einstellung jeweils mit der Anlage gespeichert (und geladen!) wird. Individuell.
Wenn der User deine Anlage startet und du in deiner Anlage vor dem Abspeichern/Veröffentlichen "Echtzeit" eingestellt hattest, wird sie jeder User nach dem Laden mit dieser Einstellung sehen. 

Viele Grüße
Götz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...