Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Goetz

Mitglieder
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. 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.
  2. Unter Verkehrswege\Gleise\Vorbild-orientiert\Transrapid
  3. As far as I know, you cannot detect it. You may need to monitor the speed at regular intervals.
  4. 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
  5. Goetz antwortete auf Roter Brummers Thema in Anlagen
    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!
  6. 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.
  7. 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.
  8. Goetz antwortete auf Neos Thema in Beta-Bereich
    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) )
  9. 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"]
  10. Goetz antwortete auf Neos Thema in Beta-Bereich
    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.
  11. Goetz antwortete auf Neos Thema in Beta-Bereich
    Beides hat seinen Zweck - die fixe Liste, die z.B. alle Gleise von A nach B enthält und die genutzt wird um zu prüfen, ob all diese Gleise frei sind. Und die dynamische Liste, die z.B. alle aktuellen Züge im Schattenbahnhof bereithält. die fixe Liste lässt sich perfekt mit der grafischen EV verwalten. Bei der dynamischen komme ich um Lua nicht herum.
  12. Goetz antwortete auf Neos Thema in Beta-Bereich
    Du findest die Listen und Tabellen unter den Variablen: Direkte Zuweisungen sind auf diesem Wege in der grafischen EV möglich. Aber ein "append" beispielsweise kriege ich auch nur über Lua hin. Vielleicht ist das auch okay weil derjenige, der Listen und Tabellen zu nutzen versteht, vermutlich keine Scheu vor Lua hat.
  13. Goetz antwortete auf Neos Thema in Beta-Bereich
    Das war auch in Ordnung. Mit der Zeile A = $("Ereignisse").variables["Gleise"] hast du ja die Tabelle an eine Lua Tabelle namens A übergeben. Aber es ist auch in Lua nicht sinnvoll mit print(A) "die Tabelle" auszudrucken. Weil du damit nur den pointer bekommst. Du willst die Elemente ausgeben. Oder - wenn die Elemente Objekte sind - die Namen dieser Objekte. for i = 1, #A do print(A[i].name) end
  14. Goetz antwortete auf Neos Thema in Beta-Bereich
    A -- ist die Adresse der Tabelle. Ein Pointer. #A -- ist die Anzahl der Elemente A[1] -- ist der Inhalt der ersten Zelle von A A[1].name -- ist der Name des Objekts in Zelle 1 (wenn die Zelle ein Objekt enthält.)
  15. Goetz antwortete auf Neos Thema in Beta-Bereich
    Ja, stimmt. Lua unterscheidet nicht zwischen Listen und Tabellen. Im Gegensatz zu anderen Programmiersprachen. Aber Objektvariablen und nun auch die Listen und Tabellen in Objekten (und Modulen) sind keine reinen Lua Dinge. Da ist Lua nur der Übermittler. Deshalb unterscheidet das MBS bei Objekten und Modulen zwischen Tabellen und Listen.
  16. Goetz antwortete auf Neos Thema in Beta-Bereich
    und heute auch nicht. Ich habe deinen Beitrag komplett zitiert und dann alles bis auf die drei Worte gelöscht, Ich nutze Microsoft Edge. (für den Fall, dass es Browser-abhängig ist.)
  17. Goetz antwortete auf Neos Thema in Beta-Bereich
    Eine Liste hat nummerierte Zellen In einer Tabelle hat jede Zelle hingegen einen Namen Die nummerierten Zellen benutzt du, wenn du über die Liste "iterieren" möchtest. Das heißt, wenn du in einer Schleife alle Elemente dieser Zelle ansprechen möchtest. Die namentlichen Zellen der Tabelle benutzt du, um verschiedene Werte in einer Tabelle zusammenzufassen, die du nachher individuell nutzen möchtest. Alle Waggons eines Zuges würde man in einer Liste speichern. Die verschiedenen Werte eine Waggons (Ziel, Ladung, Gewicht etc.) in einer Tabelle Und beides kann man kombinieren: Hier ist ein Beispiel für einen Zug mit drei Waggons: -- Liste mit 3 Elementen. Jedes Element ist eine Tabelle Zug = { [1] = {Ziel = "Hamburg", Ladung = "Rüben", Gewicht = 8}, [2] = {Ziel = "Bremen", Ladung = "Bier", Gewicht = 6}, [3] = {Ziel = "Kiel", Ladung = "Gerste", Gewicht = 7.5}, } for i = 1, #Zug do local Text = string.format("Waggon %d hat das Ziel %s", i, Zug[i].Ziel) print(Text) end
  18. Goetz antwortete auf Neos Thema in Beta-Bereich
    Doppelklick auf ein Gleis - > alle Gleise eines Strangs markiert Strg-C -> alle markierten Gleise in Zwischenablage kopiert Variablen eines Objekts öffnen neue Liste angelegen Bearbeiten drücken Strg-V drücken -> alle kopierten Gleise sind als Objekte in diese Liste eingepflegt Das ist der Oberhammer, Neo!!!!
  19. Goetz antwortete auf Neos Thema in Beta-Bereich
    Exzellent, Neo
  20. Goetz antwortete auf Neos Thema in Beta-Bereich
    Das Fehlverhalten, welches du beschreibst, kann ich hier nicht nachstellen. Egal, wie ich bei gedrücktem Mausrad auf die rechte Maustaste klicke - beide Tasten behalten ihre vorherige Funktion bei. Ich kann anschließend (nachdem ich alle Tasten losgelassen habe) wieder wahlweise das Mausrad drücken, um zu drehen oder die rechte Maustaste drücken, um die Anlage zu verschieben.
  21. Natürlich. Das hatte ich nicht bedacht. Pardon. Auf die Schnelle habe ich die hier (ohne Laterne) bei Ebay gefunden. In der Realität sind solche symmetrischen Doppelweichen möglicherweise im Bereich Kleinbahn, Schmalspur oder auch bei der Straßenbahn zu finden. Das weiß ich nicht sicher.
  22. Ergänzend zu Maiks Bildern: Echte Drei-Wege-Weichen sind vor allem bei der Modellbahn zu finden. Bei der großen Bahn findet man sie nahezu gar nicht. In Mails unterem Bild ist gut zu erkennen, warum: Die beiden aneinander liegenden Zungen machen das Gebilde unsicher und störanfällig. Etwas häufiger findest du die asymmetrischen 3-Wege-Weichen, wie auf Maiks erstem Bild. Die Zungen der hinteren Weiche liegen dabei frei beweglich innerhalb der vorderen Weiche. Damit bestimmt die Länge dieser Zungen den Abstand der beiden Weichen zueinander. Solche Weichen findest du in kleineren Güterbereichen mit beengten Platzverhältnissen. @Easydiver Die Weichenlaternen auf beiden Seiten der Weiche wirken unrealistisch. Besser wäre, du würdest nur eine aufstellen. Aber es ist clever, wie du die Anzeige aller drei Stellungen getrickst hast. Im Katalog fehlt eine geeignete Laterne für 3-Wege Weichen. Sie müsste auf der Rückseite ebenso einen Pfeil zeigen wie auf der Vorderseite. Und in der Animation müsste die "Gerade" Stellung in der Mitte liegen, damit alle drei möglichen Stellungen richtig angezeigt werden. Eine asymmetrische 3-Wege-Weiche kann zwei normale Laternen kurz hintereinander haben. Beide stehen dann auf der selben Seite des Gleises.
  23. In der Vorabversion, die ich ausprobieren durfte, sah ich nur die Anzahl der Elemente in der rechten Spalte des Ereignisprotokolls. Links kannst du natürlich per print() alles reinschreiben. Wie es final aussehen wird weiß ich nicht, weil Neo derzeit noch am Update arbeitet. Neben den Listen und Tabellen bekommt die EV mit dem nächsten Update auch Wiederholungen. Beides ergänzt sich sehr gut und eröffnet in der Kombination tolle Möglichkeiten.
  24. Zur Zeit, ja. weil du die Initialisierung in dein Skript schreiben musst. mit dem nächsten Update bekommen wir die Möglichkeit, Tabellen wie Variablen in Objekten und Modulen abzulegen. Und die behalten dann - wie objekt/Modul-Variablen auch, ihre Werte.

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.