Jump to content

jloos

Mitglieder
  • Gesamte Inhalte

    372
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von jloos

  1. local t, t2 = layout:getVehicleGroup(vehicle) local Wagen = t[4] local Ausrichtung = t2[4] if Ausrichtung == 1 then Wagen.couplers[1].enabled = true else Wagen.couplers[0].enabled = true end Hallo, mit dem script aktiviere ich immer die Kupplung des 4. Wagens. Jetzt möchte ich aber immer die Kupplung des letzten Wagens aktivieren. Kann mir das bitte jemand umstellen, danke Gruß Jürgen
  2. @Roter Brummer Danke für die Tipps, an die Variationen hatte ich nicht gedacht. Gruß Jürgen
  3. Guten Morgen, ich möchte unter das B4 Bahnsteigdach D4A6F6B6-4499-4007-BCF9-6B03FBE642D1 Beleuchtung hängen. Ich dachte da an Leuchtstofflampen. Ich finde aber im Katalog nichts Entsprechendes. Hat jemand eine Idee? Gruß Jürgen
  4. Hallo @bigrala und @Neo, Ich fände es auch gut, wenn man den Schotter einfacher und gleichmäßiger aufbringen kann. Wenn man dann auch noch den Pinsel nach Rechts und Links schwenken könnte, so wie man Ebenen mit einer Lok glättet, wäre es perfekt. Ich unterstütze die Idee, Gruß Jürgen
  5. ok, danke @Goetz Jürgen
  6. @Goetz, vielleicht kannst du dir bitte diese eine beschriebene Stelle ansehen. Die entspricht doch genau dem, was du geschrieben hast. Danke, Jürgen
  7. Hallo @Goetz ich dachte, dieses Beispiel würde etwas vereinfacht ausreichen, was auf der Anlage passiert. Ich habe nun ein Foto gemacht, das das scenario beschreibt. Als 2. habe ich die Anlage in der Position gestoppt, bevor der Fahler auftritt. Die Fahrstraße Strcke055 ist durch den Zug im Gleis 4 blockiert. Fährt der rechte Zug auf dem Berg los, überfährt er einen Gleiskontakt, der ihm die nächste FS gebt, die FS Strecke 055. Die Fahrstraße wird aktiviert, ohne den Haken in der Aktivierung. Der Zug wartet am Signal. Allerdings bekommt die FS Strecke 055 nicht die || Blockierzeichen. Die Strecke fängt an einem Signal an und endet an einem Signal. Vielleicht findest Du ja den Fehler, danke. Gruß Jürgen 240721_Aktivierung-2.mbp
  8. @Goetz, das Alter... 240721_Aktivierung speichern.mbp
  9. Hallo @Goetz, also ohne Haken funktioniert bei mir die Freigabe einer blockierten FS wenn sie deaktiviert wird, nicht. Ich habe ein kleines Beispiel angehängt. Mit Haken in Anforderung vormerken geht es, so wie die Anlage jetzt abgespeichert ist onhe Haken, gehts nicht. Was läuft falsch? Gruß Jürgen
  10. Ja @Goetz, den Fehler kenne ich schon. Ich benutze die Fahrstraßen als Steuerung. Richtig wäre es, die Fahrstraße erst zu aktivieren, wenn sie frei ist. Aber auch dann kann es ja vorkommen, dass die Aktivierung der Fahrstraßen nicht erfolgt, weil sie durch einen anderen Zug belegt ist. Dieser Zug wartet vielleicht auf die Freigabe einer FS, die wiederum durch einen weiteren Zug belegt ist. Und der wartet auf den ersten Zug. Jetzt kommt die Alternative Fahrstraße zum Einsatz. Ich kann den Aufwand nicht abschätzen, wenn die Fahrstraßen erst aktiviert werden, wenn sie frei sind. Denn wenn sie besetzt sind, muss die FS später erneut auf mögliche Freigabe geprüfte werden. Um das alles zu vermeiden, sehe ich die Vormerkfunktion bei der Aktivierung. Gruß Jürgen
  11. Hallo @Atrus und @Hawkeye, ich verfolge ein anderes Prinzip der Fahrstraßensteuerung. Jeder Zug fragt im Bahnhof und an Stellen, wo es mehrere Fahrmöglichkeiten gibt, eine zentrale Tabelle ab, "Ich bin ZugTyp 03, bin an Abfragestelle 42, wo muss ich hin". Es wird nicht geprüft, ob die Fahrstraße frei ist, das macht das Studio. Das funktioniert auch in 95% aller FS-Zuteilungen. Doch es kommt bei den letzten 5% vor, dass zwei Züge sich gegenseitig blockieren. In diesem Fall bekommt der im Bahnhof stehende Zug nach einer Wartezeit eine neue FS zurück in den Schattenbahnhof zugeteilt. Damit ist das Gleis frei für den anderen Zug. Dass der Zug zurück in den Schattenbahnhof fährt fällt nicht auf, hätte ja auch so sein können. @Roter Brummer, ich habe nicht immer alternative Fahrstraßen, vor allem bei der Einfahrt in den Bahnhof. Wie gesagt, das sich Fahrstraßen gegenseitig blockieren kommt relativ selten vor, in diesem Fall muss ich dann eine alternative FS einstellen. Ich lade die Anlage hoch, wenn ich das richtig läuft. Gruß Jürgen
  12. Was ist denn dann das auslösende Ereignis? Dann muss ich dieses Script in alle Fahrstraßen auslösende Ereignisse einfügen. Ja, vielleicht das Script als BDE aufrufen wenn eine dieser FS aufgerufen wird. Ich probiere es mal. So stoßen Vorschläge eigene Denkanstöße an, Danke Gruß Jürgen
  13. Hallo, ich bin im Moment mit meinem Latein am Ende. Ich möchte ja überwachen, ob eine Fahrstraße zu lange blockiert ist und habe dieses Script geschrieben. Allerdings habe ich nicht bedacht, dass der Zustand "Blockiert" ja das Ereignis nicht auslöst. Der anhängende Code wird also ausgelöst und gleich wieder beendet. Das auslösende Ereignis sind 4 aktivierte Fahrstraßen. --[[ steht eine FS längere Zeit auf "Blockiert", wird eine Ersatz-FS eingetragen --]] if not deferredCall then if route.state == 1 then defer(60, "Verzögerung") end elseif deferredCall == "Verzögerung" then if route.state == 1 then local Signal = route.waypoints[1] local LokOBJ = Signal.variables["Zug"] LokOBJ.variables["nächste FS"].autoActivate = true LokOBJ.variables["nächste FS"].active = false LokOBJ.variables["alte FS"] = LokOBJ.variables["nächste FS"] LokOBJ.variables["nächste FS"] = route.variables["ErsatzFS"] LokOBJ.variables["nächste FS"].autoActivate = true LokOBJ.variables["nächste FS"].active = true end end Hat jemand eine Idee? Gruß Jürgen
  14. Oh Super, das ist ja einfacher als ich befürchtet habe. Danke @Goetz Gruß Jürgen
  15. Hallo, gibt es eine Möglichkeit, den Status einer Fahrstraße festzustellen? Wenn ein Fahrstraße aktiviert wird, aber blockiert ist möchte ich nach einer bestimmten vergangenen Zeit darauf reagieren. Gruß Jürgen
  16. Ergänzend für andere Interessierte noch eine Anmerkung: Die Ausgabe auf dem Textfeld endet bei mir mit 26 Zeilen. Aber der Tabelleninhalt kann in den Textfeld-Eigenschaften komplett kopiert werden Gruß Jürgen
  17. Danke @Goetz Gruß Jürgen
  18. Hallo @Goetz, ich kann meine Anlage nur exportieren, weil ich sehr viele eigene Weichenkonstruktionen verwende. Ich entschuldige mich schon mal, wenn bei schwachen Rechnern die FPS ziemlich runter geht. Wer Lust hat, kann mir helfen. Die Anlage läuft lange Zeit sauber, doch dann passiert es, das ein Zug nicht abfährt oder er keine neue Fahrstraße bekommt, oder er fährt in Fahrstraßen, die ihm nicht zugeordnet wurden. Ihr findet sicherlich Fehler. Ich freue mich auf Verbesserungsvorschläge und Fehleranalysen. Die Fahrstraßentabelle möchte ich in Excel sortieren, um Fehler aufzuspüren. Gruß Jürgen 240702_FS.mbp
  19. Guten Morgen, Ich verwende eine Tabelle um die Fahrstraßen den Loks positionsabhängig zuzuweisen. Die Tabelle heißt Fahrstraße und enthält z.Zt. 50 Tabelleneinträge, die die Abfragestellen, also die Position auf der Anlage enthält. Zu jeder Abfragestelle kann ein Zugtyp also die Art des Zuges zugeordnet werden. Die Kombination aus Abfragestelle und ZugTyp ergibt dann die Fahrstraße. Bei 50 Tabelleneinträgen ist die Sache allerdings sehr unübersichtlich. Ich möchte nun die Tabelle in eine Exceltabelle übernehmen. Dafür möchte ich Euch bitten, mir ein Script zu schreiben, das mir die Einträge über das Ereignisprotokoll in der Reihenfolge " Abfragestelle ; ZugTyp ; Fahrstraße " ausgibt. Ein Bild der Tabelle hänge ich an. Danke schon mal für Eure Bemühungen. Gruß Jürgen
  20. Hallo, ich habe eine einfache Lösung gefunden. Beim Einlagern der Züge je nach ZugTyp in einen festgelegten Bereich einlagern, dann funktioniert auch die Auslagerung nach ZugTyp. Es gibt sicherlich auch elegantere Lösungen, aber das war jetzt meine. Vielen Dank an Diejenigen, die sich mit dem Thema befasst haben. Gruß Jürgen
  21. Hallo, dieses Script hat mir @Goetz vor längerer Zeit für das Abrufen eines beliebigen "zufälligen" Zuges aus einem Schattenbahnhof geschrieben. Funktioniert auch sehr gut. Doch jetzt kommt noch ein weiteres Auswahlkriterium hinzu. Nun ist ein weiteres Auswahlkriterium, der ZugTyp hinzu gekommen. Der ZugTyp ist als Text-Variable ZugTyp = "06" oder ZugTyp = "09" in der Lok hinterlegt, die vor den Ausfahrsignalen stehen. Bitte passt mir das Script entsprechend an. Danke. Gruß Jürgen --[[ Auswahl eines Zuges zur Ausfahrt --]] local WarteListe = {} local SignalListe = {$("Signal SB-Ausfahrt Gleis 02"), $("Signal SB-Ausfahrt Gleis 03"), $("Signal SB-Ausfahrt Gleis 04"), $("Signal SB-Ausfahrt Gleis 05"), $("Signal SB-Ausfahrt Gleis 06"), $("Signal SB-Ausfahrt Gleis 07"), $("Signal SB-Ausfahrt Gleis 08"), $("Signal SB-Ausfahrt Gleis 09"), $("Signal SB-Ausfahrt Gleis 10"), $("Signal SB-Ausfahrt Gleis 11"), $("Signal SB-Ausfahrt Gleis 12"), $("Signal SB-Ausfahrt Gleis 13"), $("Signal SB-Ausfahrt Gleis 14"), $("Signal SB-Ausfahrt Gleis 15"), $("Signal SB-Ausfahrt Gleis 16"), $("Signal SB-Ausfahrt Gleis 17"), $("Signal SB-Ausfahrt Gleis 18"), $("Signal SB-Ausfahrt Gleis 19"), $("Signal SB-Ausfahrt Gleis 20"), $("Signal SB-Ausfahrt Gleis 21"), $("Signal SB-Ausfahrt Gleis 22"), $("Signal SB-Ausfahrt Gleis 23"), $("Signal SB-Ausfahrt Gleis 24"), $("Signal SB-Ausfahrt Gleis 25"), $("Signal SB-Ausfahrt Gleis 26"), $("Signal SB-Ausfahrt Gleis 27"), $("Signal SB-Ausfahrt Gleis 28"), $("Signal SB-Ausfahrt Gleis 29"), $("Signal SB-Ausfahrt Gleis 30"), $("Signal SB-Ausfahrt Gleis 31"), $("Signal SB-Ausfahrt Gleis 32"), $("Signal SB-Ausfahrt Gleis 33"), $("Signal SB-Ausfahrt Gleis 34"), $("Signal SB-Ausfahrt Gleis 35"), $("Signal SB-Ausfahrt Gleis 36")} -- math.randomseed(os.time()) for i, Signal in ipairs(SignalListe) do if #layout:getVehiclesOn(Signal) > 0 then table.insert(WarteListe, Signal) end end local Anzahl = #WarteListe if Anzahl > 0 then local Zufall = math.random(1, Anzahl) local Signal = WarteListe[Zufall] Signal.variables["FS Ausfahrt"].autoActivate = true Signal.variables["FS Ausfahrt"].active = true print(Signal) end
  22. danke @streit_ross, der Tipp war gut. Ich hatte alle Fahrzeuge untersucht und die Geräusche abgeschaltet. Nun habe ich nochmal nach "Porsche" gesucht und tatsächlich noch einen Porsche vor dem Drive-in Schalter bei McDonalds gefunden. Nun ist Ruhe im Karton. Gruß Jürgen
  23. Guten Tag, ich habe auf meiner Anlage ein Geräusch wie von einem Sportwaren. Nun habe ich alle Fahrzeuge auf der Anlage abgesucht und die Geräusche abgeschaltet. Trotzdem hört das Geräusch nicht auf. Generell abschalten möchte ich die Geräusche nicht. Wie kann ich nun die Geräuschquelle finden? Gruß Jürgen
  24. Ok. Danke @Eggu
  25. Hallo, ich versuche mich in Lua einzuarbeiten, indem ich in der grafischen EV die Abläufe erstelle und dann in Lua umwandle und den Code ergänze. In dem Beispiel ist "H/V Hauptsignal 1" nur ein Platzhalter, wird im script durch "Signal = route.waypoints[1]" ersetzt. Wenn ich die grafische EV "fs ohne verz.jpg" in ein script umwandle sieht das so aus: if not deferredCall then if route.active then $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung") end elseif deferredCall == "Verzögerung" then $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 2 defer(2, "Verzögerung (2)") elseif deferredCall == "Verzögerung (2)" then $("BDE Türen schließen"):invoke(1, 0, $("H/V Hauptsignal 1").variables["Zug"]) $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 1 defer(2, "Verzögerung (3)") elseif deferredCall == "Verzögerung (3)" then local v = $("H/V Hauptsignal 1").variables["Zug"] if v:hasEngine() then v.targetSpeedAbs = 50 end end Die Zeile $("H/V Hauptsignal 1").state = 1 in der 3. Zeile gibt es nur ein mal. Nun füge ich eine Abfrage auf die FS 03 ein, um eine zusätzliche Verzögerung einzufügen. Wandle ich das in ein Script um, bekomme ich die Zeile $("H/V Hauptsignal 1").state = 1 zweimal. if not deferredCall then if route.active then if $("FS 03").active then defer(7, "Verzögerung") end $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung (2)") end elseif deferredCall == "Verzögerung" then $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung (2)") elseif deferredCall == "Verzögerung (2)" then $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 2 defer(2, "Verzögerung (3)") elseif deferredCall == "Verzögerung (3)" then $("BDE Türen schließen"):invoke(1, 0, $("H/V Hauptsignal 1").variables["Zug"]) $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 1 defer(2, "Verzögerung (4)") elseif deferredCall == "Verzögerung (4)" then local v = $("H/V Hauptsignal 1").variables["Zug"] if v:hasEngine() then v.targetSpeedAbs = 50 end end Ich möchte verstehen, warum das so ist. Gruß Jürgen
×
×
  • Neu erstellen...