Befehl | cpGetRacingMode() |
---|---|
Funktion | Liefert den aktuellen Rennmodus. 'R'=Rennen, 'T'=Training, 'Q'=Qualifikation |
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 Rennmodus in die String-Variable RennModus.
Somit kann man gezielt je nach Rennmodus weitere Aktivitäten programmieren wie z.B. Tanken sperren während Qualifikation oder kein Chaos beim Training etc.
Screenshot 1 - Statusabfolge Ampelstart
Screenshot 2 - Status Rennen pausiert (Chaos)
Screenshot 3 - Status nach Aufruf eines Rennbildschirms