Jump to content

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo zusammen,

wenn in der Ereignisverwaltung bei den Aktionen eine Zeitverzögerung pro Einzelaktion einstellbar wäre, würde ich mir viel Arbeit sparen. Damit wäre dann in vielen Fällen ein extra Countdown überflüssig und man könnte deutlich mehr zusammenhängende Aktionen in einem Ereignis unterbringen. (z.B.: Schranke geht auf, danach schaltet Signal, danach startet erstes Auto, danach zweites Auto, etc.)  Ich habe per Bildmontage mal ein solches Aktionsfeld als Beispiel gebastelt.

Viele Grüße von Koriander

Beispiel.jpg

Bearbeitet von Koriander
Geschrieben

Hallo Koriander und Wüstenfuchs,

dieser Gedanke ist mir vor längerer Zeit auch mal gekommen. Es würde auf jeden Fall beim Schreiben der EV helfen, weil die Countdowns wegfallen würden.

Viele Grüße

Frank

Geschrieben

Nicht nur Countdowns. Schließlich wird jeder Countdown wieder in einem eigenen Ereignis weiterbearbeitet.
Das kann also eine durchaus große Menge an Reduzierungen in der EV zur Folge haben.

Wobei natürlich gilt: je komplexer und größer die EV, desto größer die Einsparungen.

  • 1 Jahr später...
Geschrieben (bearbeitet)

Hallo Neo,

für die neue EV möchte ich gerne an meinen Wunsch nach einer einstellbaren Zeitverzögerung erinnern (siehe oben). Auch in V4 wäre ein solches Feature eine große Erleichterung bei umfangreichen EVs und würde viele umständliche Countdowns überflüssig machen.

Viele Grüße von Koriander

Bearbeitet von Koriander
Geschrieben

Hallo Gemeinde,

ich weiß nicht genau, ob dieser Wunsch vielleicht schon vorgetragen wurde betreffend der Ereignisverwaltung. Hier zuerst eine kleines Beispiel wie es nun ist.

1. Ereignis
   - Aktion Zug kommt am Bahnsteig an und wird angehalten
   - Aktion Countdown startet x Sekunden
2. Ereignis
   - Aktion Nach Ablauf des Countdowns fährt Zug wieder an.

Für eine einfache Aufgabe werden zwei Ereignisse benötigt.

Nun stelle ich mit folgendes vor
1. Ereignis
   - Aktion Zug kommt am Bahnsteig an und wird angehalten
   - Aktion warte x Sekunden
   - Aktion lasse Zug wieder anfahren.

Da die einzelnen Punkte der innerhalb des Ereignisses ja sequentiell abgearbeitet werden könnte ich mir vorstellen, daß dies umsetzbar ist.

Der Vorteil wäre, daß einfache Countdowns, die einfach nur für eine Pause benötigt werden, nicht mehr als Einzelaktion in der Ereignisverwaltung auftauchen müssen, was auch der Lesbarkeit dient. Die Aktion könnte dann Pause oder Warte/Wait benannt werden und als Parameter die Zeit x in Sekunden mitbekommen.

Für mich selbst könnte ich nämlich das Folgende benötigen

Zug betritt Gleis
Aktion Zug verlangsamen
Warte 3 Sekunden
Halte Zug an
Warte 5 Sekunden
Lasse Zug anfahren
Warte 4 Sekunden
Lasse Zug mit voller Geschwindigkeit fahren

Dies wären insgesamt 4 Ereignisse, die ich zu einem zusammenfassen könnte. Und noch ein Vorteil, ich könnte bei jedem Punkt welcher den Zug betrifft auf die Objektvariable $_trigger1.xxx zugreifen ohne Hilfsvariablen zu bemühen.

Ob das Ganze  umsetzbar ist, das weiß ich nicht, würde aber in manchen Situationen das Leben vereinfachen.

 

Danke fürs Lesen und schöne Grüße
Peter

Geschrieben (bearbeitet)
Am 26.6.2016 um 22:42 schrieb Koriander:

Hallo zusammen,

wenn in der Ereignisverwaltung bei den Aktionen eine Zeitverzögerung pro Einzelaktion einstellbar wäre, würde ich mir viel Arbeit sparen. Damit wäre dann in vielen Fällen ein extra Countdown überflüssig und man könnte deutlich mehr zusammenhängende Aktionen in einem Ereignis unterbringen. (z.B.: Schranke geht auf, danach schaltet Signal, danach startet erstes Auto, danach zweites Auto, etc.)  Ich habe per Bildmontage mal ein solches Aktionsfeld als Beispiel gebastelt.

Viele Grüße von Koriander

Beispiel.jpg

Hallo Koriander,

ich verstehe Deinen Wunsch so:

Du möchtest in einem Ereignis eine Liste von Aktionen definieren, die nach und nach hintereinander abgearbeitet werden. Die nächste Aktion in der Liste darf erst dann ausgeführt werden, wenn die vorherige Aktion beendet wurde. Erst dann soll das nächste Ereignis gestartet werden.

Leider wird die Ereignisverwaltung nicht so aus geführt, wie Du es Dir vorstellst.

Die EV führt alle Ereignisse mit allen in der Liste enthaltenen Aktionen hintereinander aus. Es wird also die komplette Liste der Aktionen des Ereignisses abgearbeitet und dann das nächste Ereignis ausgeführt. Deine als Aktion gelisteten Maßnahmen sind also eigentlich neue Ereignisse.

Es kann nicht sein, daß die EV 8 sek wartet, um zum nächsten Ereignis zu gehen. Das gibt Chaos - auch mit rocrail.

Viele Grüße,

Henry

Achso: ich für meinen Teil verzichte auf Countdowns als Schaltauslöser, wenn es sich nicht um eine Zeiteinstellung handelt. Oft gibt es andere und eindeutigere Lösungen.

Bearbeitet von Henry
Text
Geschrieben

Hallo,

ich habe das Thema "Verzögerte Aktionen" für die neue EV auf dem Schirm, allerdings werden verzögerte Aktionen auch weiterhin wie von Henry bereits erwähnt über zusätzliche Ereignisse definiert, da die EV nicht einfach warten kann (sie muss ja die anderen Ereignisse abarbeiten). Neu wird aber sein, dass man ein "benutzerdefiniertes Ereignis" definieren kann, das man explizit über eine Aktion auslöst. Dabei wird eine Auslöseverzögerung einstellbar sein. Ebenso wird man diesem benutzerdefinierten Ereignis benutzerdefinierte Variablen mitgeben können.

Am Ende spart man sich also den Umweg über globale Countdowns und Variablen, und hält so die EV übersichtlicher.

Viele Grüße,

Neo

Geschrieben

:) klingt nach

  • multi-prozess-parallel-laufenden Ereignissen
  • für mehrfach benutzerdefiniert-geschachtelte Aktionslisten
  • bei in Echtzeit ausgeführter Verzögerung und
  • Beachtung von Variablen und Bedingungen ---

Kompliment (y) - da freut sich ehrlich

;) Henry

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...