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

Hallo,

kann ich mit LUA  dynamisch event definitionen erzeugen die persistent bleiben ? 

Gruss

Gmd

 

Bearbeitet von gmd

Geschrieben

Du kannst Ereignisse aktivieren und deaktivieren, aber keine neuen Ereignisse erzeugen.
Kannst du beschreiben, was du genau vorhast? Vielleicht gibt es einen anderen Weg um zu erreichen, was du möchtest

Geschrieben
  • Autor

Ich versuche es,

Bin dabei ein allgemaines block konzept zu bauen mit ein- und ausgangs abzweigung. Tabellen legen die namen der kontakte, gleise, signale und variablen fest und mit getEntityByName werden die objekte identifiziert. Ich koennte auch die objekte direkt zuordnen ueber variablentyp objekt, aber die auswahl ist zu langwierig da die selektionsfunktion nicht effizient ist. Es ist einfacher namen in tabellen einzutragen. Wenn man string funktionen haette waere das natuerlich auch per LUA moeglich, so muss ich die namen von hand in die tabellen eintragen. 

Fuer jede komoponente, einfahrkontakt, bremskontakt usw. brauche ich ein ereignis und muss das objekt zuordnen und ein generisches script eintragen. Ich kann natuerlich eine struktur anlegen die ich einfach kopiere muss aber immer noch die tatsaechlichen trigger objekte zuordnen. Mit einer besseren scriptloesung kann man das mit einer einzigen tabelle loesen.

Das gleiche gilt fuer strassen von bahnhofsharfen usw. Damit kann ich auch mein doppeltraktions problem loesen ohne "lange" haltegleise. 

Kannst du mit dieser beschreibung etwas anfangen ?  

gruss

gmd

 

Bearbeitet von gmd

Geschrieben
  • Autor

I found the string functions though .. I read somewhere here that there are no string functions ... 

but I finally went to Lua.org and had a read .. so I can generate all the names ... great .. 

still have to solve the event issue ..

 

regards

Gmd

 

Geschrieben

Eigentlich liefert rocrail ein schönes Blockkonzept, das man sehr gut für das MBS nutzen kann. 

Geschrieben
vor 1 Stunde schrieb gmd:

I read somewhere here that there are no string functions ...

You must have misread. I don't think anyone here ever claimed that they are unavailable.

That aside, your entire concept (as far as I can follow your description) seems to be needlessly complicated. But it's difficult to point out the exact points where your approach is less than ideal.

Still - here's something which may helpful to know:
When you select and copy multiple objects, you can insert them all into a list of objects by pressing ctrl-v while you're building that list.

Bearbeitet von Goetz

Geschrieben
  • Autor
6 minutes ago, Goetz said:

That aside, your entire concept (as far as I can follow your description) seems to be needlessly complicated. But it's difficult to point out the exact points where your approach is less than ideal.

Ja es klingt kompliziert :)  ist es aber nicht wirklich da am ende nur ein einziges recht kurzes script dabei rauskommt. Das problem ist die parametrisierung, aber vielleicht faellt mir nochwas ein. Bin schon ein stueck weiter.

Danke fuer die schnellen antworten.

gruss

gmd

 

 

Geschrieben
vor einer Stunde schrieb gmd:

nur ein einziges recht kurzes script ... parametrisierung

Okay, das klingt gut (y)

Geschrieben
  • Autor

Hallo,

bin ein stueck weiter. Wenn man versucht einen event zu addressieren  wird der event zweig nicht beruecksichtigt, sondern nur der name selbst. Die namen muessen aber nicht eindeutig sein, was verstehe ich da nicht ? 

Ausserdem noch eine frage. Wenn ich einen event objekt fuer einen gleiskontakt habe  kann ich mit  objekt.contact den richtigen kontakt zuweisen ? Das wuerde helfen

Danke, Gruss

Gmd

 

Geschrieben
vor 15 Minuten schrieb gmd:

Die namen muessen aber nicht eindeutig sein, was verstehe ich da nicht?

Die Namen sind nicht die Identifier, wenn du Objekte, Ereignisse oder Module mit Hilfe des $-Zeichens adressierst. Sie stehen nur zur besseren Orientierung im Skript.

Tatsächlich werden (für dich unsichtbar) die eindeutigen Adressen dieser Objekte im Skript gespeichert. Wenn du später den Namen von einem Objekt oder einem Ereignis/Modul änderst, dann wirst du sehen, dass er automatisch auch im Skript geändert wird. Wichtig ist nur, dass du die Objekte/Ereignisse/Module ins Skript einfügst, indem du nur das $-Zeichen schreibst und dann das gewünschte Element aus der Liste auswählst.

 

vor 15 Minuten schrieb gmd:

Wenn ich einen event objekt fuer einen gleiskontakt habe  kann ich mit  objekt.contact den richtigen kontakt zuweisen?

Nein, es ist viel einfacher:
Der Name des contacts, mit dem du ein Ereignis ausgelöst hast, heißt einfach contact. Und das auslösende Fahrzeug heißt vehicle. 

 

Kennst du diesen Thread zur Straßenbahn-Steuerung? Da werden diese Zusammenhänge erläutert.

Bearbeitet von Goetz

Geschrieben
  • Autor

Wow du bist frueh,

beide antworten passen leider nicht ... ich werde nochmals einen versuch machen.

Ich bin mir bewusst ueber namen vs objekt id's - das ist nicht mein problem. Es ist anders.

Beispiel:

EventModul1
       Event1
       Event2

EventModul2
       Event1
       Event2

Nehmen wir mal an dass die Events trigger events sind, Wenn ich  $("Event1") benutze welchen der beiden objekte bekomme ich ? 

und die zweite frage war ob ich mit objekt.contact den gleiskontakt setzen kann  war dann  $("Event1").contact = layout:getEntityByName("Gleiskontaktname")

anstatt mit dem event editor 

ist das klarer ? Sorry, wenn ich mich immer zu kurz ausdruecke.

 

Gruss

Gmd

 

 

 

 

 

 

Bearbeitet von gmd

Geschrieben
vor 5 Stunden schrieb gmd:

ist das klarer?

Nein, für mich leider nicht.

Geschrieben
  • Autor

ich bin dabei meinen ansatz zu dokumentieren und eine vereinfachte version zu posten.

 

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.