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.

Empfohlene Beiträge

Geschrieben

Hi mal ne Frage gibts in MBS 8 die Möglichkeit Zug fährt über Schalter ->

und zeigt in einem Textfeld (das gibt es wohl) einen Text (einen Text aus Liste/ zufällig einen Text aus Liste) anzeigen zu lassen?

Bearbeitet von moon2018

Geschrieben
  • Autor

Wie geil B|- genau das hab ich gesucht - da werde ich am Wochenende mal gleich eine neue Anlage starten

Geschrieben
  • Autor

Hab mal reingeschaut in die Demoanlage -

kann man die einzelnen Texteinträge nur manuell über MBS mit + eingeben

oder kann man auch eine Textliste per datei oder STRG+C /STRG+V einfügen?

Edit: hab gelesen, dass eine Textur nur 20 Einträge zulässt - stimmt das? oder kann man das auch umgehen?

Bearbeitet von moon2018

Geschrieben

Hallo Moon,

vor einer Stunde schrieb moon2018:

kann man auch eine Textliste per datei oder STRG+C /STRG+V einfügen?

Ja, das geht auch. Nicht als Datei. Aber mit Copy & Paste.
Entweder schreibst du den Text in Form einer Tabelle:

Textliste = {"Köln", "Hamburg", "Berlin", "Stuttgart", "München", "Hannover"}

oder du nutzt Lua Werkzeuge, um einen unformatierten Text umzuformen.

Meines Wissens stimmt das: Eine Textur erlaubt maximal 20 individuelle Textfelder. Aber man kann ein Textfeld an mehreren Stellen im Modell verwenden.

Viele Grüße
Götz

Geschrieben

Hallo,

vor 3 Stunden schrieb Goetz:

Meines Wissens stimmt das: Eine Textur erlaubt maximal 20 individuelle Textfelder. Aber man kann ein Textfeld an mehreren Stellen im Modell verwenden.

es gibt verschiedene Arten, ein Beschriftung auf einem Modell zu vervielfältigen:

05 Mehrfach-Beschriftung.jpg

06 Mehrfach-Beschriftung.jpg

04 Mehrfach-Beschriftung.jpg

Bei der ersten Variante (in den obigen Bildern gelb markiert) werden in der Beschriftungsdatei mehrere Einträge mit unterschiedlichen Positionskoordinaten auf der zugehörigen Textur hinterlegt, welche dieselbe Bezeichnung besitzen. In der Beschriftungsauswahl im Eigenschaftsfenster des Modells erscheint dann diese Bezeichnung genau einmal, wobei dann eine Änderung dieser Beschriftung im Eigenschaftsfenster für alle Beschriftungseinträge mit dieser Bezeichnung auf der Textur wirksam wird. Bei der Limitierung der Einträge in der Beschriftungsdatei auf 20 hat jedoch jeder dieser Einträge eine eigene Nummer ([0] bis [19]) und wird daher separat gezählt. Es können daher für jede Textur also wirklich nur maximal 20 Einträge definiert werden, auch wenn mehrere davon inhaltlich denselben Beschriftungstext enthalten.

Bei der zweiten Variante (violette Markierung) existiert der Beschriftungseintrag mit der in der Beschriftungsauswahl des Eigenschaftsfensters angezeigten Bezeichnung in der Textur nur einmal. Der Texturbereich, auf den diese Beschriftung wirkt, wird jedoch im Modell an verschiedenen Stellen verwendet. Die Vervielfältigung der Beschriftungsanzeige auf dem Modell erfolgt also durch die mehrfache Verwendung desselben Texturbereichs, ohne dafür mehrere Beschriftungseinträge in der Beschriftungsdatei definieren zu müssen. Allerdings vervielfältigt man hiermit auf dem Modell nicht nur die Beschriftung selbst, sondern auch deren Hintergrund (das Texturbild unter der Beschriftung). Diese Variante ist also nur für jene Fälle geeignet, wo der Hintergrund der Beschriftung immer derselbe ist und daher durch denselben Texturausschnitt (nämlich jenen, für den die Beschriftung definiert ist) dargestellt werden kann.

Viele Grüße
BahnLand

Bearbeitet von BahnLand

Geschrieben
  • Autor

@Bahnland das schau ich mir noch mal in Ruhe an

Hab gleich mal mutig versucht das ganze Ereignis in meinem ersten LUA Script nachzubasteln

wert enthält den Textstring aus der Liste - ich kann ihn aber dem Textfeld nicht zuweisen

BL:setStr(wert)

Es kommt die Fehlermeldung

]         Attempt to index a nil value (global 'BL') (Zeile 15)0:10]

Der Name müsste aber stimmen zumindest steht er unten in der Zeile wenn ich das Textfeld anwähle o.O

Bearbeitet von moon2018

Geschrieben
vor 6 Minuten schrieb moon2018:

BL:setStr(wert)

das sieht mir nicht nach Lua aus ???

Geschrieben
  • Autor

naja ich dachte der Name in der Zeile unten ist der Name des Textfeldes - also hab ich so versucht den Wert dem Textfeld mittels setStr zuzuweisen

In anderen Sprachen weise ich immer Textfeld.Text=wert zu - dachte das funktioniert hier auch so


Edit: wenn ich Textfeld.Text schreibe bleibt die Lok wenigstens nicht mehr stehen

steht aber trotzdem im Fenster Ereignisbehandlung gestoppt

Bearbeitet von moon2018

Geschrieben

Du kannst die richtige Schreibweise einer Programmiersprache nicht erraten, @moon2018
Du musst sie lernen oder wenigstens nachschlagen.

In Lua gibt es keine Funktion setStr().
Der Doppelpunkt hat in Lua eine besondere Funktion.
Und die Fehlermeldung besagt, dass es dein BL nicht gibt.

kurz: Was du da geschrieben hast, ist ein reines Fantasieprodukt und kein Lua.

Tut mir leid, dass ich nichts netteres zu deinem Versuch sagen kann.
Götz

Geschrieben
  • Autor

Naja ich habs ausgewählt und unten steht der Name - hab mittlerweile schon einiges probiert ...

-- Textfeld.labels["BL"].text="www"

-- BL.labels["Label"].text="uuu"

-- $("").text = $("Ereignisse").variables["Texte"][math.random(1, 6)]

die unterste Zeile ist der umgewandelte Code aus dem Demoprogramm

trotzdem scheint irgendwo ein kleiner Fehler zu sein

hab nochmal object.labels["BL"].text=wert getestet

aber jetzt ist erst mal Schluss für heute

2025-10-30_224022.jpg

Bearbeitet von moon2018

Geschrieben
vor 10 Minuten schrieb moon2018:

trotzdem scheint irgendwo ein kleiner Fehler zu sein

Der Fehler ist nicht klein, Moon.
Was du da versuchsweise hinschreibst, ist leider vollkommen unsinnig.

Viele Grüße
Götz

Geschrieben
vor einer Stunde schrieb moon2018:

-- $("").text = $("Ereignisse").variables["Texte"][math.random(1, 6)]

die unterste Zeile ist der umgewandelte Code aus dem Demoprogramm

Ist sie nicht.

$("").text = $("Ereignisse").variables["Texte"][math.random(1, 6)]

führt logischerweise zum Fehler

Attempt to index a nil value (line x)

weil man dem Nichtobjekt $("") nichts zuweisen kann.

Geschrieben
  • Autor

Jau stimmt o- keine Ahnung wo das abgeblieben ist

$("Textfeld").text = $("Ereignisse").variables["Texte"][math.random(1, 6)] ... so

In Götzes Beispiel heißt das Textfeld Textfeld - ich hab das Textfeld blos in BL umbenannt

aber dort wir ja auch die Variable die sich beim Ereignis ergibt dem Textfeld.Text zugewiesen

schau ich mir später noch mal an

Bearbeitet von moon2018

Geschrieben

vor 1 Stunde schrieb moon2018:

ich hab das Textfeld blos in BL umbenannt

Dann muss die Zuweisung so lauten:

$("BL").text = "www"
Geschrieben
  • Autor

B| Tat ... sächlich - es funktioniert (y)

Geschrieben

Hallo @moon2018,
viel lieber hätte ich von dir gelesen: "Jetzt habe ich es verstanden!"

Geschrieben
  • Autor

o.O naja zu verstehen gibt es da nix - der Text wird dem Textfeld zugewiesen - das Objektproperty text wird mit www geändert

Ich war ja noch nicht so oft hier im Forum unterwegs - hab schon Programmiererfahrung in C 116/C 64 Basic, Turbo-Pascal, Delphi, Java, C#.

Kenn mich also etwas aus - kommt halt jetzt nur drauf an die Eigenheiten von Lua und MBS rauszufinden - Lua kannte ich davor tatsächlich noch nicht.

Werde mir mal am Wochenende das pdf in der MBS Wiki von Lua zu Gemüte führen - das einzige was mich stuzig macht ist das "$"

Geschrieben

Hallo Moon,

vor 12 Minuten schrieb moon2018:

das einzige was mich stuzig macht ist das "$"

Das ist auch nicht Standard-Lua, sondern eine clevere Besonderheit im MBS.
Über das Dollar-Zeichen kommst du an die Objektreferenzen. Das können sowohl Anlagenobjekte sein, als auch Fahrstraßen oder Ereignismodule.

Wenn du das $-Zeichen in dein Lua Skript schreibst, bekommst du eine Auswahlliste:

Dollar Zeichen im Code.jpg

Wählst du aus der Liste das Gewünschte aus, dann wird dieser Adressteil automatisch vervollständigt. Und da es sich um eine Referenz handelt, werden auch spätere Namensänderungen bei den Objekten berücksichtigt und automatisch ins Skript übertragen.

Viele Grüße
Götz

Geschrieben
  • Autor

Mal ne Frage: Welche Gleise sind das im Beispiel?

Geschrieben
vor 12 Minuten schrieb moon2018:

Welche Gleise sind das im Beispiel?

Das sind die vier Gleise, die man beim Start einer neuen Anlage bekommt. Zwei der gebogenen Stücke habe ich länger gezogen, um 180° Kurven zu bekommen. Das dritte krumme Stück habe ich gerade gebogen für die Gerade am oberen Ende. Das war der schnellste Weg, um eine Demo mit Minimalausstattung zu bekommen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

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.