Jump to content

fzonk

Mitglieder
  • Gesamte Inhalte

    570
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von fzonk

  1. Ich bin über verrückte Ideen dankbar, werd es aber auch erst später mir anschauen, denn jetzt ist auch für mich die Zeit gekommen die Augen zu entspannen... Angenehme Nachtruhe
  2. Hallo Timba, Für mich schon, weil ich mich an Lua gerade erst herantaste Das Beispiel mit den Lampen ist gerade nur stellvertretend für eine andere Funktion an der ich gerade bastle. Bei dieser sind es 32 Objekte. In verschieden Aktionen will ich teilweise alle auf einmal ansprechen, was über Wiederholung kein Problem ist, zum Teil will ich aber auch nur einige bestimmte Objekte davon ansprechen, die Zusammenstellungen der Objekte ändert sich dabei immer wieder. Nun suche ich einen einfachen Weg wie ich bestimmte Objekte aus einer Liste ansprechen kann. Gruß Frank
  3. Hallo EASY, Ich würde mich da streit_ross anschließen. Wenn er nicht eine komplett eigene Kategorie bekommen sollte würde er wohl am besten als komplettes Packet in die Kategorie Dieseltriebwagen>Fernschnelltriebwagen passen. Gruß Frank
  4. Hallo @Goetz Ja es geht um die Variante 3, ich möchte Teile des Indexes aufrufen. Dein Beispiel kommt meiner Vorstellung schon sehr nah. Ich hatte mir eine noch einfachere Lösung gewünscht. In der Grafischen EV in etwa so: Oder in Lua eventuell so: $("Kippschalter").variables["Lampen"]["1"]["3"]["5"].state = state Aber scheinbar gibt es da keine so einfache Lösung, oder doch? Gruß Frank Nachtrag: Ich hatte auch noch die Idee zu dieser Lösung: $("Kippschalter").variables["Lampen"]["1"and"3"and"5"].state = state interessanter weiße verarbeitet Lua den Befehl sogar ohne Fehlermeldung, aber leider wird nur die Lampe 5 geschalten. Wenn ich die „and“ gegen „or“ austausche wird nur die erste Lampe geschalten. Aber ist halt noch immer nicht die Lösung die ich anstrebe.
  5. Hallo Götz, erst einmal vielen Dank für deine Mühe. Dass mit der Wiederholung für alle hinterlegten Objekte kannte ich schon. Ich hatte gehofft es gibt die Möglichkeit über eine Aufzählung nur bestimmte Bestandteile anzusprechen. Gruß Frank
  6. Hallo an Alle, ich stehe gerade etwas auf dem Schlauch und habe gleich mal ein Beispiel angehangen. Ich habe in dem Kippschalter eine Liste erstellt mit den 5 Lampen (die Schalter sind). Nun würde ich gern mehrere Objekte aus dieser Liste gleichzeitig ansprechen (Lampen umschalten), dabei möchte ich aber in der EV nicht für jede Lampe eine Aktion erstellen. Gibt es die Möglichkeit über eine Aktion mehrere Objekte gleichzeitig aus der Liste anzusprechen. Als Beispiel ich hätte gern das Lampe 1; 3 und 5 um geschalten werden. Gruß Frank Liste abrufen.mbp
  7. fzonk

    Tauschtextur

    Hallo @Jan Dass mit der Rastergröße und den verhalten der Geometrie was daraus entsteht ist ein leidiges Thema und da an sich wird sich schwer was ändern lassen, da wie du schon richtig geschrieben hast eine kleinere Rastergröße zu Lasten der FPS geht. Deine Idee mit der seitlichen Abdeckung mittels Sprinestraßen finde ich super. Vielleicht kann ja @Roter Brummer eine Tauschtextur zufügen oder ein anderer Modellbauer erstellt ein Splineobjekt, welches diese Fähigkeit besitzt. Gruß Frank
  8. Hallo @Timba, was über die grafische EV möglich wäre ist das du die Simulationszeit in einem Textfeld mitlaufen lässt, dies ist wie folg möglich. Wenn dich dann ein bestimmter Zeitpunkt interessiert könntest du das Beschriftung setzten Ereignis einfach über die EV deaktivieren lassen. Damit bleibt der entsprechende Zeitpunkt auf dem Textfeld „eingefroren“ obwohl die Uhr weiterläuft. In meinem Beispiel habe ich als Auslöser einfach den Schalter. Zeit.mbp Gruß Frank
  9. Hallo an Alle, Wie gewünscht, hier auch ein kleines Beispiel mit Parametern. Auch hier dient die Anlage ausschließlich der Verdeutlichung für die benutzerdefinierten Ereignisse, alle anderen mit eingeflossenen Ereignisse sollen hier nur nebensächlich sein. Benutzerdefiniertes Ereignis mit Parametern.mbp In diesem Beispiel soll einfach nur die Weichen gestellt werden, das Signal geöffnet werden und nach einer Verzögerung der Zug gestartet werden. Bitte immer nur einen Zug starten, dieser soll absichtlich wieder auf dem Ausgangsgleis ankommen. Bei einer Steuerung ohne benutzerdefinierten Ereignissen könnte die Steuerung so aussehen. Da diese Abfolge ja aber für mehrere Ereignisse gleich ist, packe ich diese wieder in ein benutzerdefiniertes Ereignis. Nun suche ich mir alle Punkte heraus, die sich bei den Ereignissen unterscheiden. In diesem Fall sind es die beiden Weichenstellungen, das Signal, was geöffnet werden soll und die Lok, die gestartet werden soll. Dazu lege ich Parameter an (einfach auf das blaue Wort klicken). Die Namen der Parameter sind von mir frei gewählt und können x-beliebig benannt werden (Sonderzeichen und Leerzeichen sind nicht zugelassen). Für die beiden Weichenstellungen habe ich den Variablentyp „Zahl“ gewählt und für die Lok und das Signal den Typ „Objekt“. Im nächsten Schritt habe ich wieder die Ereignisabfolge erstellt und an den betreffenden Stellen wählt man dann Auslöser und sucht sich den entsprechenden heraus. Im letzten Schritt habe ich dann wieder die Ereignisse mit dem entstehenden Auslöser erstellt, in diesem Fall soll es einfach das betätigen des Tasters sein. Wenn man nun das benutzerdefinierte Ereignis hinzufügt kommt automatisch an der linken Seite die Liste mit den hinterlegten Parametern. Diese nur noch für jedes Ereignis eintragen und fertig ist eine Steuerung mit einem benutzerdefinierten Ereignis, inclusive Parameter. Wie Eingangs schon erwähnt ist dies nur eine darstellende Nutzungsmöglichkeit, richtig interessant wird diese Nutzungsmöglichkeit erst bei umfangreichen Steuerungen, vor allen wenn man nicht mehr als Auslöser einen Taster nimmt, sondern zufällig gesetzte Variablen, was dann aber auch schon wieder ein ganz anderes Thema ist. Gruß Frank
  10. Ja ich habe mir es angeschaut und vor allem auch die funktionsweiße (EV), da es eine super Leistung ist habe ich es mit einem gefällt mir honoriert. Da ich selbst aber keine Anlagen baue, wo ein aktives Steuern vorgesehen ist (Andy weiß bestimmt was ich meine) bin ich nicht weiter auf dieses Thema eingegangen, da ich persönlich keine Verwendung für habe. Gruß Frank
  11. Hallo an Alle, ich versuche es mal an einem Beispiel zu erklären für was unter anderem die benutzerdefinierten Ereignisse gut sind. Benutzerdefiniertes Ereignis.mbp Dazu habe ich dieses Beispiel erstellt (für alle Fortgeschrittenen, ja es würde auch andere Lösungen geben, aber zum Erklären sollte es recht gut herhalten). Bei diesem Beispiel möchte ich, dass wenn die Lok ein gelbes Gleis betritt immer alle Lampen umschalten. In der einfachsten Variante könnte ich für jedes der 4 Gleise ein Ereignis erstellen, wo jede der 4 Lampen einzeln hinterlegt ist. Da ich aber keine Lust habe immer wieder die 4 Lampen einzeln einzufügen und ich weiß, dass ich diese Kombination aus 4 Lampen auch noch an anderes stelle schalten will habe ich im nächsten Schritt ein benutzerdefiniertes Ereignis erstellt, in dieses habe ich die 4 Lampen gepackt. Nun brauche ich bei den jeweiligen Gleisen nur immer dieses benutzerdefinierte Ereignis abrufen. Ich hoffe dieses Beispiel zeigt in etwa auf für was die benutzerdefinierten Ereignisse sein könne. Interessant ist dies zum Beispiel, wenn ein Zug gestartet werden soll, denn die Abfolge ist ja meist gleich. Weichen werden geschalten, Signal wird geöffnet, nach einer Verzögerung fährt der Zug los. Dabei kommen dann noch die Parameter ins Spiel, aber dies ist schon wieder ein ganz anderes Thema. Gruß Frank
  12. Hallo an Alle, Dies ist in der Tat etwas versteckt. Ihr müsst aus Texturen gehen, dann auf Entdecken (und nur dort) und dann könnt ihr den Filter zum Archiv setzten und könnt alle archivierten Texturen finden. Gruß Frank
  13. Hallo an Alle, hier noch mal ein kleiner Nachtrag. Ich habe mich dann doch noch mal hingesetzt und das Ereignis überarbeitet. Ich habe nahezu alle Verzögerungen aus dem Ereignis verbannt und diese Abläufe in benutzerdefinierte Ereignisse gepackt. Damit gibt es nahezu nur noch Bedingungen und benutzerdefinierte Ereignisse in diesem Ereignis. Die grundlegende Funktionsweise habe ich nicht geändert, ABER durch die Verbannung der Verzögerungen und die damit verbundenen Ereignisse konnte ich das Gesamtskript auf ein Zehntel „zusammenkürzen“. In Zahlen bedeutet dies, dass ursprüngliche Skript (nach Teilung) hatte 23833 Zeilen, nach der Bearbeitung und Nutzung von noch mehr benutzerdefinierten Ereignissen sind dann „nur noch“ 2048 Zeilen übriggeblieben. Daher kann ich als Fazit nur empfehlen, wenn man so wie ich mit einem Hauptereignis arbeitet, so viele wie mögliche benutzerdefinierte Ereignisse einzubinden und Abläufe die sich ähneln aus dem Ereignis zu verbannen, vor allem, wenn sie Verzögerungen beinhalten. Gruß Frank
  14. Hallo @Neo, danke für deine Antwort, ich hoffe es hilft dir um das tolle Programm weiter zu entwickeln. Ich selbst habe mir bereits erfolgreich geholfen indem ich das eine Ereignis in zwei aufgeteilt habe. So funktioniert es auch wieder fehlerfrei, gibt halt zwei Ereignisse mit dem selben Auslöser, diese stehen aber nicht direkt in Konkurrenz, daher habe ich da auch keine Funktionsbedenken. In dem Ereignis selbst sind bereits einige benutzerdefinierte Ereignisse mit eingebaut. Ich könnte zwar in der Tat noch mehr in separaten benutzerdefinierten Ereignissen zusammenfassen, was ich vielleicht zu einem späteren Zeitpunkt noch machen werde, aber wie gesagt, momentan funktioniert alles wieder. Danke Frank
  15. Hallo @Goetz du kannst gern für die Anlage eine Alternative Steuerung erstellen. Aber ich möchte dir gleich sagen dass diese dann nicht für mich ist (auch wenn ich sie mir anschauen werde), denn meine Steuerung mag vielleicht nicht die beste Lösung zu sein (wenn es sowas überhaupt gibt) aber wie schon erwähnt, sie funktioniert! Daher habe ich auch nicht vor etwas grundlegendes daran zu ändern, ganz im Gegenteil, ich arbeite bereits weiter daran und werde die Steuerung noch erweitern. Gruß Frank
  16. Hallo @Goetz Ein sehr interessanter Ansatz, jedoch bin ich bei weiten noch nicht so sicher im Umgang mit Lua, die ersten Versuche habe ich zwar bereits unternommen, aber bin noch weit entfernt um sicher damit zu arbeiten. Daher arbeite ich aktuell lieber noch mit der grafischen EV, zumal ich da schneller Fehler finden kann und beheben kann. Ja in der EV sind extrem viele Bedingungen eingebaut, vor allem verschachtelte. Da eine Vielzahl von Ereignissen aufeinander aufbauen fand ich diese Lösung gar nicht so verkehrt, auch wenn mir bewusst ist das der Steuerungsablauf damit ordentlich beschäftigt wird. Bis auf das der Eintrag offensichtlich zu umfangreich geworden ist funktioniert die Steuerung fehlerfrei! Aktuell habe ich das Ereignis auf zwei Ereignisse aufgeteilt, was in diesem Fall kein Problem darstellt, da ich die Prüfungen so getrennt habe, dass die beiden Ereignisse nicht gegeneinander arbeiten. Gruß Frank
  17. Hallo BahnLand, Vielen Dank für die ausführliche Erklärung. Das jede Verzweigung und Verzögerung zusätzliche Einträge (Zeilen) erstellt um es abarbeiten zu können war mir indirekt bereits bewusst. Das knapp 30000 Zeilen dadurch zusammengekommen sind erklärt dein Beispiel ja auch wunderbar. Jetzt ist nur noch die Frage warum Lua dies grundlegend nicht mehr abarbeiten möchte. Denn stabil gearbeitet hat das System, bis ein Eintrag zu viel hinzugefügt wurde. Gruß Frank
  18. Hallo BauerHeini und Tesla, Ja und nein. Grundlegend hast du recht und jedes Ereignis ist ein benutzerdefiniertes, in diesem Fall ist aber etwas anderes damit gemeint. Dieses spezielle ist dafür da, wenn du eine wiederkehrende Folge von Ereignissen hast wo sich nur bestimmte Parameter ändern, aber die Ereignisfolge nicht, dann ist es von vorteil wenn man die Ereignisfolge in einem "benutzerdefinieren Ereignis" erstellt und dort nur die sich ändernden Parameter hinterlegt. In einem weiteren Ereignis kannst du dann dein benutzerdefiniertes Ereignis abrufen und nur die Parameter angeben, was bei umfangreichen Steuerungen sehr hilfreich sein kann. Gruß Frank
  19. Kleiner Nachtrag: es ist tatsächlich so, sobald ich aus dem einen Ereignis zwei mache funktioniert wieder alles und wird ordnungsgemäß abgearbeitet. Gruß Frank
  20. Hallo Timba, ja es dauert eine gefühlte Ewigkeit bis es gewandelt ist und das Studio reagiert in dieser Zeit auch nicht mehr. Einmal geschafft bekommt man dann diese Meldung. @Neo Ich befürchte mit meinen Ereignissen bin ich in der Tat an die Grenzen von Lua gekommen. Denn das letzte End schließt an einer Stelle ab, wo eigentlich noch etwas kommen müsste. Gruß Frank
  21. Ich habe die Anlage als Entwurf in den Katalog geladen Content ID: 82F8F6B7-0C05-4A47-B16F-3B1FE472D350 Die Anlage befindet sich noch im Bau, die grundlegende Zugsteuerung ist aber bereits fertig. Das „schuldige“ Ereignis findet ihr im Ordner „Zugsteuerung“ > „Ausfahrt aus Schattenbahnhof zu Klappbrücke“ > „Variable "Überprüfung" wird gesetzt“. Gruß Frank
  22. Hallo @Neo und an Alle, Ich glaube ich habe das MBS kaputt gemacht denn ich habe auf einmal diese Meldung bekommen: „Die Ereignisverarbeitung ist aufgrund von Skriptfehlern deaktiviert: control structure too long near 'end'“. Eigentlich handelt es sich um eine recht kleine Anlage (für meine Verhältnisse) Ich habe die Hauptsteuerung in ein Ereignis gepackt, wo es einige Bedingungen und entsprechende Aktionen gibt. Eigentlich dachte ich das Ereignis wäre gar nicht so lang (groß), ich habe es mit der grafischen EV erstellt. Wenn ich es in Lua wandle (was schon mal eine Weile dauert bist es gewandelt ist) sagt es mir tatsächlich das dieses Ereignis aus 29227 Zeilen besteht. Bis dieser Fehler alles gestoppt hat lief die Steuerung sehr stabil und fehlerfrei. Ist es richtig, dass es ein Maximum an Ereignisfolgen in einem Ereignis gibt? Und gibt es Vorschläge was ich nun machen kann, außer das eine Ereignis auf mehrere wieder aufzuteilen? Gruß Frank
  23. Hallo streit_ross, die Frage mit dem nachlesen kann ich dir leider nicht genau beantworten. Irgendwo hier im Forum war es auf jeden Fall schon mal ein Thema und zum anderen habe ich selbst diese Erfahrungen gemacht beim Gleise bearbeite. Gruß Frank
  24. Hallo Berlioz und streit_ross, die Antwort ist recht simpel, die maximale Gleislänge wurde überschritten. Halbiere den Winkel und füge ein zweites Gleis an und du kommst zu dem gewünschten Ergebnis. Gruß Frank
  25. Hallo BahnLand, vom Lesen her hast du dir da schon wieder sehr viel Arbeit gemacht und die Funktionsweise sehr gut beschrieben. Kann ich aber nicht im Onlinekatalog finden, hast du das Modul schon veröffentlicht? Gruß Frank
×
×
  • Neu erstellen...