gmd Geschrieben 6. März 2020 Geschrieben 6. März 2020 (bearbeitet) Hallo, kann ich mit LUA dynamisch event definitionen erzeugen die persistent bleiben ? Gruss Gmd Bearbeitet 6. März 2020 von gmd
Goetz Geschrieben 6. März 2020 Geschrieben 6. März 2020 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
gmd Geschrieben 6. März 2020 Autor Geschrieben 6. März 2020 (bearbeitet) 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 6. März 2020 von gmd
gmd Geschrieben 6. März 2020 Autor Geschrieben 6. März 2020 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
HaNNoveraNer Geschrieben 6. März 2020 Geschrieben 6. März 2020 Eigentlich liefert rocrail ein schönes Blockkonzept, das man sehr gut für das MBS nutzen kann.
Goetz Geschrieben 6. März 2020 Geschrieben 6. März 2020 (bearbeitet) 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 6. März 2020 von Goetz
gmd Geschrieben 6. März 2020 Autor Geschrieben 6. März 2020 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
Goetz Geschrieben 6. März 2020 Geschrieben 6. März 2020 vor einer Stunde schrieb gmd: nur ein einziges recht kurzes script ... parametrisierung Okay, das klingt gut
gmd Geschrieben 7. März 2020 Autor Geschrieben 7. März 2020 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
Goetz Geschrieben 7. März 2020 Geschrieben 7. März 2020 (bearbeitet) 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 7. März 2020 von Goetz
gmd Geschrieben 7. März 2020 Autor Geschrieben 7. März 2020 (bearbeitet) 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 7. März 2020 von gmd
Goetz Geschrieben 7. März 2020 Geschrieben 7. März 2020 vor 5 Stunden schrieb gmd: ist das klarer? Nein, für mich leider nicht.
gmd Geschrieben 7. März 2020 Autor Geschrieben 7. März 2020 ich bin dabei meinen ansatz zu dokumentieren und eine vereinfachte version zu posten.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden