Jump to content

Alle Aktivitäten

Dieser Verlauf aktualisiert sich automatisch

  1. Letzte Stunde
  2. Hallo, ... danke für die Aufklärung (... immer diese kleinen Feinheiten [über die man stolpert...]) Gruß EASY
  3. Heute
  4. bleibt es bei Lua. _G und _Env sind die Tabellen, in denen alle Lua Variablen, Tabellen, Funktionen etc. verwaltet werden. Aber die Objekt- und Modulvariablen sind nicht Teil von Lua. Die gehören zum Studio und sind Teil einer anderen Struktur.
  5. Hallo zusammen, Habe die Modelle überarbeitet, der Glanz ist weg. Leider haben sich die ID`s geändert. Neu ist das Modell „Bürgersteig - Verkehrsinsel – Ecken“ mit Außen- und Innenecken. Modell: Bürgersteig - Grün- Parkstreifen (48 Variationen) Entwurf ID 1641A3ED-49D2-4F97-96FB-9946E425B4BD Modell: Bürgersteig - Verkehrsinsel - Spline (12 Variationen) Entwurf C5D7EF4E-E231-4CE8-80E0-CE8C610A4321 Modell: Bürgersteig - Verkehrsinsel – Ecken (10 Variationen) Entwurf ID B5DB5057-DE52-4179-ACE7-2C0CBCE4AC06 Viel Spaß beim weiter testen wünscht Axel
  6. Hallo, @Neo ich habe das Beispiel von @Goetz etwas erweitert... local modul = layout:getEventsByName("SC_1")[1] -- Original structured table local testState = { shortPhase = { "Vo1","Vo1a" }, longPhase = { "Vo2" }, currentMode = "countDown" } -- Store in module variable modul.variables["BrokenState"] = testState -- Also store in global variable _G.goodState = testState -- Later access (simulate after a timer or defer callback) local broken = modul.variables["BrokenState"] local good = _G.goodState print("From testState") for k, v in pairs(testState) do print(" " .. k, type(v)) if type(v)=="table" or type(v)=="object" then for i,w in ipairs(v) do print(k,w,i) end else print(k,v) end end print() print("From modul.variables:") for k, v in pairs(broken) do print(" " .. k, type(v)) if type(v)=="table" or type(v)=="object" then for i,w in ipairs(v) do print(k,w,i) end else print(k,v) end end print() print("From _G:") for k, v in pairs(good) do print(" " .. k, type(v)) if type(v)=="table" or type(v)=="object" then for i,w in ipairs(v) do print(k,w,i) end else print(k,v) end end ... mit diesem Ergebnis... ... wie Goetz schon angemerkt hat, wird beim Übertragen von "testState" auf die Modulvariable der Typ "table" auf den Typ "object" geändert obwohl die Variable prinzipiell richtig angelegt wird... und bei der Übertragung auf eine globale Variable nicht. ... zum Auslesen wird der typ "object" wieder wie eine Tabelle (Liste) behandelt. Da ich neugierig bin... hat das einen bestimmten Sinn? Was verbirgt sich hinter dem Typ "object"? Gruß EASY
  7. Danke @Goetz, Gruß Jürgen
  8. Hallo, mal wieder ein update. Habe mein erstes "road modul" fertig.. Eine generische ampelsteuerung fuer beliebige anzahl von ampeln ind definierbaren konfigurationen. Viele features, inclusive gruene welle. Beinhaltet noch keine fussgaegerampel. Das kommt spaeter wenn ich die grundlagen fertig habe. Bisher erkunde ich moeglichkeiten und die integration mit meinem tool. In diesem fall gibt es eine reihe von hilfsfunktionen, die auch plugins sein koennen um die definition der tabellen zu uebernehmen. Das pdf mit allen scripten ist zu gross, kann es nicht attachen, also habe ich die beschreibung ohne scripte geladen. Falls jemand die demo und scripte moechte bitte PM. gruss Gmd SC_Dokumentation_noscript.pdf
  9. Gestern
  10. Wobei die Untersicht auf die Gleise nicht sehr schön aussieht. Aber man guckt ja mit guten Manieren auch keiner Dame unter den Rock.
  11. ralf3

    Es geht los im Keller

    Unser „Facility Manager „ hat mich endgültig für übergeschnappt erklärt. Die Details werden immer kleiner…🙀😎 „Pardauz“. Kleine Szene vor der Bäckerei, die zu den Halbreliefhäusern am Anlagenhintergrund gehören wird. Mal sehen, ob ich sie wenigstens so platzieren kann, dass die Szene durch eine Straßenschlucht hindurch zu sehen sein wird… Nur mir bekannt wird wohl folgendes Detail bleiben: Die Bierkrüge und Flaschen auf den Tischen im Innenhof hinter Ricks Bar. Um später hier hinein zu schauen bleiben nur Selfiestick, Mini-Drone oder Stielaugen 🤣🥴😉 Ich weiß es und das ist für mich persönlich die Hauptsache. 😇 Beste Grüße, Ralf
  12. Hallo @Goetz, die Dinge, die Du da beschreibst, waren ja soweit bekannt. Wo es fehlte, war die richtige Zusammenstellung, um auf eine "globale" Modul-Variable mit der grafischen EV zugreifen zu können. Aber das hat sich ja jetzt geklärt. Gruß Andreas
  13. Hallo zusammen! Die Westkurve hat ein neues Landschaftsdesign erhalten und dient jetzt deutlich besser als Szenentrenner zwischen Einfahrt/Walzwerk und dem Bahnhof Dierscheid. Von der anderen Seite sieht das so aus: Ich bin immer wieder überrascht, welche neuen "Bastel-Lösungen" im MBS zu finden sind. Ich habe lange gegrübelt, wie ich die Brücke und die umliegenden Stützmauern gestalte. Am Ende bin ich bei umgedrehten, ineinander verschachtelten und mit Zusatzteilen ausgestatteten Brückenpfeilern gelandet... Schönes WE allerseits! LG Alex
  14. Wenn du eine Variable dynamisch angeben, also ihre Adresse aus mehreren Teilen zusammensetzen musst, benötigst du die erweiterte Variable. Der erste Teil ist dann der Ort und der zweite der Name. Jede dieser zwei Angaben kannst du bei Bedarf erneut mit einer erweiterten Variable aufsplitten. Du benötigst ein Element aus einer Liste. Dafür gibst du ebenfalls (wie bei einer erweiterten Variable) zwei Informationen an: Die Liste und den Index. Die Liste selbst möchtest du dynamisch angeben. Deshalb splittest du dieses Feld mit der erweiterten Variable in Ort und Name auf. Den Namen möchtest du dynamisch aus einem anderen Objekt entnehmen. Deshalb musst du den noch ein weiteres Mal über die erweiterte Variable angeben. In Lua schreiben wir dasselbe, ohne groß darüber nachzudenken welche Bausteine wir da zusammenfügen. Deshalb bevorzugen die meisten User auch Lua, wenn sie solche komplexen Strukturen anlegen. Ich brauchte ja auch einen etwas längeren Anlauf, bis ich das in der grafischen EV zusammengesetzt hatte. Viele Grüße Götz
  15. Hallo @Goetz, danke. Da gibt es dann Ereignis/Modul. Das hatte ich nicht gefunden. Ich hatte vermißt "Ereignisse. " schreiben zu können. Soviel war mir schon klar. Denn so versuchte ich ja, auf einen Text, der in der Variablen stand, eine Listen-Methode anzuwenden. Ich habe allerdings die Fehlermeldung in der Ereignisprotokollierung vermißt (datatype mismatch). Wäre es nicht eine gute Idee, in den Variablen von Objekten auf solche "globalen" Modul-Variablen verweisen zu können? (zus. Datentyp "Variable")? Eine Idee für V9.1 ? Gruß Andreas
  16. und nun habe ich auch die richtige Schreibweise für die grafische EV: Beispielanlage: Aktion Textfeld setzen.mbp Viele Grüße Götz
  17. Hallo Andreas, diese Art der Zuordnung (Name einer Modulvariablen aus einem Objekt auslesen) gelingt mir auf Anhieb nur in Lua: local Name = $("Schalter (groß)").variables["meineListe"] $("Text1").text = $("Ereignisse").variables[Name][1] Viele Grüße Götz
  18. Problem erkannt: Du übergibst nur den Namen der Variablen. In deiner EV steht nicht, dass mit diesem Namen eine Modulvariable angesprochen werden soll. Ich suche nach der korrekten Schreibweise ... Moooment
  19. Hallo Jürgen, hier ist der Umbau der Beispielanlage für V9. Dazu musste ich nur die Aktionen zum Öffnen und Schließen der Schranken austauschen. Statt eine Animation zu starten, betätige ich jetzt einen integrierten Schalter. Alles andere ist geblieben. Bahnübergang mit Sicherung für FS V9.mbp Die alte Version hat auch in V9 wie vorgesehen funktioniert. Aber du hast natürlich recht, dass es jetzt ratsam ist mit den integrierten Schaltern zu arbeiten. Viele Grüße Götz
  20. Hallo, ich benötige mal die Hilfe der Spezialisten. Folgende Situation: verschiedene Objekte sollen mit einem einheitlichen Ereignis auf Listen zugreifen. Da mehrere Objekte diese Listen verwenden, sollten diese nicht redundant bei allen betroffenen Objekten hinterlegt werden. Daher habe ich sie als "globale" Variablen direkt unter "Ereignisse" in der EV-Steuerung abgelegt. In den Objekten steht dann eine Variable, die auf die jeweilige Liste verweist. Da es so auf Anhieb nicht funktionierte, wie ich es mir dachte, bin ich auf ein simples Test-Szenario umgestiegen. Das Objekt ist jetzt ein Schalter und ein Textfeld. varialble Liste ansprechen.mbp Wird der Schalter betätigt, soll aus der Liste, deren Name in seiner Variablen hinterlegt ist, ein bestimmter Texteintrag aus der Liste angezeigt werden. "globale" Textliste: Listenverweis im Schalter: Theoretisch müßte ich auf den ensprechenden Eintrag (z. B. den ersten) in der Textliste mittels grafischer EV wie folgt zugreifen können: In einem ähnlichen Kostrukt hatte dieser Mechanismus unter V7 einwandfrei funktioniert. Wie komme ich hier weiter? Gruß Andreas varialble Liste ansprechen.mbp
  21. Danke @Goetz Gruß Jürgen
  22. Die gibt es noch nicht, Jürgen. Danke für den Hinweis. Ich schau mal, ob ich davon eine V9 Version machen kann.
  23. Hallo, nach Umstellung von Animation auf interne Schalter funktioniert die Bü Überwachung nicht mehr. Gibt es dafür auch eine Neuerung? Gruß Jürgen
  24. Hallo Gmd, aufschlussreicher ist es, den Typ von v auszugeben. Dann sieht man, was sich ändert wenn eine Tabelle in einer Modul- (oder Objekt-) Variablen gespeichert wird: local modul = layout:getEventsByName("SC_1")[1] -- Original structured table local testState = { shortPhase = { "Vo1" }, longPhase = { "Vo2" }, currentMode = "countDown" } -- Store in module variable modul.variables["BrokenState"] = testState -- Also store in global variable _G.goodState = testState -- Later access (simulate after a timer or defer callback) local broken = modul.variables["BrokenState"] local good = _G.goodState -- Display both print("From modul.variables:") for k, v in pairs(broken) do print(" " .. k, type(v)) end print("From _G:") for k, v in pairs(good) do print(" " .. k, type(v)) end Viele Grüße Götz
  25. Hallo zusammen Vielen Dank für die Likes, ....und die nächsten 2 Variationen: lg max
  26. Hallo @Thomas_103 Außenecken und Innenecken sind in Arbeit Gruß Axel
  27. kannst du das nicht? Na gut, bitte sehr: long and short phase example.mbp Aber einen Fehler erkenne ich hier nicht! Warum willst du einen String mit tostring() in einen String wandeln? Und welches Ergebnis erwartest du, wenn du mit print() versuchst eine ganze Tabelle auszugeben? Viele Grüße Götz
  28. Das beispiel ist etwas anders gelagert local modul = layout:getEventsByName("SC_1")[1] -- Original structured table local testState = { shortPhase = { "Vo1" }, longPhase = { "Vo2" }, currentMode = "countDown" } -- Store in module variable modul.variables["BrokenState"] = testState -- Also store in global variable _G.goodState = testState -- Later access (simulate after a timer or defer callback) local broken = modul.variables["BrokenState"] local good = _G.goodState -- Display both print("From modul.variables:") for k, v in pairs(broken) do print(" " .. tostring(k), v) end print("From _G:") for k, v in pairs(good) do print(" " .. tostring(k), v) end Ich habe das auf ein minimum reduziert. Pack das in einen event wo der print funktioniert. Gruss Gmd
  1. Ältere Aktivitäten anzeigen
×
×
  • Neu erstellen...