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



Start - FAQ - Glossar - Sitemap - Impressum

 
cockpit-xp/addon/befehlsreferenz/cpgetracingmode.txt · Zuletzt geändert: 2020/11/28 12:15 (Externe Bearbeitung)