−Inhaltsverzeichnis
cpGetRacingMode()
Syntax
Befehl | cpGetRacingMode() |
---|---|
Funktion | Liefert den aktuellen Rennmodus. 'R'=Rennen, 'T'=Training, 'Q'=Qualifikation |
Typ | String |
Codebeispiel
- { 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
