Befehl | cpGetRacingStatus() |
---|---|
Funktion | Liefert den Status der aktuellen Session. 'R'=Run(läuft), 'S'=Stopped(Beendet,Abbruch), 'P'=Paused(Chaos). |
Typ | String |
{ Pascal Script Engine } { Event: ChangeRealTimeStatus } { Parameter: Cockpit.Parameter = <RennStatus> } const CrLf = Chr(13) + Chr(10); var racingMode : String; racingStatus : String; m : String; s : String; p : String; realTimeStatus : Integer; begin // Variablen Werte zuweisen racingMode := cpGetRacingMode(); racingStatus := cpGetRacingStatus(); realTimeStatus := Cockpit.Parameter; // String für cpGetRacingMode() zusammensetzen case racingMode of 'Q' : m := 'Qualifikation ('+racingMode+')'; 'R' : m := 'Rennen ('+racingMode+')'; 'T' : m := 'Training ('+racingMode+')'; end; // String für cpGetRacingStatus() zusammensetzen case racingStatus of 'P' : s := 'Pause ('+racingStatus+')'; 'R' : s := 'Läuft ('+racingStatus+')'; 'S' : s := 'Gestoppt ('+racingStatus+')'; end; // String für Cockpit.Parameter zusammensetzen case realTimeStatus of 0 : p := 'Vor Session Start. ('+IntToStr(realTimeStatus)+'). ' + 'Nächster Parameter: (1).'; 1 : p := 'Session läuft ('+IntToStr(realTimeStatus)+'). ' + 'Nach Pause nur (1).'; 2 : p := 'Start mit Ampel. Sequenz ('+IntToStr(realTimeStatus)+') ' + ' -> (0) -> (1).'; 3 : p := 'Sieger ist im Ziel ('+IntToStr(realTimeStatus)+').'; 4 : p := 'Session beendet ('+IntToStr(realTimeStatus)+').'; 5 : p := 'Nicht verwendet.'; 6 : p := 'Chaos ('+IntToStr(realTimeStatus)+').'; 7 : p := 'Chaos mit Nachlaufzeit ('+IntToStr(realTimeStatus)+').'; 8 : p := 'Nicht verwendet.'; 9 : p := 'Session abgebrochen ('+IntToStr(realTimeStatus)+').'; end; // Strings in Datei protokollieren Cockpit.WriteLog := '----- Code-Beispiel RacingMode, RacingStatus ' + 'und ChangeRealTimeStatus -----'; Cockpit.WriteLog := 'Rennmodus (cpGetRacingMode) : ' + m; Cockpit.WriteLog := 'Rennstatus (cpGetRacingStatus): ' + s; Cockpit.WriteLog := 'ChangeRealTimeStatus (Cockpit.Parameter): ' + p; Cockpit.WriteLog := '------------------------------------------------' + '-----------------------------'; // Strings als Meldung anzeigen cpShowMessage('RennModus: ' + m + CrLf + 'RennStatus: ' + s + CrLf + 'Cockpit.Parameter: ' + p ); end.
Dieser Code schreibt den aktuellen Rennstatus in die String-Variable RennStatus.
Somit kann man gezielt vor allem im ChangeRealTime Event je nach Status weitere Aktivitäten programmieren wie z.B wenn Chaos ausgelöst wurde dann ermittle Chaosauslöser, wenn Session zu Ende dann resete alle Variablen, wenn Quali zu Ende dann blende Strataufstellung ein etc.
Screenshot 1 - Statusabfolge Ampelstart
Screenshot 2 - Status Rennen pausiert (Chaos)
Screenshot 3 - Status nach Aufruf eines Rennbildschirms