Jump to content

Timba

Mitglieder
  • Gesamte Inhalte

    1091
  • Benutzer seit

  • Letzter Besuch

Beiträge erstellt von Timba

  1. @Andy, das mit den Timern ging ja in V4 auch schon und habe ich auch ausgiebig genutzt. Hier ging es mir ja, wie schon mehrfach gesagt, ums Austesten, welche Möglichkeiten sich mir mit V5 in Verbindung mit Lua auftun. So bin ich halt, ich will immer möglichst ALLES wissen und im Moment ist mir das Ausprobieren wichtiger als dass die Lok im Kreis rumfährt. ;)

     

    @Neo, ok, leuchtet ein und ist im Hinterstübchen notiert.

  2. vor 1 Minute schrieb Goetz:

    Die 24 Stunden des Tages werden auf die Werte von 0 bis 1 abgebildet.
    D.h.: 0 steht für Mitternacht, 0.5 für 12 Uhr Mittags. 

    Damit sind 10 Minuten ein Abstand von 1 / (24 * 6) = 0,00694444

    Ja, das hatte ich bereits im Lua Reference Manual gefunden, trotzdem vielen Dank. Damit lässt sich ja auch schon eine Menge bewerkstelligen.

  3. vor 13 Minuten schrieb Goetz:

    sind die Timer gedacht. Das würde ich nicht mit Lua machen, weil das nur unnötig kompliziert wird.

    Wie ich bereits an Neo schrieb geht es im Moment nicht um ein konkretes Problem, sondern einfach nur darum auszuprobieren, was geht, und vor allem was nicht geht. ;)

    Du hast eine wunderschöne Anleitung geschrieben für Einsteiger, wofür dir ein ganz großes Lob gebührt, aber natürlich musstest du dich dabei auf das Wesentliche beschränken, sonst wären es 1.000 Seiten geworden und die würdest heute noch daran schreiben. Ergo ist der Forscherdrang der potentiellen Programmierer gefordert. Mir macht das Riesenspaß, die Möglichkeiten von Lua zu entdecken. Bevor ich von V4 auf V5 updatete wusste ich nicht mal was von der Existenz dieser Sprache.

    vor 18 Minuten schrieb Goetz:

    os.time() ist im 3D-MBS nicht verfügbar, würde dir aber auch nichts nützen. Denn es würde die Systemzeit deines Rechners enthalten und nicht die Uhrzeit auf deiner Anlage.

    Ok. Dann ist diese Anzeige im MBS

    beispiel.thumb.jpg.764beb1ba024e3a8a137361cf6210ae4.jpg

    allerdings falsch. Denn die Anzeige suggeriert, dass "os.time" verfügbar wäre und auf die aktuelle Simulationszeit verweist. Nach meinem Verständnis ist das NICHT die Systemzeit meines Rechners.

    Ich nehme mal an, wenn os.time nicht verfügbar ist, dann kann man auch nicht mit Sekunden hantieren, der feineren Auswertung halber ;), da die Simulationszeit offenbar nur mit Minuten arbeitet. Außer vielleicht wenn man den Zeitwert in den Zahlenwert konvertiert und mit der irgendwie 25. Nachkommastelle rechnet. Auch hier kein konkretes Problem, sondern nur die Pflege des Entdecker-Gens. ;)

  4. Steht noch nicht genau fest, ist Experimentierphase. :D Zum Beispiel könnte ich dann für einen 10-minütlich (Anlagenzeit) wiederkehrenden Prozess bedingen, dass ein Minutenwert durch 10 teilbar ist. Geht wahrscheinlich auch auf andere Weise, aber wie gesagt, Lua finde ich interessant und daher probiere ich alles mögliche aus, inwiefern das mit meinen Erfahrungen mit Basic in Einklang zu bringen ist.

  5. Hallo meine lieben Programmierer,

    meine Suche nach der Syntax des Befehls, mit der man z.B. die Minuten aus einer Variable vom Typ "Zeit" herauszieht war leider irgendwie erfolglos. Geht das nur über "os.date"? Und wenn ja, wie sind die entsprechenden Parameter? So weit ich das verstanden habe muss zuerst der Format Minute (%M) und dann die Zeit, aus der die Minuten rausgerechnet werden sollen, also entweder eine Variable oder die Anlagenzeit, Korrekt?

  6. vor 1 Minute schrieb fzonk:

    Das Einzige was du machen kannst ist dass du dir beim Einbauen bereits für dich eine "Richtung" festlegst

    Jepp, Frank, an der Stelle war mein Gehirn ja bereits am Rattern, als mir dann durch den Kopf ging, dass die hier versammelten Experten sich möglicherweise bereits dieselben Gedanken gemacht haben und ich davon profitieren könnte. ;) Ich hatte mir etwas überlegt in der Art "immer vom Bahnhof weg", also vom Konstruktionspunkt (heißt der so? Ich meine den Punkt im Modell-Editor unten mittig) aus Richtung auswärts. Die Kreuzweichen, um die es geht, sind nämlich sämtlich im Bereich des Bahnhofs.

  7. Hallo,

    mal eine Frage an die erfahrenen Gleisbauspezialisten hier: Wie haltet ihr das mit dem Einbau von Kreuzweichen, sofern ihr überhaupt welche verwendet? Habt ihr da eine Regel, in welcher Richtung man sie einbaut oder wie behaltet ihr den Überblick? Was ich meine ist: Baue ich die Kreuzung mit 90° ein, braucht die Lok Spur 0 für geradeaus und Spur 2 für links. Baue ich sie umgekehrt ein, also mit -90°, dann braucht dieselbe Lok für links aber Spur 3. Mit bloßem Auge sieht die Kreuzweiche aber in beiden Fällen identisch aus. Ohne im Eigenschaftsfeld nachzusehen geht da nichts. Nun könnte ich mir selbst eine Regel für mich ausdenken. Aber falls es bereits was gibt in der Art würde es mir Nachdenkzeit sparen. ;)

  8. vor 3 Stunden schrieb Neo:

    Bei Variablen, die aber Objekte referenzieren, kann bei einem nil nicht unterschieden werden, ob der Nutzer die Variable löschen wollte oder den gültigen Wert "keine Referenz" setzen wollte. Lua (und das Studio) unterscheiden nicht zwischen "leer" und "keine Referenz". Aus diesem Grund bleibt die Variable in diesem Fall erhalten, wird aber auf einen leeren Wert gesetzt.

    Hallo @Neo

    dazu ist mir gerade ein merkwürdigen Phänomen untergekommen. Sobald eine Variable des Typs "Zeit" eingerichtet wurde fängt das Ereignisprotokoll bereits an laufend "Zeitpunkt erreicht" runterzurattern, auch wenn der Variablen noch gar kein Wert zugewiesen wurde. Löschen der Variable beendet das nicht. Es bleibt für immer und ewig, außer man beginnt eine neue Anlage. Ich kann nur vermuten, dass mit der Einstellung auf den Typ "Zeit" bereits besagte Referenz auf die Anlagenzeit hergestellt wurde und nicht wieder zu löschen ist. Habe ich recht damit? Bisschen nervig ist das schon, aber vermutlich nicht zu ändern.

     

    Wobei ich an der Stelle gleich noch einen Verbesserungsvorschlag einschieben kann. Wollte man im Ereignisprotokoll aus irgendeinem Grund zwar alles sehen, aber eine Kategorie nervt sehr, z.B. das gerade erwähnte "Zeitpunkt erreicht" oder ich will gar nicht wissen, welche der 2.000 Schienen gerade betreten oder verlassen wurde, aber alles andere will ich haben, dann heißt das, Klick Filter-Icon, Klick Nach Ereignissen filtern, Klick Ereigniskategorie wählen, und wieder von vorne, Klick Filter-Icon, Klick Nach Ereignissen filtern, Klick Ereigniskategorie wählen, usw. usw., ganze 13 mal. Gibt es dafür keine andere Lösung? Irgendwie nach Art der Mehrfachselektion bei Objektauswahl? Wenn wenigstens dieses Dialogfenster stehen bliebe bis der Nutzer seine Wahl vollständig getroffen hat und man nicht jedesmal aufs Neue den ganzen Weg dahin durchklicken müsste, dann wäre das schon eine deutliche Verbesserung des Arbeitsflusses.

  9. Moin Wolfgang,

    wie kommst du darauf, dass eine gelöschte Variable im Ereignisprotokoll auf Null gesetzt ist? Habe das gerade probiert - bei mir ist eine gelöschte Variable komplett weg. Auch im Ereignisprotokoll. Ich denke mal, sie ist komplett weg und nicht nur versteckt.

    Sinn macht es immer, eine nicht mehr gebrauchte Variable zu löschen, denn es dient der Übersicht und schützt vor Verwechslungsgefahr. Für den Speicher spielt es keine Rolle, nehme ich an, der ist garantiert groß genug.

  10. Hallo @BahnLand,

    klar, du hast recht. Ich hätte zwar einen 18.000 mm-Pinsel gebraucht, aber das geht natürlich auch. Manchmal denke ich um die Ecke. ;) Trotzdem merkwürdig, dass MBS das Graustufenbild nicht akzeptierte.

    Mit verschiedenen Graustufen funktioniert der Graustufenbildimport aber tadellos. Und so kann man dann zum Beispiel Donald Trump auf der Nase rumfahren. :D

    beispiel.thumb.jpg.ec151bd9ce6e09dbed0fd387d70c0278.jpg

     

  11. Moin,

    wurde gerade durch ein merkwürdiges Verhalten von MBS überrascht. Ich will nochmal von vorne anfangen und wollte dafür einen Boden mit durchgängig 50 mm Höhe. Statt alle Höhenpunkte zu selektieren und auf die gewünschte Höhe zu hieven wollte ich es mir einfach machen: Boden als Graustufenbild exportiert und direkt wieder importiert und im Höhenbereich 50 - 50 mm angegeben. Da bleibt alles auf 0. Auch Höhenbereich 50 - 100 mm oder ähnliche Versuche bleiben erfolglos. Habe das Programm dann ausgetrickst und mit der Bildbearbeitung einen Pixil auf einen höheren Wert gesetzt, dann geht's und man kann den einen Höhenpunkt manuell wieder auf die gewünschte Höhe zurückstellen. Warum MBS ein Graustufenbild, bei dem alle Pixel auf 0 stehen, nicht akzeptiert, ist mir schleierhaft. Aber egal, schlimm ist es ja nicht.

  12. vor 14 Minuten schrieb Neo:

    du kannst auch Schlagwörter zu Modulen hinzufügen, genau so wie du Schlagwörter zu Objekten hinzufügst (+ Symbol -> Variable -> Schlagwort).

    Habe ich mir angesehen. Und wie funktioniert das? Werden dann bei Verwendung des Schlagworts alle Variablen dieses Moduls angesprochen oder wie ist das gedacht?

    Meine Idee war, wenn ich in einem Modul Variable A, B, C, D, E und F habe und will in einem Ereignis A,B und C ansprechen, diese drei unter einem Schlagwort zusammenzufassen. Das scheint nicht zu gehen, oder doch?

  13. vor einer Stunde schrieb metallix:

    Hi Neo

    Koennte das objektvariablen-fenster bitte so gestaltet werden das es nicht, wenn eine grosse liste von variablen dargestellt ist, bei einer eingabe in einer variablen weiter unten sofort die liste nach oben schnellen laest und einen somit zum erneuten scrollen nach unten zwingt falls man noch mehr aenderungen machen moechte? Ich denke das war schoen oefter reklamiert.....

    Cheers

    Tom

    Gleiches bitte für die Modulvariablen. Da ist es genauso.

  14. Gerade eben schrieb Neo:

    Globale Variablen gibt es in V5 nicht mehr, die globalen Variablen aus V4 sind nun Teil des obersten Moduls.

    Aha. Ok. Da ich die Anlage aus V4 übernommen habe, sind natürlich alle meine Variablen in dieser obersten Ebene und ich hatte geglaubt, das müsste so sein.

  15. Wo wir gerade dabei sind hätte ich noch eine Frage: Warum kann man Modulvariablen kein Schlagwort zuordnen? Hätte ich vorhin gut gebrauchen können. Habe eine Kontrollroutine zur Fehlersuche geschrieben, die herausfinden soll, ob verschiedene Variablen einen negativen Wert angenommen haben. Mit Schlagwort hätte ich alle zusammenfassen und in der Routine den Auslöser abfragen können. So habe ich mir jetzt mit einem benutzerdefinierten Ereignis beholfen und für jede Variable als Auslöser einen Verweis auf dieses Ereignis gesetzt.

  16. Aha. Haben diese Variablen dann nur für das jeweilige Modul Gültigkeit? Oder sind sie global? Müsste mir meinen Kram nochmal genauestens anschauen, aber ich glaube ich habe kaum Variablen, die nur innerhalb eines Moduls gebraucht werden. Aber danke schon mal für die Aufklärung. Werde jeden Tag ein kleines bisschen schlauer.

  17. vor 4 Minuten schrieb Neo:

    es gibt auch den Bedarf, Variablen zwischen verschiedenen Modulen zu kopieren, oder zwischen Modulen und Objekten.

    Ja, aber wie soll das gehen? Ich habe es versucht und das Ergebnis war nix. Außerdem stehen bei mir die Modulvariablen alle in einer einzigen Liste. Da ist nix von Modul zu Modul kopieren. Mache ich was falsch? -grübel-

×
×
  • Neu erstellen...