Event ChangeRealTimeStatus


Einleitung

Dieses Ereignis wird immer dann aufgerufen, wenn sich der „Status“ ändert. Z.B. wenn der RBS sich geöffnet hat, wenn Chaos ausgelöst wird, ein Training/Qualifikation/Rennen beendet wurde etc.


Syntax

Parameter Beschreibung
Cockpit.Parameter Zahl, die den aktuellen Status beschreibt


Parameter

Die Variable Cockpit.Parameter enthält die jetzt Information, warum ChangeRealTimeStatus aufgerufen wurde.

Parameter Bedeutung
0 Training, Qualifikation oder Rennen wird gerade gestartet
1 Training, Qualifikation oder Rennen ist gestartet und läuft
2 Start Rennen mit Startampel. Frühstarterkennung aktiv.
3 Normales Ende, erster Fahrer ist über Start/Ziel gefahren
4 Normales Ende, alle Fahrer sind über Start/Ziel gefahren
5 nicht vergeben
6 Chaos/Pause wurde aktiviert
7 Chaos/Pause mit Nachlaufzeit (tatsächlich nicht belegt)
8 nicht vergeben
9 Abbruch durch Taste ESC


Codebeispiel

Bei Chaos soll die Meldung „Chaos wurde ausgelöst.“ angesagt werden. Sind alle Fahrer im Ziel, soll der Hinweis „Rennen ist zu Ende. Bitte in die Boxengasse fahren.“ ausgesprochen werden.

{ Pascal Script Engine }
{ Event: ChangeRealTimeStatus }
{ Parameter: Cockpit.Parameter = <RennStatus> }

begin

  // Session (Training, Qualifikation, Rennen) pausiert
  if Cockpit.Parameter = 6 then 
  begin
    cpSpeech ('Chaos wurde ausgelöst.');
  end;
  
  // Die Session (Training, Qualifikation, Rennen) ist beendet
  if Cockpit.Parameter = 4 then 
  begin
    cpSpeech ('Rennen ist zu Ende. Bitte in die Boxengasse fahren.');
  end;

end.

Es wurde Chaos ausgelöst (wie spielt keine Rolle). Dann enthält Cockpit.Parameter den Wert 6. Die Session (Training/Qualifikation oder Rennen) ist zu Ende und alle Fahrer sind über Start/Ziel gefahren. Cockpit.Parameter erhält den Wert 4.


Hinweise

Für was braucht man dieses Ereignis?
Hiermit kann man jetzt z.B. bei Chaos eine direkte Bestrafung ausführen, man kann bei Session-Ende einer Rennsimulation (GT-Masters, DTM, RegenSimulation etc.) gezielt die Simulation für einen erneuten Start zurücksetzen (Reset), usw…

Die Abfolge der Parameter ist nicht zufällig.

Startet man eine Session durch Klick auf den Start-Button, öffnet sich der Rennbildschirm. Diese Aktion liefert den Status „Training“ und „Abbruch“ bzw. Cockpit.Paramter = 9.

Startet man eine neue Session per Klick auf einen der Buttons Training, Qualifikation oder Schnellstart, enthält Cockpit.Parameter zuerst den Wert 0 und im Anschluss den Wert 1.

Die zeitliche Abfolge hängt von einer Einstellung im StartCenter ab. Ist dort der Haken für die Option Rennzeit erst nach erster Start/Ziel Durchfahrt starten gesetzt, kommt Cockpit.Paremter = 1 erst, wenn das erste Fahrzeug einen Sensor mit Start/Ziel-Funktion überfahren hat.

Ist diese Option deaktiviert (=Haken nicht gesetzt), folgen beide Parameter unmittelbar aufeinander.

Der Start mit Startampel arbeitet mit der Sequenz 201.

Cockpit.Parameter = 0 ist daher ideal, vor der Freigabe einer Session noch grundlegende Einstellungen in einem AddOn zu initialisieren. Versucht man z.B. direkt nach dem Start eines Rennbildschirms mit dem Befehl cpGetTargetLap() oder cpGetTargetTime() die Renndistanz zu ermitteln, erhält man keine Werte. Diese belegt Cockpit erst kurz vor dem Start der eigentlichen Session.

Löst man Chaos aus (Cockpit.Parameter = 6) und setzt die Session fort (Re-Start), kommt nur der Wert 1.

Die Dokumentation zu den AddOns beschreibt zwar Parameter-Wert 7 für ein Chaos/Pause mit Nachlaufzeit. Allerdings habe ich dieses Resultat bisher nicht erzeugen können.

Der Parameter für das reguläre Ende eines Rennens wird abhängig von der Einstellung im StartCenter gesendet, die den Modus für das Rennende vorgibt. Es existieren 3 Optionen und erst wenn nach diesem Modus das Rennen tatsächlich beendet ist, taucht dieser Cockpit.Parameter auf.

  1. Alle fahren Rennen zu Ende
  2. Wenn Sieger im Ziel ist
  3. Wenn Sieger im Ziel und andere fahren Runde zu Ende

Bei Punkt 1 kommt der Wert 4 erst, wenn alle Teilnehmer die volle Renndistanz absolviert haben. Der Statuswert 3 kann abgefragt werden, sobald der Erstplatzierte das Rennen beendet.

Bei Punkt 2 kommen die Werte 3 und 4 zeitnah hintereinander.

Beim letzten Punkt kommmen die Parameter wieder weiter voneinander entfernt, da das Rennen erst endet, wenn nach Start/Ziel-Durchfahrt alle übrigen Teilnehmer ihre Runde abgeschlossen haben. Das gilt sowohl bei Runden- als auch bei Zeitvorgabe.



Start - FAQ - Glossar - Sitemap - Impressum

 
cockpit-xp/addon/ereignisse/changerealtimestatus.txt · Zuletzt geändert: 2020/11/28 12:16 (Externe Bearbeitung)