Jump to content

Anlagendesigner

Mitglieder
  • Gesamte Inhalte

    139
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Anlagendesigner

  1. Aus Sicht anderer Programmiersprachen ist es eigentlich logisch. Das remove bedeutet löschen, nicht ausschneiden. Was gelöscht ist kann nirgendwo mehr hingeschrieben/eingefügt werden. Die Variable X2 dürfte also nie einen Wert gehabt haben. Das ist in jeder mir bekannten Programmiersprache so, deshalb stellte sich mir die Frage ja überhaupt. Aber da muss sich @Neo zu äußern, wie das im Studio genau umgesetzt ist.
  2. @EASY @Goetz Danke für die Hilfe. Mit Easy's letztem Script funktioniert das Neureihen der Tabelle mit Auslösetastern perfekt. Jetzt werde ich es mal in Verbindung mit dem Gleiskontakt und der Aktualisierung der Anzeigetafel probieren. Damit hat sich der Export wohl auch erledigt - mach ich lieber mal wenn alles in weiter zukunft irgendwann fertig wird. Leider lasse ich mich bei der neuen Studio-Version dazu verleiten die neuen Funktionen einzuarbeiten und baue deshalb oft wieder um.
  3. Muss das Schlüsselwort local beim befüllen von Variablen immer voran gestellt werden?
  4. @EASYDer Unterschied besteht quasi nur darin, das du die erste Zeile erst kopierst und hinten anfügst und dann erst löschst. Sehe ich das richtig?
  5. N'abend, also ich kann definitiv sagen, das es mit dem Export an x liegt. Wenn ich x mit was anderem manuell befülle, wird dies an die Tabelle angehangen, nur wenn ich deinen Code nutze und x einzig mit der remove-Funktion befülle wird nichts angehängt. Das deutet für mich darauf hin, dass x keinen Inhalt hat - warum auch immer. Werde Morgen mal schauen ob ich die Anlage exportiert bekomme, dann kannst du selbst reinschauen und nach dem Fehler sehen. Ich werde Morgen - wenn ich dazu komme - mal das Prozedere mit einer neuen, leeren Anlage nachstellen. Nicht das am Ende nicht nur das Ereignis/Ereignisverwaltung als Unterschied ist. Die Anlage habe ich glaube ich seit V6 immer wieder in die neuen Versionen übertragen und weiterbearbeitet. Wie kann ich dir die Anlage denn am besten zur Verfügung stellen?
  6. Hatte es missverstanden. In Zeile 2 steht das t für die zu bearbeitende Tabelle/Liste und nicht um den einzufügenden Inhalt und somit ist es natürlich richtig. Aber das Einfügen funktioniert nicht, das kann ich reproduzieren. Habe zwischenzeitlich mal probiert die Zeile in zwei einzelne Befehle aufzusplitten wie du weiter oben geschrieben hattes: x = table.remove(t, 1) table.insert(t, x) Alternativ habe ich auch versucht einen Index anzugeben, doch dann läuft es wieder in einen Fehler. Kann es sein, dass es Probleme mit dem Inhalt von X gibt? Das da ein einzelner Wert und keine Listenzeile mit mehreren Werten erwartet wird? In der Codedefinition steht nichts dazu, da ist lediglich von einfügen allgemein die Rede. Aber alles andere funktioniert ja. Kann es sein, dass der Fehler auch im remove-Befehl steckt? remove löscht die Tabellenzeile und gleichzeitig übergibt er sie an "x"? Was übergibt die Funktion wenn die Werte gelöscht werden? Ist "x" nicht einfach leer und wird deshalb nicht eingefügt? Gibt es eine Möglichkeit um den Inhalt von X vor dem Einfügen anzeigen zu lassen?
  7. So, habe mir mal die Funktion näher angesehen und je, es entsteht keine Fehlermeldung. Dennoch ist ein Fehler enthalten, denn es wird zwar die erste Zeile gelöscht, die gelöschte aber nicht hinten eingefügt. Das Listenobjekt wird bei jedem Durchlauf eine Zeile kürzer. Aktuell sieht der angepasste Lua-Code folgendermaßen aus: local t = $("Gleiskontakt Beschriftung_S-Bahn-Station (Kaserne)").variables["Abfahrzeiten"] table.insert(t, table.remove(t, 1)) $("Gleiskontakt Beschriftung_S-Bahn-Station (Kaserne)").variables["Abfahrzeiten"] = t Hat es eigentlich einen besonderen Grund das t als Variable zu nutzen? Und einmal das t in der Listen-Editierung (Zeile 2) zu verwenden und gleichzeitig in der Ausschneiden/Einfügen-Funktion (Zeile 1 und 3) gibt keine kollisionen? Wie gesagt ist mein Lua-Wissen recht bescheiden, ich kann nur aus der Erfahrung mit anderen Programmiersprachen Rückschlüsse ziehen. Gibt es eine Möglichkeit Lua-code Zeilenweise auszuführen oder mit Haltepunkten zu versehen um den Ablauf besser testen zu können?
  8. Also der Code läuft Fehlerfrei druch, allerdings ergibt es noch nicht das richtige Ergebnis. Irgendwie wird anscheinend immer die gleiche Zeile unten angehangen und nicht die oberste aus der Anzeige. Muss ich Morgen noch mal genauer unter die Lupe nehmen.
  9. Ok, in einer neuen Anlage steht da tatsächlich nur noch Ereignisse und nicht wie bei mir Ereignisverwaltung. Hab es angepasst und jetzt bleibt es beim speichern auch erhalten. Allerdings ist es ja noch nicht ganz korrekt, da in deinem Beispiel auf eine Modulvariable verwiesen wird. Ich nutze ja eine Objektvariable, also müsste die ganze Zeile doch eigentlich anders lauten, oder nicht? Müsste jetzt statt Ereignis/Ereignisverwaltung der Name des Objektes dort stehen? Also in meinem Fall: local t = $("Gleiskontakt Beschriftung_S-Bahn-Station (Kaserne)").variables["Abfahrzeiten"] und fürs zurückschreiben: $("Gleiskontakt Beschriftung_S-Bahn-Station (Kaserne)").variables["Abfahrzeiten"] = t
  10. @Goetz Also ich sehe in der EV keinen Eintrag "Ereignisse", nur "Ereignisverwaltung" mit den einzelnen Einträgen bzw. Ordnern. (Siehe Screenshot1) Meine Liste habe ich an einen Gleiskontakt als Modulvariable hintelegt. Dort gibt es ebenfalls 4 Objektvariablen für die Anzeigeelemente. So bin ich generisch und brauche nur den Gleiskontakt zu kopieren und alles zu editieren. Nur das "durchreihen" nach oben in der Anzeige fehlt noch. Ich habe deinen Lua-Code 1:1 eingefügt und lediglich das "Beatles" durch "abfahrzeiten" (den Namen der Objektvariable) ersetzt. Aber das bringt wohl nichts wenn sich dies auf eine Modulvariable bezieht statt auf eine Objektvariable. Das "Ereignisse" hat mir Lua komplett gelöscht weil es diesen Namen nicht wohl findet.
  11. @Goetz Ich habe mir noch mal dein Lua-Beispiel vom Anfang angesehen, muss aber gestehen, dass ich nicht wirklich damit zurecht komme. Die funktion ist mir schon klar, aber ich habe Probleme mit den Bezeichnern. Wofür steht das "Ereignisse"? Ich behme an das "Beatles" steht für den Namen der Objektvariable, oder? Im Prinzip müsste ja die erste Zeile gelöscht und am Ende wieder angehangen werden. Ist es möglich, die Nummern der Liste per Script zu ändern, also 1->x, 2->1, 3->2, 4->3, x->4 (wobei x ein Zwischenspeicher ist)
  12. Beim Objektnamen habe ich das Problem, das nach meinem jetzigen Stand, der nicht eindeutig genug ist. Der Objektname ist ja zb ICE4 Triebwagen, ich brauche aber die Zugnummer, also zb ICE 12. Im Regioverkehr ist es ja noch schlimmer, da ändert sich die Zugnummer je nach Richtung und Zeit wobei die Linienbezeichnung ja gleich bleibt und das Modell auch den selben Modellnamen hat, da ja identisch mit den anderen Zügen der Linie ist. Und mit der eindeutigen ID des Modells kann ich im GBS oder Anzeigeelementen ja wenig bis gar nichts anfangen. Ich hoffe ich drücke mich soweit verständlich aus und man kann begreifen worum es mir geht. @GoetzDas mit dem vehicle ist mir nicht klar. Bezieht sich das automatisch sobad ein Auslöser mit einem Fahrzeug interagiert oder wie genau? @PhrontistesAktuell geht es mir um eine S-Bahn mit der Linienbezeichnung. Die kann dem Modell als Beschriftung beigefügt werden, so dass sie vorne und seitlich angezeigt wird. Diese Bezeichnung (zb S3 oder S16 wie in Köln) entspricht ja nicht dem Objektnamen, sonst käme es spätestens bei Zugverbünden mit mehreren angetriebenen Modellen zu Problemen. Bei mir entspricht aktuell der Modellname der (keine Ahnung wie man die nennt) Wagennummer der DB-Bezeichnung also im Regioverkehr der 440-3215-5 beispielsweise. Die ist einmalig.
  13. Ok, danke. Wie schon mal an anderer Stelle geschrieben, habe ich mich bisher nie mit LUA beschäftigt. Wie sähe denn der Code aus, wenn das Objekt nicht feststeht, sondern durch einen Auslöser angesprochen wird. Hintergrund: Ich möchte beispielsweise gerne bei der Bahnhofseinfahrt die Zugnummer auslesen und diese in einem GBS anzeigen lassen. Das ginge natürlich mit einer Objektvariablen, doch wenn der Text eh schon in einer Beschriftung vorhanden ist, ist es ja wenig sinnig das mit einer Objektvariablen zu doppeln.
  14. Gibt es eine Möglichkeit in der EV auf eine änderbare Beschriftung eines Modells zuzugreifen. Diese auszulesen und weiter zu bearbeiten? Mir fällt aktuell leider nur umgehrt eine Möglichkeit ein.
  15. Ich habe in letzter Zeit immer mal wieder das Problem, dass im Gleiseditor bei der Geometrie Geisterwerte angezeigt werden. Konkret zeigt mir das Studio nach dem Wechsel einer Spur immer wieder mal bei der Geometrie die Daten der zuvor ausgewählten Spur als 1. Position (roter Kringel) und die eigentlichen Geometriedaten (gelber Kringel) rutschen auf den nächsten Platz. Wenn man dann erneut eine andere Spur auswählt werden auch diese Geometrien "vor" der richtigen angezeigt und richtige Geometrie rutscht auf den 3. Platz. Diese Geistergeometrien lassen sich weder editieren noch löschen. Schließe ich den Gleiseditor und öffne ihn neu fängt das Spiel wieder bei Null an. Das Problem taucht erst seit einigen Tagen auf. Da ich heute auch kurze Zeit ein Speicherproblem angezeigt bekommen habe, stellt sich die Frage, ob sich ein Ram-Riegel verabschieden hat und dieser Fehler durch ein Speicherproblem erzeugt wird.
  16. Das funktioniert nur wenn man die Baumansicht aktiviert hat. Da ich dies bisher nie hatte ... Der Rechtsklick geht jedoch nicht auf dem Punkt Favoriten, dadurch hat man ohne Baumansicht keine Möglichkeit Unterkategorien zu erstellen. Was hat es eigentlich mit den zwei Begriffen "1969" und "Meine-Online-3D-Modelle" in den Favoriten auf sich? sollen das Suchordner sein - frage wegen der Lupe im Icon. Bekommt man die weg?
  17. Dann sollte aber der Bereich Verkehrsschilder mal dringend aufgeräumt werden. Da tummeln sich inzwischen Schilder aus min. 3 verschiedenen Generationen/Entwicklungen und nach meinem Kenntnisstand sollte mit den letzteren Modellen mit Varianten und Tauschtextur jegliches Schild abgebildet werden, was zumindest die ganzen Schilder mit fest kombiniertem Schild und Mast "überflüssig" macht. Solange diese aber nicht archiviert werden, werden sie auch weiter genutzt. Was deine Aussage irgendwie aushebelt, da du sie ja nur archivierst wenn sie nicht mehr benutzt werden. Nur zum Verständnis, das Ausblenden wäre doch genauso lediglich lokal. Sonst könnte man es ja gar nicht für sich selbst entscheiden sondern würde ein Modell für alle ausblenden. Es macht also sogesehen eigentlich keinen Unterschied. Abgesehen davon, dass ich mit den Favoriten entweder das Modell doppelle oder zumindest einen Symlink (also einen zweiten Link) erstellen muss. Das ist in meinen Augen sehr Wohl ein Aufblähen. Aber soll mir auch egal sein, du wirst es eh nicht mal in Erwägung ziehen wieder zum alten System zurück zu kehren, egal was man sagt oder nicht. Außerdem würde ich darum bitten, dass du mir erläuterst wie man in den Favoriten des Online-Bereichs eine eigene Ordnerstruktur anlagen kann. Ich finde dazu keine Möglichkeit. Und da die Modelle die ich im Online-Katalog als Favorit markiere nur dort auftauchen liegen sie alle wild durcheinander und es ist ein größeres Chaos als in der Ordnerstruktur der Online-Modelle selbst.
  18. @Neo Bläht das den Katalog nicht unnötig auf wenn jedes fovorisierte Modell zusätzlich unter Favoriten abgelegt ist bzw. verlinkt ist. Da finde ich die alte Variante mit dem Ausblenden wesentlich effektiver, besonders seit von deiner Seite kaum noch alte Modelle ausgeblendet werden.
  19. So klappt erstmal soweit Habe den Auslöser jetzt mal alternativ auf den Taster gelegt. Lässt sich von der Ansicht her besser positionieren. Für die Anzeige2-4 muss ich den ganzen Teil jetzt jeweils kopieren. Geht das auch generisch? Habe die Modelle "Anzeigetafel (1)" benannt, wobei die 1 sich jeweils ändert. Der Name müsste doch eigentlich auch mit einer hochgezählten Variable erstellt werden können, oder funktioniert das nur in Lua? Selbst bei einer Haltestelle die Nachts nicht angefahren wird und zwei Linien stündlich die Haltestelle passieren kommen ja über 50 Zeilen in der Tabelle zusammen, von denen ja nur die ersten 4-5 auf der Tafel angezeigt werden. Als nächstes kommt dann das hochzählen.bzw. löschen der obersten Zeile und Nachrücken der folgenden. Zeilen. Zusätzlich muss ich mir noch überlegen wie ich das ganze z. B. mit Schlagwördern generisch aufbauen kann, damit nicht für jede Station/Zuganzeige ein einzelner Eintrag in der EV erstellt werden muss. Erste Idee wäre es, die Tabelle als Variable an den Gleiskontakt anzuhängen und den Namen der Anzeigetafel ebenfalls als Variable zu hinterlegen. Dann müsste ich in der EV nur jeweils auf die Variable des Auslösers (Gleiskontaktes) verweisen und beim kopieren des Gleiskontaktes nur die Tabelle anpassen und die jeweiligen Namen der Anzeigetafel hinterlegen. Somit könnte ich alle Tafeln mit einem Eintrag in der EV abfertigen, oder ist da ein Denkfehler?
  20. @Roter Brummer Hallo, ich würde mich freuen wenn du von deiner beschriftbaren "Anzeigetafel (modular)" eine alternative Version für Busstationen wie auf dem beigefügten Foto erstellen könntest. Bei meinem Aufbau würde man 3-4 Teile/Variationen benötigen. Teil 1 als Ober- und Unterteil der Anzeige, Teil 2 als Anzeige selbst (ohne Ober-/Unterteil nur mit seitlichem Rahmen) und Teil 3 ein Mast. Teil 2 gegebenenfalls als einseitige und/oder doppelseitiger Anzeige und folgenden Beschriftungsfeldern in der Reihenfolge von links nach rechts: Zugnummer (Linie), Zugziel und Abfahrzeit (als Uhrzeit und ggf. auch als Minutenangabe). Kontaktpunkte sollten an den Kontaktstellen von Teil 1 (Ober-/Unterteil) und Teil 3 (Mast) sein, sowie jeweils als Mittelpunkt der oberen und unteren Flächen der Teile 1 (Ober-/Unterteil) und Teil 2 (Anzeige). Auf diese Weise könnte man eine ununterbrochene Anzeigefläche mit beliebig vielen Zeilen erstellen. Auf dem Foto habe ich mal mit Bordmitteln eine zusammengebaute Version und eine Version als Explosionsbild abgebildet. Die Person dient nur zur Darstellung der Höhe des Mastest. Vielleicht hast du ja Zeit und Lust diese Alternative zu erstellen. Ich denke Sie hätte viel Einsatzpotential.
  21. @Goetz Während du geschrieben hattest ist genau das mir selbst aufgefallen und ich habe es geändert. Das Ereignis führt jetzt nicht mehr zu einem Abbruch, es wird aber auch nichts in der Zuganzeige beim Aulösen eingetragen/geändert. Muss mir den Ablauf morgen noch mal genau im Detail ansehen. Anbei noch mal ein Screenshot der Ereignisprotokolls:
  22. @Goetz Ja, das stimmt, habe noch mal einen neuen Screenshot gemacht, damit man die untere Tabelle mit sehen kann. Sehe aber keinen Unterschied zu deinem Screenshot. @Eggu Der Index bei Listen wird doch automatisch vorgeben bzw. durchnummeriert. Ich wüsste nicht wie man das umgehen könnte.
  23. So, hab schon mal nachgeschaut. Anbei ein Screenshot der Listenvariable als Objektvariable, einer wie das Ereignis bei mir aussieht und einer der Ereignisprotokollierung. So wie ich das verstehe ist der Fehler ein Index mit einem Nullwert.
  24. Ja sorry, hab den Betrag noch schnell geschrieben, ehe ich das Studio beendet habe. Schaue morgen mal nach was im Protokoll steht, aber viel war das nicht was da stand. Hab die Variable wie beschrieben als Objektvariable der Gruppe "Zuganzeige" erstellt. Das befüllen wird von einem Gleiskontakt ausgelöst. Aber wie bereits gesagt, anders als in deinem Bildbeispiel kann ich nur die Listennummer als Variablenname auswählen, nicht die gesamte Liste. Da ist wohl auch der Abbruch drin begründet. Schaue aber spätestens Morgen nach den Details
  25. Also ich bin jetzt seit über zwei Stunden dran und bekomme es einfach nicht hin. Grundsätzlich erstmal die Frage ist die Liste eine Objektvariable oder eine Programmvariable, falls Objektvariable, dann zu welchem Objekt zugeordnet Bus/S-Bahn oder Anzeigetafel (Gesamte Gruppe oder Einzelelement)? Dann kann ich aktuell nur die Zeilennummer als Variablennamen auswählen beim Textzuweisen (lasse ich aktuell von einem Gleiskontakt auslösen). Bricht aber beim Auslösen die Verarbeitung ab.
×
×
  • Neu erstellen...