Jump to content

Phrontistes

Mitglieder
  • Gesamte Inhalte

    922
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Phrontistes

  1. Was hast Du denn gemacht, außer bei allen Autos das gleiche Schlagwort einzutragen? Du musst natürlich noch eine Schleife basteln und allen Autos mit dem Schlagwort (hier: "Auto") eine Geschwindigkeit zuweisen (hier zwischen 40 und 60 damit die nicht alle mit gleichem Abstand fahren). Auslösendes Ereignis ist ein Schalter oder was auch immer.
  2. Hallo Jürgen @jloos, zwischen den drei Vorschlägen gibt es funktional keinen Unterschied. Was für Dich besser lesbar ist, musst Du entscheiden. Mein Einzeiler entspricht jedenfalls exakt Deiner Anfrage, in der Du die Logik einschließlich der erforderlichen Klammern richtig formuliert hattest. Ich habe mit meinem Einzeiler nur Deine Anfrage übersetzt. Beste Grüße Phrontistes
  3. Das von Hand zu machen, dauert länger als anklicken / reinwerfen ... anklicken / reinwerfen.
  4. Hallo @EASY, Leider nein. Beste Grüße Phrontistes
  5. Hallo, ok, wenn man wie @Hawkeye die Portale erst auf den letzten Drücker verbindet, nämlich wenn die Fahrstraße aktiviert wird (und nicht schon vor deren Aktivierung wie ich das gemacht hatte), dann entfällt auch die obige Monsteranweisung und es reicht route.variables["Destination portal"].connection = route.variables["Start portal"] im Ereignis "Fahrstraße wird aktiviert". Danke für den Hinweis, so ist es übersichtlicher. Hab's entsprechend abgeändert und A9B1D92D-9633-41C8-BDA5-7ECFFE70A11E (Entwurf) und nochmals hochgeladen. Sagen wir so: Das Layout von @Hawkeye, der auch mit Variablen arbeitet (was auch sonst), sowie die drei Ereignisse in meinem Layout funktionieren zuverlässig, wenn man die Variablen wie aus der Beschreibung und der Musteranlage ersichtlich setzt. Setzt man die Variablen nicht oder nicht richtig passiert (in meinem layout) halt nichts - auch kein Fehler, weil ich (hoffentlich überall) daran gedacht habe, die von mir vorausgesetzten Variablen auf Existenz zu prüfen bevor ich sie benutze. Nicht jeder wird die drei Ereignisse in meinem layout bis ins Detail verstehen, wer mag kann sie aber auch einfach in seine eigene Anlage übernehmen, denn sie haben keine Objektbezüge. Und wer schlicht nur Weichenstraßen durch Portale ersetzen will (ohne Schalter), muss ja nur die beiden Portale in der Fahrstraße als Variablen vom Typ Objekt hinterlegen und wie oben gezeigt verbinden, sobald (irgend)eine Fahrstraße aktiviert wird. Graphisch sieht das dann sehr einfach aus (wobei die zweite Bedingung nur prüft, ob die beiden in der Anweisung benutzen Fahrstraßenvariablen existieren): und in lua so: if route.active then if (route.variables["Destination portal"] ~= nil) and (route.variables["Start portal"] ~= nil) then route.variables["Destination portal"].connection = route.variables["Start portal"] end end Das ist jetzt wirklich sehr einfach und allemal weniger Aufwand, als Weichenstraßen für den Schattenbahnhof zu bauen. Ich werde bestimmt nie wieder Weichenstraßen bauen, die man nicht sehen kann. Deshalb nochmals vielen Dank an @EASY für die Anregung, diese geniale neue Funktion in V. 8.5 auch mal zu nutzen . Bei der Gelegenheit für @Neo: Das keyword "Route" in den Fahrstraßen brauche ich in meiner Schalterlösung (und nur dort) nur deshalb, weil man nicht über alle Fahrstraßen iterieren kann, wohl auch nicht mit lua, weil weder "getRoutesByKeyword" noch "getRoutesByName" weiterhelfen, wenn man alle Fahrstraßen durchgehen will. Ein "getRoutes" (im Sinne von "getAllRoutes") scheint es nicht zu geben . Beste Grüße Phrontistes
  6. oder als Einzeiler (xx = jeweiliges Objekt) if ((#layout:getVehiclesOn($("xx")) > 0) or (#layout:getVehiclesOn($("xx")) > 0) or (#layout:getVehiclesOn($("xx")) > 0)) and (($("xx").active)) or ($("xx").active) or ($("xx").active)) then end
  7. Hallo @EASY, nachdem ich vorgestern eine Musteranlage final veröffentlicht habe, mit der ich zeige, wie man Fahrstraßen durch zwei Schalter einstellen kann (ECA056F3-B61F-4E96-B977-4367D0D16B50), habe ich Deine Idee fruchtbar gemacht für eine fast gleiche Musteranlage, die aber weniger Platz braucht, weil zwei Weichenstraßen wegfallen. Es ist nur die (Monster-)Anweisung controller.variables["Route"].variables["Destination portal"].connection = controller.variables["Route"].variables["Start portal"] dazugekommen, mit der ich die richtigen Portale verbinde, bevor ich die Fahrstraße einstelle. Ich brauche bei jeder Fahrstraße halt zwei weitere Variablen, in der die zugehörigen Depots hinterlegt sind. Für die beliebige Anpassung auf anderen Anlagen müssen nur Variablen gesetzt werden, die (komplexe) EV muss man nicht anfassen. Eine Tücke ist hinzugekommen: Die Fahrstraße kann man nur einrichten (und ggf. rekonstruieren), wenn die "richtigen" Portale verbunden sind. Ansonsten ist das MBS aber sehr tolerant und zeigt z.B. die eingebauten Pfeile auch dann richtig an, wenn die Portale nicht verbunden sind. Auch kann man die Fahrstraße aktivieren/deaktivieren, wenn die Portale nicht verbunden sind. Nur bleibt halt der Zug (trotz aktivierter Fahrstraße) vor dem Portal stehen, wenn das Portal keine Verbindung zu einem anderen Portal hat. ID: A9B1D92D-9633-41C8-BDA5-7ECFFE70A11E (Entwurf) Beste Grüße Phrontistes
  8. Danach hast du zwei angetriebene Fahrzeuge im Verband, was keine gute Idee ist und zu Verwirrung führen kann.
  9. Die Fahrstraßen in @pbrants Lösung liegen im Dauerclinch. Sind sie nicht aktiviert, sind sie (alle!) mindestens angemeldet. Wer von den angemeldeten jeweils "gewinnt" ist Zufall. kommst Du nicht hin, wenn Du auf die Reihenfolge Einfluss nehmen willst, in der die Fahrstraßen aktiviert werden sollen. Beste Grüße Phrontistes
  10. Hallo, ich zähle zur Abrundung mal noch weitere Nachteile der Depots auf: Es gibt keine Möglichkeit, an die Objektvariablen der Fahrzeuge heranzukommen während der Zug im Depot ist. Der erste Kontakt nach Ausfahrt des Depots muss etwas mehr als die längste volle Zuglänge vom Depot entfernt sein, sonst wird er übersprungen. Eine Gruppe von mehreren Fahrzeugen wird beim Betreten des Depots (stillschweigend) aufgelöst und bei Verlassen nicht wiederhergestellt. Vor allem 2. und 3. führen zu mancher Überraschung, wenn man es nicht weiß. Aber jetzt schweife ich selbst ab, es ging EASY ja um Ich bin schon am Nachdenken, was sich damit vielleicht noch so anstellen lässt. Beste Grüße Phrontistes
  11. Hallo @AndreasWB, Du schweifst ab, nicht die übrigen Diskutanten. Der Schattenbahnhof von @EASY arbeitet mit Portalen, welche anderes als die Depots auch im praktischen Betrieb brauchbar sind. Ich bin hier nicht der Einzige, der alle Depots wieder ausgebaut hat, weil er einen flüssigen Betrieb sehen will und kein Gehakel. Beste Grüße Phrontistes
  12. Hallo Walter @prinz, "nicht mehr benutzerdefiniert" als Name des Ereignisses ist aber irreführend. Das Ereignis ist nach wie vor benutzerdefiniert . Beste Grüße Phrontistes
  13. Hallo, ... weshalb es sich empfiehlt, für Experimente mit lua mit einer Kopie dessen zu arbeiten, was man graphisch schon erfolgreich bewerkstelligt hat (wenn man denn schon etwas hat). Und ich nutze die Konvertierung auch, um zu kontrollieren, ob es einen Sinn ergibt, was ich graphisch gemacht habe (s.o.). Beste Grüße Phrontistes
  14. Hallo @EASY, auf jeden Fall ist Dein Schattenbahnhof mit wechselnder Portalverbindung statt Weichen schon mal eine super Idee! 5 Minuten ist doch eine gute Leistung. Kann gut sein, dass ich länger gebraucht habe. Aber Du hast das Vorgehen gut beschrieben: Man muss, wenn man lua-Code übersetzen will, mit dem, was in lua hinten steht, in der graphische EV anfangen. Nein, wenn man primär in der graphischen EV denkt, bekommt man das ganz flott und gezielt hin, schneller jedenfalls, als wenn man Deinen lua-Code übersetzen muss - aber sicher nicht schnell, wie gleich in lua zu schreiben, wenn man sich dessen verquere Syntax mal angeeignet hat (was bei mir noch nicht so recht der Fall ist). Das mache ich auch so. Es gibt im Beispiel übrigens noch eine Tücke: Da steht nur [Verbindung], Du musst aber die richtige (Portal)[Verbindung] und nicht die unzutreffende (TC)[Verbindung] mit einem Haken versehen. Auf diese naheliegende und nach Eingabe nicht mehr sichtbare Fehlbedienung habe ich @Neo hier auch schon hingewiesen. So, jetzt schaue ich mal, ob ich "Weiter Benutzerdefiniert" nicht doch noch übersetzen kann. Das wird aber ganz wild, weil es in der graphischen EV keine lokalen Variablen gibt, die ich mir auch schon mal gewünscht habe. Einen praktischen Nutzen für Leute, die nur rudimentär programmieren können, hat das natürlich nicht. Beste Grüße Phrontistes
  15. Hallo @EASY, Im Prinzip kann ich das, weiß aber nicht, wie die lokale Tabelle und v.a. ein table.insert graphisch machen könnte (wenn es überhaupt geht), weshalb ich "Weiter Benutzerdefiniert" nicht übersetzen konnte. Sparschattenbahnhof01graphisch.mbp
  16. Hallo @AndreasWB, Aus dem Foto von @martin852 ergibt sich (aus den Nummern): Märklin C-Gleis . Aber für dessen Geometrie bin ich leider nicht der Experte . Beste Grüße Phrontistes
  17. Hallo @ronny_the boos_ schindler, wo ist das Problem? Das funktioniert doch, wobei Du es den Helfern schon etwas schwer machst, wenn man die Lok mit der abgebildeten Variablen erst mal auf der Anlage suchen, den Zug umdrehen und auch noch eine Weiche umstellen muss um zu "Blocksignal Verteiler" zu kommen. Beste Grüße Phrontistes
  18. Hallo @Koriander, Das stimmt. Schau' mal 534B9C91-A910-44F1-940C-308761A4364F an. Mit den Felsen kann man so einiges machen und es sieht gut aus. Allerdings wirst Du Deine Fahrbahn da nicht so ohne Weiteres reinbekommen. Aber davon unabhängig, finde ich Deine steilen Landschaften sehr reizvoll, so wie sie sind. Beste Grüße Phrontistes
  19. Als Bedingung schon, als Ereignis natürlich nicht. Aber irgendein Ereignis (z.B. Schalter oder Signal wird betätigt), an das Du anknüpfen könntest, musst Du ja haben, um die Lok im Schuppen zu starten - es sei denn Du startest sie mit einem Regler. "Lok startet" gibt es leider nicht als Ereignis. Da hülfe nur ein weiterer Kontakt kurz vor der Lok, wenn sie steht. Ja, so ist es. Dampf an/aus ist eine Eigenschaft des Fahrzeuges, welche vom Programm nicht einfach umgestellt wird, das macht immer der User. Ist der Antrieb deaktiviert, kannst Du Dampf an/aus zwar nicht mehr umstellen, aber der Status ändert sich nicht. Was passiert, kannst Du nachvollziehen, indem Du mal bei den Eigenschaften und der Steuerung etwas rumspielst: Beste Grüße Phrontistes
  20. ist eher nicht so praktisch, nimm' lieber Kontakte, das hast Du einen Punkt, an dem etwas passieren soll. Und Du kannst entscheiden, ob beim Betreten oder Verlassen etwas passieren soll. "Dampf ein" nach einem Tunnel knüpfe ich z.B. am Verlassen eines Kontaktes an, den ich passend im Bereich des Ausgangs zurechtschiebe. Hm, das ist jetzt nicht so einfach, weil immer der Verband einen Kontakt betritt/verlässt. Der richtige Zeitpunkt für die 2. Lok erfordert deshalb wohl einen Kontakt, der (für Dampf aus) im Tunnel steckt und von ersten Fahrzeug ausgelöst wird. Es reagiert dann natürlich nur die zweite Lok, wofür es eine spezielle Variable braucht (die ich aber in die erste Lok packen würde, das ist einfacher). Etwas Besseres fällt mir auf die Schnelle nicht ein - außer vielleicht eine Verzögerung, aber die mag ich nicht so, weil man ja nie weiß, ob der Betrieb "normal" (wie man sich das vorgestellt hatte) läuft. Das mit der zweiten Lok (allerdings ganz hinten) findest Du in der oben verlinkten Anlage. Da gibt es eine Variable "Vehicle rear" in der angetriebenen Lok, in welcher die hintere Lok als Objekt steht. Der Rest ist dann Dampf ein/aus im jeweils richtigen Moment, wobei ich meine Routinen immer allgemeingültig schreibe (hier: wahlweise Dampf ein/aus nur vorne, nur hinten oder beide). Dadurch sehen meine Routinen eher komplex aus, sie sind aber insoweit einfacher in der Handhabung, als sie keine Objektbezüge haben und somit immer funktionieren - wenn sie die vorgesehenen Variablen finden. Ansonsten passiert halt nichts, aber auch kein Fehler. Beste Grüße Phrontistes
  21. Hallo @ralf3, Und wenn die Dampflok (oder Diesellok) schiebt statt zieht, sieht es wieder anders aus. Und wenn vorne eine zieht und hinten eine schiebt, muss das getrennt geschaltet werden. Und wieder anderes, wenn selbst eingebaute Partikeleffekte angesteuert werden sollen. Siehe hier falls Du solche komplexeren Anforderungen hast. Beste Grüße Phrontistes
  22. Hallo zusammen, in meiner neuen Demonstrationsanlage "Fahrstraße durch Schalter auswählen" zeige ich eine Möglichkeit, Fahrstraßen durch zwei Schalter (Start und Ziel) einzustellen. Die Beschreibung der Demonstrationsanlage und deren Steuerung sowie die Beschreibung, wie diese Lösung (einschließlich der Ereignisverwaltung) in andere Anlagen implementiert werden kann, habe ich hier hinterlegt. Eventuelle Überarbeitungen werde ich später an der verlinken Stelle (an der ich anders als im Forum auch später noch Änderungen vornehmen kann) hinterlegen. Ich wünsche viel Spaß beim Ausprobieren. Hello everyone In my new demonstration layout "Select route by switches" I show a possibility to select routes by two buttons (start and destination).. The description of the demonstration layout and its control as well as the description of how this solution (including event management) can be implemented in other layouts have been deposited here. I will post any revisions later at the linked place (where I can make changes later, unlike in the forum). I hope you enjoy trying it out. Beste Grüße / Kind regards Phrontistes Content-ID: ECA056F3-B61F-4E96-B977-4367D0D16B50
  23. = Trafo (und jedenfalls nicht eine Möglichkeiten, welche das MBS bietet), also musst Du auch mit dem Traincontroller das Licht einschalten.
  24. Hallo Matthias, Weil das überflüssig ist. Ein Zug startet ja nicht von allein. Es gibt zwei Möglichkeiten: Du machst alles von Hand, drehst also einen "Trafo" auf, um loszufahren. Dann musst Du halt mit einem Schalter vorher von Hand das Licht einschalten. Du startest den Zug mit der EV oder indem Du ein Signal öffnest. Dann gibt es ein Ereignis, welches den Zug startet und mit dem Du dann auch das Licht einschalten kannst.
×
×
  • Neu erstellen...