Inhaltsverzeichnis

cpGetRacingMode()

Syntax

Befehl cpGetRacingMode()
Funktion Liefert den aktuellen Rennmodus. 'R'=Rennen, 'T'=Training, 'Q'=Qualifikation
Typ String

Codebeispiel

  1. { Pascal Script Engine }
  2. { Event: ChangeRealTimeStatus }
  3. { Parameter: Cockpit.Parameter = <RennStatus> }
  4.  
  5. const
  6. CrLf = Chr(13) + Chr(10);
  7. var
  8. racingMode : String;
  9. racingStatus : String;
  10. m : String;
  11. s : String;
  12. p : String;
  13. realTimeStatus : Integer;
  14.  
  15. begin
  16.  
  17. // Variablen Werte zuweisen
  18. racingMode := cpGetRacingMode();
  19. racingStatus := cpGetRacingStatus();
  20. realTimeStatus := Cockpit.Parameter;
  21. // String für cpGetRacingMode() zusammensetzen
  22. case racingMode of
  23. 'Q' : m := 'Qualifikation ('+racingMode+')';
  24. 'R' : m := 'Rennen ('+racingMode+')';
  25. 'T' : m := 'Training ('+racingMode+')';
  26. end;
  27. // String für cpGetRacingStatus() zusammensetzen
  28. case racingStatus of
  29. 'P' : s := 'Pause ('+racingStatus+')';
  30. 'R' : s := 'Läuft ('+racingStatus+')';
  31. 'S' : s := 'Gestoppt ('+racingStatus+')';
  32. end;
  33. // String für Cockpit.Parameter zusammensetzen
  34. case realTimeStatus of
  35. 0 : p := 'Vor Session Start. ('+IntToStr(realTimeStatus)+'). ' +
  36. 'Nächster Parameter: (1).';
  37. 1 : p := 'Session läuft ('+IntToStr(realTimeStatus)+'). ' +
  38. 'Nach Pause nur (1).';
  39. 2 : p := 'Start mit Ampel. Sequenz ('+IntToStr(realTimeStatus)+') ' +
  40. ' -> (0) -> (1).';
  41. 3 : p := 'Sieger ist im Ziel ('+IntToStr(realTimeStatus)+').';
  42. 4 : p := 'Session beendet ('+IntToStr(realTimeStatus)+').';
  43. 5 : p := 'Nicht verwendet.';
  44. 6 : p := 'Chaos ('+IntToStr(realTimeStatus)+').';
  45. 7 : p := 'Chaos mit Nachlaufzeit ('+IntToStr(realTimeStatus)+').';
  46. 8 : p := 'Nicht verwendet.';
  47. 9 : p := 'Session abgebrochen ('+IntToStr(realTimeStatus)+').';
  48. end;
  49. // Strings in Datei protokollieren
  50. Cockpit.WriteLog := '----- Code-Beispiel RacingMode, RacingStatus ' +
  51. 'und ChangeRealTimeStatus -----';
  52. Cockpit.WriteLog := 'Rennmodus (cpGetRacingMode) : ' + m;
  53. Cockpit.WriteLog := 'Rennstatus (cpGetRacingStatus): ' + s;
  54. Cockpit.WriteLog := 'ChangeRealTimeStatus (Cockpit.Parameter): ' + p;
  55. Cockpit.WriteLog := '------------------------------------------------' +
  56. '-----------------------------';
  57. // Strings als Meldung anzeigen
  58. cpShowMessage('RennModus: ' + m + CrLf +
  59. 'RennStatus: ' + s + CrLf +
  60. 'Cockpit.Parameter: ' + p );
  61.  
  62. 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)