Jump to content

Phrontistes

Mitglieder
  • Gesamte Inhalte

    1610
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Phrontistes

  1. Hallo @Sintbert, Weist Du, was Neo mit "Kontaktpunkt" meint? Ich rätsle noch immer . Beste Grüße Phrontistes
  2. Vermeide das, weil es zu Problemen führen kann. Das ist nur ein Vorschlag. Den Namen kannst Du frei ändern. vehicle steht immer dann zur Verfügung, wenn das Ereignis es liefert. Das ist logischerweise bei diesen Ereignissen der Fall: Das ist wieder ein anderes Problem, weil der gleiche Zug im Laufe des Tages Richtung und Zugnummer (die wiederum mit der Wagennummer nichts zu tun hat) ändert. Wenn Du das abbilden willst, musst Du Fahrpläne programmieren und abarbeiten, was sich aber mit beißt. Beste Grüße Phrontistes
  3. Hallo @EASY, Danke für die schnelle Antwort. Ich hatte schon befürchtet, dass es nicht geht. Aber es gibt ja den beschriebenen workaround, der kaum auffällt. Beste Grüße Phrontistes
  4. Hallo @Neo, Welche Kontaktpunkte? Ich baue meine BÜs selbst aus Straßen, Schienen, Schranken (51F92FDE-3CE1-4EDB-B666-4BF64C3F8305), Ampeln (und im weiteren Sinne BÜ-Überwachungssignalen) usw. Und ich möchte selbst bestimmen, wann - auch bei mehrgleisigen BÜs - die Ampeln umspringen und wann die Schranken in welchem Tempo geöffnet und geschlossen werden - und wann die BÜ-Überwachungssignale auf "frei" schalten, nämlich nur wenn die Schranken geschlossen sind, weshalb sie bei mir nicht Teil der MBS-FS sind. Beste Grüße Phrontistes
  5. Hallo @Anlagendesigner, der Gedanke von @BahnLand ist naheliegend, denn einen Objektnamen hat Deine Lok immer, während eine änderbare Beschriftung nur wenige Modelle haben - und das dann womöglich auch noch unter verschiedenen Bezeichnungen. Die Erbauer sind da immer ziemlich kreativ. Das geht sogar graphisch: Beste Grüße Phrontistes
  6. Hallo @Klartexter, Neo löst das dadurch, dass eine Fahrstraße nicht aktiviert werden kann, wenn sich im zu sichernden Abschnitt noch ein Zug befindet. Beste Grüße Phrontistes Nachtrag: Wenn man ausschließlich mit Fahrstraßen arbeitet und weder von Hand herumfährt noch Signale oder Weichen von Hand stellt, arbeitet Neos FS-Steuerung zuverlässig so, dass es keine Unfälle gibt.
  7. Hallo @Anlagendesigner, Ja bzw. mit Lua $("Objekt").labels["Labelname"].text = "" Nachtrag: Auslesen und Bearbeiten nur mit Lua. -- auslesen - aber wozu? txt = $("Objekt").labels["Labelname"].text -- neuen Text zuweisen txt = "Neue Beschriftung" -- und reinschreiben $("Objekt").labels["Labelname"].text = txt Beste Grüße Phrontistes
  8. Hallo @EASY, ich möchte Dich nochmals auf Deinen Tacho BE45BE0D-FE41-4309-BCAC-5DD05E17D553 ansprechen, den ich bisweilen missbrauche, um die Geschwindigkeit eines Fahrzeuges zu beobachten. Problem: Verbindet man den Tacho mit einem fahrenden Zug, gewinnt der Tacho - sowohl bei der Geschwindigkeit, wie bei der Fahrtrichtung. Das kann man zwar umgehen, indem man die Geschwindigkeit des Fahrzeuges rabiat auf 0 setzt, den Tacho verbindet und dann genauso rabiat dem Fahrzeug die ursprüngliche Geschwindigkeit wieder gibt. Beim eingebauten Controlwindow ist es anders herum, da gewinnt der Zug. Ginge "Zug gewinnt" auch für Deinen Tacho (optional oder auch immer)? Beste Grüße Phrontistes
  9. 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.
  10. 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
  11. 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
  12. 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
  13. 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----------------------------------------------------
  14. 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
  15. 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
  16. 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
  17. 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
  18. Gute Idee! Vielleicht kommt @Neo diesem Wunsch in der nächsten Version nach, dann braucht es diesen Umweg nicht mehr.
  19. 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.
  20. 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
  21. 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.
  22. 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
  23. 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.
  24. 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
×
×
  • Neu erstellen...