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
