Jump to content

Phrontistes

Mitglieder
  • Gesamte Inhalte

    1550
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Phrontistes

  1. Hallo @Sintbert, nein, es würde nach meinem Vorschlag keine unvorhergesehenen Probleme geben. Zwar würde der event "Route is activated/deactivated" in manchen Fällen mehrfach ausgelöst, nämlich falls die action "$("FS-Name").active = true" nicht sofort zum Erfolg (.state = 3 / .active = true) führt, sonst ändert sich aber nichts, wenn man im event "Route is activated/deactivated" weiterhin nur auf .active prüft. Die Prüfung auf .state (mit Lua) wäre "nur" eine neue Möglichkeit. Ich will auch keine neuen Elemente verbauen (und @Neo wird sie auch nicht konstruieren wollen, wenn es einfacher geht), sondern mich (nicht vorbildgerecht, das weiß ich ja) an Neos Fahrstraßenlogik anhängen. Ich müsste nur ein paar wenige Zeilen Code zusätzlich schreiben und schon würde das bei allen Bahnübergängen funktionieren, denn mein Code ist nicht-redundant und hat keine direkten Objektbezüge. Dein Vorschlag läuft hinaus, eine vorbildgerechte Fahrstraßensteuerung zu ermöglichen. Das ginge jetzt schon, wenn man etwas trickst und im Fahrweg eine unsichtbare Weiche einbaut, die Ablenkung ins Nirvana schickt und sie in diesem Zustand sperrt. Dann beißt sich Neos Fahrstraßenlogik so lange die Zähne aus (verharrt in .state = 2), bis man die Weiche auf gerade stellt und er sie sperren kann. Probiert habe ich es nicht, weil es mir zu aufwendig ist, es müsste aber gehen. Beste Grüße Phrontistes Nachtrag: Falls Neo diesem Vorschlag folgen sollte, könnte man für eine vorbildgerechte Fahrstraßensteuerung im Zusammenhang mit dem BÜ auch ein Signal (z.B. das BÜ-Überwachungssignal) sperren statt eine unsichtbare Weiche einzubauen.
  2. Halo @Neo, einfacher in der Umsetzung: Du löst den vorhandenen event "Route is activated/deactivated" immer aus, wenn sich route.state ändert (und nicht nur wie bisher, wenn er 0 oder 3 wird). Die vorhandene Bedingung "if route.active" lässt Du wie sie ist. Dann ändert sich für den "Normaluser" nichts. Man kann dann aber (mit Lua) route.state auch dann behandeln, wenn er 1 oder 2 ist geworden ist. Konkreter Nutzen wäre, dass ich dann bei meiner BÜ-Steuerung (für n BÜs mit jeweils o Gleisen und p Fahrstraßen, die drüberführen und bei der ich die close- und open-requests auszähle) zusätzlich noch darauf reagieren könnte, dass der Zähler zwar auf 0 steht, in Kürze aber wieder auf 1 springen wird. Konsequenz: Ich öffne den BÜ nicht ,weil öffnen und gleich wieder schließen blöd aussieht und weil es außerdem wegen der Öffnungs- und Schließzeiten knapp werden kann. Vorbildgerecht wäre eigentlich, die FS erst zu aktivieren, wenn alles BÜs, die zu decken sind, geschlossen sind. Aber es ist halt einfacher, sich an Deine geniale Fahrstraßenlogik anzuhängen. Beste Grüße Phrontistes
  3. Hallo @Neo, im Hinblick auf diese Diskussion und weil ich schon es schon seit einer Weile vermisse (z.B. um schon bei der Anforderung einer Fahrstraße zu verhindern, dass ein für einen anderen Zug bereits geschlossener Bahnübergang in Bahnhofsnähe geöffnet wird) rege ich an, das Ereignis "Fahrstraßenstatus hat sich geändert" einzuführen. Beste Grüße Phrontistes
  4. Hallo @BahnLand, nur der Vollständigkeit halber und um auf Ausgangsproblem von @Bummelzug zurückzukommen: was dazu führt, dass auch eventuelle Reservierungen dieser Fahrstraße gelöscht werden. Wäre das manuelle Deaktivieren vielleicht auch bei Deiner Anlage überflüssig, wenn die Fahrstraße am Mittekontakt endet, wie von Wolfgang @prinz vorgeschlagen? Ich überblicke nicht, ob das unbeabsichtigte Nebeneffekte hätte. Beste Grüße Phrontistes
  5. So ist Code besser lesbar: --[[-------------------------------------------------------lua skript Timer läuft ab die strecke "l" zwischen zwei lok-positionen x1,y1 x2,y2 über den Pythagoras Wurzel(x²+y²) ermitteln, das ist hinreichend genau und verfälscht nur in den kurven minimal die höhe "z" über die länge "l" ergibt die steigung in prozent --]] if i==nil then i=0 end; i=i+1 -- alive counter local z= math.abs($("Messlok-1").transformation.position.z - $("Messlok-2").transformation.position.z) local x= math.abs($("Messlok-1").transformation.position.x - $("Messlok-2").transformation.position.x) local y= math.abs($("Messlok-1").transformation.position.y - $("Messlok-2").transformation.position.y) l= math.sqrt(x*x+y*y) print(i,"x= "..x,"z= "..z,"%= "..z/(l/100),"1%= "..(l/100)) -- ende lua skript----------------------------------------------------
  6. Hallo @Bummelzug, mit einem der in ein Stumpfgleis fährt, mittig anhält und wieder zurückfährt hatte ich mir so lange einen abgebrochen, bis ich kurzerhand eine boolsche Variable eingeführt habe, aus der Folgezug ersehen kann, ob das Gleis besetzt ist oder nicht. Vielleicht kann man das mit Fahrstraßen ja hinbekommen (eher nicht bei mittigem Anhalten), aber diese Versuche habe ich abgebrochen, nachdem das mit der Variablen gut funktioniert. Beste Grüße Phrontistes
  7. Hallo @Bummelzug, das funktioniert so wie Du Dir das vorstellst, wenn Du nicht manuell oder via EV eingreifst, sondern das Programm machen lässt und Du Dir darüber im Klaren bist, dass Du nicht Fahrstraßen für einen bestimmten Zug stellst, sondern eben Fahrstraßen und dass Du das deshalb nicht zu früh machen darfst. Nicht machen. Das macht das Programm selbst. Die Frage ist, wie früh das "unterwegs" geschieht. Wenn man die Fahrstraße erst wählt, wenn der Zug auf SE angekommen ist, ist alles ok. Hier eine kleine Musteranlage. Der rote und der gelbe Triebwagen befahren Gleis 1 (oben), der weiße Gleis 2 unten. Die Abfahrt aus Gleis 1 musst Du natürlich manuell durch aktivieren der FS "1 out" veranlassen. 202406045 Bummelzug Fahrstraßen.mbp Beste Grüße Phrontistes
  8. Mir scheint, dass weitere Reservationen erhalten bleiben (also a) und zwar unabhängig davon, ob die FS automatisch oder via EV desaktiviert wird (und sowieso egal, ob mit Lua-Code oder graphisch). Das war jetzt leider auch keine wirklich aber vielleicht verrät uns @Neo ja, wie er genau vorgeht. Das würde mich nämlich auch interessieren. Beste Grüße Phrontistes
  9. Hallo @Neo, man kann natürlich auch unsichtbare Zylinder über die Signale stülpen, wie @alexander42 das hier gemacht hat. Aber die Möglichkeit Signale (und Schalter) per EV zu sperren wäre eleganter. Beste Grüße Phrontistes
  10. Gute Idee! Vielleicht kommt @Neo diesem Wunsch in der nächsten Version nach, dann braucht es diesen Umweg nicht mehr.
  11. Das ist keine Lupe, sondern eine Weltkugel, weil dort, wie der Name schon sagt, die Online-Modelle reinkommen, welche Du veröffentlichst, falls Du welche veröffentlichst. Mir wird auch bei diesem Ordner "Löschen" angeboten - ich probiere aber nicht, was passiert, wenn man es anklickt. Zu "1969" kann ich nichts sagen - außer dass Du den vermutlich selbst mal angelegt hast. Die Darstellungslogik ist übrigens identisch mit der Darstellungslogik der Anlagen.
  12. Hallo @Neo, oder zu 2 und 3 vielleicht einfacher: Der Regler für den Kamerawinkel bekommt eine zusätzliche Checkbox "fixed", die verhindert, dass man den Winkel dieser Kamera mit dem Mausrad verstellen kann. Um dieses unbeabsichtigte Verstellen geht es mir eigentlich. Ich dachte erst, wenn ich den Winkel per EV verstellen kann, dann mache ich das, sobald die Kamera ausgewählt wird, aber "fixed" wäre einfacher in der Bedienung. Was einfacher zu implementieren ist, musst Du wissen. Wäre schön, wenn das irgendwie ginge. Es passiert mir immer wieder, dass ich (kurz) nach einem Kamerawechsel noch am Rad drehen bin und mir damit meine Kameraeinstellung zerschieße. Beste Grüße Phrontistes
  13. ist keine gute Idee, weil man dann in der neuen Version die Dinge nicht mehr da findet, wo man sie gewohnt war. Und die Kupplungen müssen auch bei Fahrzeugen mit abgeschaltetem Antrieb (wo es bisher "nur" den großen Einschaltknopf gibt) und für Fahrzeugen ohne Antrieb (für bisher keine Steuerung verfügbar ist) erreichbar sein. @Neo kann dem sinnvollen Anliegen aber dadurch Rechnung tragen, dass er zwei Buttons für die Kupplungen im Steuerungsmenü von Fahrzeugen mit eingeschaltetem Antrieb zusätzlich einfügt. Oben sind dort schon drei Buttons, da passten noch zwei weitere direkt daneben oder auch abgesetzt in dieser Zeile ganz rechts hin.
  14. Dann musst Du halt drei oder vier 04506C8C-DEF2-4091-9CEF-91FAC6DCD25D übereinanderstellen und mit entsprechend entfernten Gleiskontakten füllen und immer wenn ein Zug abfährt die Einträge eines aufrücken (in die jetzt freie Stelle 1 kopieren, was in 2 steht usw.). Beste Grüße Phrontistes
  15. Nein, mache in https://community.3d-modellbahn.de/forums/forum/21-fragen-zur-steuerung/ einen neuen Thread auf und poste dort Deine Mini-Anlage. Aus dem Bild ist nicht erkennbar, was Du falsch machst.
  16. Hallo, ich habe mir mal noch überlegt, wie man automatisiert die Abfahrzeit der Zuganzeige sinnvoll füllen könnte, nämlich mit der aktuellen Simulationszeit (wer die Simulationszeit nicht laufen lässt, kann sich den Aufwand sparen) + x min. Das kann man so umsetzen (nur mit Lua möglich): local inputTime = tostring(layout.time) local hours, minutes = inputTime:match("(%d%d):(%d%d)") minutes = tonumber(minutes) + AddMinutes if minutes >= 60 then minutes = minutes - 60 hours = tonumber(hours) + 1 end local newTime = string.format("%02d:%02d", hours, minutes) LabelObject.labels[LabelText].text = newTime AddMinutes (number) muss man austüfteln; das hängt u.a. davon ab, wie schnell man die Simulationszeit laufen lässt. Mehr als 60 darf man nicht übergeben; diesen Fehler fange ich nicht ab. LabelObject (object) ist das Zuganzeigeobjekt LabelText (text) ist bei 04506C8C-DEF2-4091-9CEF-91FAC6DCD25D immer "01 Abfahrtszeit" Beste Grüße Phrontistes
  17. ... und hier (lt. Bildlegende " Aufnahme vom 17. März 2013.") nochmal eine leicht andere Bauform des Zs6.
  18. Ja. Dann bleibst Du bei der Variante "künstlerische Freiheit" oder Du fragst @Roter Brummer, ob er vielleicht noch das Zs6-Lichtsignal in der früheren Form als Variante (alle Varianten siehe auch hier) hinzufügt. Dieses gab es auf jeden Fall zusammen mit H/V-Signalen. Ob mal einer ein Zs6 in neuer Bauform an ein H/V-Signal geschraubt hat, weiß ich nicht. Bei der Bahn ist alles möglich. Künstlerische Freiheit braucht es halt manchmal beim MBS. Bei mir gibt es z.B. dieses Konstrukt obwohl es bei einem Nebenbahnhof ohne Ausfahrsignale bestimmt kein Zp9-Lichtsignal gibt - wohl aber ein Zp9,, aber der Bahnhofsverstand mit Kelle (C42A1845-3C1A-4AB6-B989-435C26730A7D) ist nicht so gut zu inszenieren. Ich habe mir damit beholfen, dass das aufgepflanzte Zp9 nur zu sehen ist, wenn es eingeschaltet ist. Beste Grüße Phrontistes
  19. Nimm' die Blechtafel, das gibt es auf jeden Fall. http://www.stellwerke.de/signal/deutsch/zs6.html
  20. Guter Hinweis. Das Zs6 (A0EA8ED3-C93F-48CC-9DF9-46B0D05B8CC5) fehlt noch auf dem Bild
  21. Hallo Alex, das Signalbuch sagt zu Hp2: "Das Signal schreibt eine Geschwindigkeitsbeschränkung auf 40 km/h vor, wenn nicht eine abweichende Geschwindigkeit durch Signal Zs 3 angezeigt wird." Und zu Hp1: "Das Signal erlaubt die Fahrt mit der im Fahrplan zugelassenen Geschwindigkeit, sofern sie nicht durch andere Signale oder besondere Anordnungen eingeschränkt ist". Danach ginge theoretisch beides, aber meines Wissen zeigt ein Signal Hp2, wenn der Fahrweg über eine ablenkende Weiche führt. So wie im Bild dürfte es korrekt sein. Ergänzung: Das ist kein Problem, denn das Signalbuch sagt auch: "Die Geschwindigkeitsbeschränkung gilt vom Hauptsignal ab für den anschließenden Weichenbereich." Beste Grüße Phrontistes
  22. Hallo @Anlagendesigner, vergesse das Listenobjekt. Es reicht, wenn Du in den Fahrweg einen Gleiskontakt rechtzeitig vorher setzt, der dafür sorgt, das die im Zug in Variablen hinterlegten Beschriftungen in die Anzeige geschrieben werden. Und wenn der Zug ausfährt, setzt Du die Anzeige auf "leer". Wenn Du mehrere Haltstellen entsprechend "bestücken" willst, dann musst Du im Gleiskontakt logischerweise auch noch das ihm zugehörige Anzeigenobjekt hinterlegen. Hier ein Beispiel, wie man das machen kann. Die Ereignisse "Zielanzeige setzen" und "Zielanzeige löschen" sind allgemeingültig. Du musst nur noch in "passenden" Kontakten das Auslöser-Schlagwort und in den Zügen die Beschriftungsvariablen eintragen. Anlagendesigner Zugzielanzeige.mbp Beste Grüße Phrontistes
  23. Hallo @Anlagendesigner, gib' mal die ID des Modells mit Beschriftungsfunktion, das Du meinst. Es gibt mehrere. Ist die Zugfolge immer gleich? Dann könnte man eine kreisförmige Liste bauen. Oder kommen die Züge mal so mal so? Dann müssen die erforderlichen Daten in den Zügen hinterlegt werden. Diese Lösung ist flexibler, es braucht keine Liste und man muss auch nichts "hochschieben". Und Du könntest mehrere Stationen mit Zuganzeige haben, welche dann mit der gleichen Routine den jeweils nächsten Zug anzeigen. Beste Grüße Phrontistes
  24. Hallo @guenter.strickmann, das musst Du so machen: Du darfst nicht nach der Liste also solcher fragen (die gibt es auch dann, wenn sie 0 Einträge hat), sondern musst schauen, ob der erste Eintrag leer ist oder nicht. Du darfst nicht nach ≠ Leer fragen, sondern musst nach NOT = Leer fragen. Beste Grüße Phrontistes
  25. Hallo @Koriander, Ja, den gibt es: 402F7E9E-9A0B-41E1-8E17-DDEB11B03923 und den Anhänger gibt es auch: D65F3123-5D2E-43DA-B069-0554D7AB6149. Hier mehr zum Vorbild. Hallo @Klartexter, Die vorhandenen wären viel zu tief gewesen für ein Eisenbahnfahrzeug. Beste Grüße Phrontistes
×
×
  • Neu erstellen...