Jump to content

Neue Beta-Version V7


Neo

Empfohlene Beiträge

vor 6 Minuten schrieb BahnLand:

Wäre es möglich, die Wiederholung für Listen mit einem zusätzlichen "Häkchen" (roter Pfeil) auch in umgekehrter Reihenfolge bearbeiten zu lassen?

Du kannst die ganze Liste per Lua auf den Kopf stellen. Oder wild durcheinander würfeln.
Wäre das eine Alternative? Dann zeige ich dir, wie ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz, @Henry und alle anderen,

vor 31 Minuten schrieb Goetz:

Ich würde sogar allgemein dafür plädieren, dass Steuerwagen (wie in natura) keinen Antrieb haben sollten. Weil mehrere Antriebe in ein und demselben Zug User vor mehr Schwierigkeiten stellen, als sie lösen.

bei mehreren vorhandenen Fahrzeugen "mit Antrieb" im Zugverband lässt sich dieses Problem auch heute schon lösen, indem man den Antrieb nur bei einem Fahrzeug einschaltet und bei allen anderen "angetriebenen" Fahrzeugen ausgeschaltet lässt.

vor 49 Minuten schrieb Henry:

vielleicht interessiert in diesem Zusammenhang ja auch, wie ein Wendezug automatisch pendeln oder Spitzkehren befahren kann (Sägefahrt).
Vorausgesetzt, daß der Wendezug am Anfang und Ende ein angetriebenes Fahrzeug hat.

Spricht man das angetriebene Fahrzeug bei den Ereignissen Zug betritt/verlässt Gleis/Gleiskontakt immer über den Auslöser "Fahrzeug" an, spielt es keine Rolle, an welcher Stelle sich das angetriebene Fahrzeug im Zugverband befindet. Es wird immer richtig adressiert, auch wenn es sich selbst nicht auf dem betroffenen Gleis der Gleiskontakt befindet.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

hier ist der Lua Code, mit dem ich eine Liste namens "Felder" auf den Kopf stelle

local list = $("Ereignisse").variables["Felder"]
print(#list)
for index = 2, #list do
  table.insert(list, 1, table.remove(list, index))
end

$("Ereignisse").variables["Felder"] = list

 

und hier ein Skript, mit dem ich dieselbe Liste kunterbunt durcheinander würfle

local list = $("Ereignisse").variables["Felder"]

for counter = #list, 2, -1 do
  local index = math.random(counter)
  table.insert(list, table.remove(list, index))
end

$("Ereignisse").variables["Felder"] = list

 

Beide Skripte nutzen denselben Trick.
Zuerst erstelle ich eine lokale Kopie der Liste. 
Diese kann ich - im Gegensatz zu Objekt- und Modulvariablen - nach Belieben umsortieren.

Zum Schluss überschreibe ich die komplette Objekt- oder Modulvariable mit meiner neu erstellten Liste.

Mischanlage.jpg.8691bec16ad874d9db031ef28671e20f.jpg

Beispiel Anlage: Mischen possible.mbp

Viele Grüße
Götz

Bearbeitet von Goetz
Beispielanlage hinzugefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 28.9.2021 um 13:03 schrieb Neo:

Neue EV-Eigenschaft "Zustand" von Fahrstraßen, um auf detaillierte Informationen zuzugreifen (0 - Inaktiv, 1 - Blockiert, 2 - Wird aktiviert, 3 - Aktiv)

Hallo Neo,

hierzu nochmal eine Frage zum Verständnis der Fahrstraßen- Logik.

In der EV gibt es die Bedingung:  „Fahrstraße ist aktiv“ 

image.jpeg.56cc44e064f514b664a777923138a9f8.jpeg

Worauf bezieht sich diese Bedingung in Bezug auf den Zustand der Fahrstraße?

Heißt „Fahrstraße ist aktiv“ = 3 oder > 0 (kann also auch 1, oder 2 sein).

die sonst/ else Bedingung dürfte immer Zustand „0“ sein.

Ebenso bei der Negation:

Fahrstraße ist nicht aktiv“ = 0  oder ungleich „3“ also auch „1“ oder „2“

image.jpeg.2b78955f74ba217d50a17220556a9865.jpeg
 

Viele Grüße

Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Stunden schrieb Neo:

Do you have a working example? When a route gets released, no "activation" event gets triggered.

Hello @Neo, in the definition of a route there is the action "Route gets relesased" for, as example, a signal. Wouldn't this be the action that would be performed when the route, waiting to be activated, becomes free ?

Best regards and thank you for you awesome work.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 30.9.2021 um 17:07 schrieb Henry:

Vorausgesetzt, daß der Wendezug am Anfang und Ende ein angetriebenes Fahrzeug hat. ...
Andernfalls funktioniert diese einfache Schaltung nicht

Das stimmt, Henry.

Die Aktion "Geschwindigkeit setzen für beliebiges Fahrzeug auf Kontakt X" findet nur die Fahrzeuge, die selbst auf dem Kontakt stehen. 
Man müsste sie um die Wiederholung "für alle Fahrzeuge in einem Zug" erweitern, um das angetriebene Fahrzeug zu finden, welches selber nicht auf dem Kontakt steht.

Aber mit V7 hast du etwas besseres zur Hand.
Du kannst im Kontakt selber die automatische Beschleunigung aktivieren. Und die setzt den Zug auf diesem Kontakt in Bewegung, egal wo sein Antrieb steckt.
Jetzt gilt es nur, in den Endbahnhöfen die Fahrtrichtung umzukehren.
Und da muss ich aktuell noch tricksen, indem ich die Geschwindigkeit bei der Ankunft auf -0,01 (relativ) setze.

Nach 10 Sekunden Wartezeit hole ich mir dann aus dem Kontakt die neue Fahrstraße und aktiviere sie.
Der Kontakt ist an das Signal gekoppelt und aktiviert bei "Fahrt" Stellungen seine automatische Beschleunigung.

Henrys V7 Sägefahrt Alternative.mbp

 


Viel Spaß damit :)

 

Bearbeitet von Goetz
Anlage erneut korrigiert und getauscht
Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh Mann, @Henry

ich muss mich entschuldigen. Ich war so gierig darauf, meine Idee umzusetzen, dass ich das banalste übersehen habe.

Mit einer klitzekleinen Änderung funktioniert dein Code auch bei Steuerwagen ohne Antrieb perfekt.

Anstatt den Kontakt anzugeben, nenne einfach den Zug. Dann findet das MBS den Antrieb in allen Einheiten dieses Verbands:

296007309_Zugansprechen.jpg.d242660b423c09d2b31956a0a8c03d36.jpg

 

hier siehst du es "in action":   Henrys V7 Sägefahrt zweite Alternative.mbp

 

Viele Grüße
Götz

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

danke sehr,

(y) so hatte ich es mir vorgestellt, obwohl ich gerade dabei war, Deinen vorhergehenden genialen Beitrag zu verinnerlichen --- irgend etwas bleibt ja immer hängen ---

aber B| "Einfach hat Vorrang" !  (y)

grüßt Henry

P.S.: Ich finde leider oft nicht den richtigen Begriff, um aus der Vielzahl der Möglichkeiten die richtige Formulierung für den MSB-EV-Eintrag zu bilden - will sagen - warum muß ich hier oder da etwas eintragen, wenn ich nicht weiß, was unter den gegebenen Umständen gemeint ist ? Das hakt nach wie vor, weil es tief verschachtelt, aber dafür auch universeller einsetzbar ist. Darum bin ich für jede noch so kleine Hilfe dankbar, gerade dann, wenn sie im Ergebnis einfach gehalten ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Henry,

Ich gebe Dir recht, dass auch bei mir vieles hakt, weil es sehr oft in der EV zur Bedingung wird, ein gewünschtes Ergebnis über Bedingungen, die dann sogar erfüllt oder eben nicht erfüllt sind oder in Kombination von beidem zu erzielen. Teilweise vergleichbar mit der doppelten Verneinung, die dann ja wiederum ja heißt und die dann nochmals verneint wird. An dieser Stelle dürfte schon einige Leser das Problem haben, ob jetzt ja oder nein als Ergebnis steht. Und das nur beim Lesen dieser Sätze. Das dann noch über die graphische Oberfläche der EV logisch zum gewünschten Ergebnis umzusetzen, kann schnell zu Zweifeln an den eigenen Fähigkeiten führen und die Schuld daran letztendlich dem MBS zuweisen. Deshalb begrüße ich den Grundsatz "Einfach hat Vorrang". Aber das Einfache ist wie im Leben manchmal schwer hinzukriegen. Allein das in V7 eingeführte Fahrstraßen-Feature zeigt, wie viele Komponenten in richtiger Konstellation abhängig vom beabsichtigten Ziel zu einander gebracht werden müssen, damit man ein ok. bekommt. Die EV kann da insofern nur behilflich eingreifen, in dem sie unlogische menschliche Konstrukte nach Möglichkeit verweigert. Wo sie das noch nicht kann, und sie wird es zu 100 % nie können, bleibt der normale empirische Weg, aus Fehlern zu lernen. Und mindestens genauso wichtig wird die noch so kleine Hilfe. Wer aber ganz verzweifelt, sollte zu Goethes "Faust" greifen und nur nach dem Satz suchen: "Da steh ich nun, ich armer Tor ! Und bin so klug als wie zuvor.":)

Gruß

streit_ross

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 15 Stunden schrieb BahnLand:

Beim Hinzufügen bleibt der Gleiskontakt an der ursprünglichen Position (grüner Pfeil) als Wegpunkt bestehen, was offenbar zumindest in dieser Konfiguration nicht schadet.

Gleiskontakte schaden grundsätzlich nicht innerhalb von Fahrstraßen, da die Standardeinstellung "Nichts unternehmen" verwendet wird. Ich habe mir deinen Wunsch aber für die Zukunft notiert.

vor 15 Stunden schrieb BahnLand:

Dieser Punkt wurde, wenn ich mich recht erinnere, hier im Forum schon einmal angesprochen.

Er wurde schon zweimal angesprochen und ich habe schon zweimal geantwortet :). Im Moment möchte ich Fahrstraßen nicht per EV erzeugen lassen, da das sehr schnell sehr komplex wird, wenn alle Einstellungen und Optionen zur Verfügung stehen sollen, die es auch in der grafischen Oberfläche gibt.

vor 15 Stunden schrieb BahnLand:

Je größer ein Bahnhof ist und je mehr Bahnhöfe auf eine Anlage vorhanden sind, desto mehr Fahrstraßen sind auf der Anlage vorhanden.

Ist dir die Filterfunktion der Fahrstraßen bekannt, inkl. dem Speichern verschiedener Filtereinstellungen? So kannst du gezielt nur ganz bestimmte Kategorien anzeigen lassen.

vor 15 Stunden schrieb BahnLand:

Hierbei kommt erschwerend dazu, dass die Fahrstraßen-Übersicht nach dem Bearbeiten einer Fahrstraße immer auf den Anfang zurück gescrollt wird.

Den Punkt werde ich mir mal anschauen und noch verbessern.

vor 15 Stunden schrieb BahnLand:

Wäre es eventuell möglich, den Filter um eine zusätzliche Eigenschaft zu erweitern, bei der aus der bisher möglichen Auswahl auch all jene Ereignisse ausgefiltert werden, für die es keine Ereignisdefinition gibt?

Das erscheint mir als eine sinnvolle Erweiterung.

vor 12 Stunden schrieb Hawkeye:

Worauf bezieht sich diese Bedingung in Bezug auf den Zustand der Fahrstraße?

Es bezieht sich nur auf den Zustand 3. Aktiv = 3, Inaktiv < 3.

vor 12 Stunden schrieb michellombart:

Wouldn't this be the action that would be performed when the route, waiting to be activated, becomes free ?

No, releasing a route means deactivating a route, either the trains reaches the end of the route or the user manually deactivates the route.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

ich wollte in der Ereignissteuerung als Folge einer Signal-Umschaltng auf die Bedingung "Zug steht auf einem Gleiskontakt" reagieren und dabei als Gleiskontakt den "Auslöser" (den Signalkontakt) angeben.  Der wird mir aber in diesem Zusammenhang nicht angeboten:

814396342_11SignalkontaktnichtberAuslseradressierbar.thumb.jpg.f7a66639e4c11c2e3143234cbb886f03.jpg

Viele Grüße
BahnLand

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Bahnland

vor 9 Stunden schrieb BahnLand:

Der wird mir aber in diesem Zusammenhang nicht angeboten

... weil nicht jedes Signal mit einem Kontakt ausgestattet ist.
Die EV kann zu diesem Zeitpunkt nicht unterscheiden, ob es sich beim Auslöser um ein Signal mit oder ohne Kontakt handelt.

Wenn du zu Lua wechselst, bekommst du den Auslöser aber zu fassen. Dort heißt er einfach signal (mit kleinem s am Anfang!)

Wähle als Bedingung "Skript Bedingung" und trage dort folgendes ein:

return #layout:getVehiclesOn(signal) > 0

Aufgedröselt steht dort 

  • übertrage alle Fahrzeuge, die du auf dem Kontakt findest, in eine Tabelle ( layout:getVehiclesOn() )
  • ermittle die Anzahl dieser Elemente ( das vorangestellte # )
  • prüfe, ob diese Zahl größer als Null ist ( > 0 )
  • gib das Ergebnis der Prüfung (entweder wahr oder falsch) an den zurück, der gefragt hat ( return )

Viele Grüße
Götz

Bearbeitet von Goetz
Ergänzungen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello Herman,

vor 32 Minuten schrieb Herman:

Can you give an example

are you asking for examples of signals that have no inbuilt contact?

  • all Traffic lights
  • all switch point indicators
  • push buttons
  • control desk track elements
  • signal add ons like speed indicators

and many more (if you don't mind me saying so.)

But I may have misunderstood your question. Have I?

Kind regards
Goetz

Link zu diesem Kommentar
Auf anderen Seiten teilen

1 minute ago, Goetz said:

But I may have misunderstood your question. Have I?

Hello, no that is a correct answer to the question. I was of course aware of that in traffic lights,.... and so on.
I only ment the signals used in train traffic.  Thank you Götz. Kind regards, Herman.
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

Fleißaufgabe beendet :D. Alle Formsignale und alle Lichtsignale habe ich jetzt so modifiziert, dass angebaute Zusatzanzeiger sich beim Verschieben oder beim Positionieren in den Signaleigenschaften korrekt mit bewegen. Die Modelle sind komplett überschrieben und könnten frei gegeben werden.

Viele Grüße
Brummi

P.S.: Bitte nicht wundern, dass die Formvorsignale nicht geändert wurden. An diesen wurden nie Zusatzsignale angebracht.

Bearbeitet von Roter Brummer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...