cpAddStrafkatalog

Einleitung


Dieser Befehl fügt Strafpunkte zum aktuellen Punktestand eines Fahrers hinzu. Mit dem Parameer BestrafungStrafkatalog lässt sich festlegen, ob bei Überschreiten des eingestellten Limits automatisch eine Strafe verhängt wird (True) oder nicht (False).

Neu in der kommenden Version ist die Addition mehrerer Strafen, wenn das Punktelimit mehrfach überschritten ist.

Ist das Limit bis zum Verhängen einer Strafe beispielsweise 10 Punkte und erhält der Teilnehmer 25 Strafpunkte auf einmal, wird gegen ihn die doppelte Strafe ausgesprochen. Bei einer Rundenstrafe von z.B. 2 Runden pro Strafe, zählen bei diesem Fahrer die nächsten 4 Runden nicht.

Sein neuer Kontostand beträgt nach der Bestrafung noch 5 Punkte.

Syntax

Befehl cpAddStrafkatalog(Fahrername:String, Punkte:Integer, BestrafungStrafkatalog:Boolean)
Funktion Addiert die angegebenen Strafpunkte zum aktuellen Punktestand eines Fahrers hinzu und vergibt ggfs. die eingestellte Strafe aus dem Strafkatalog.
Typ

Codebeispiel

var
  slot : Integer;
  sFahrerName : String;
  strafPunkte1 : Integer;
  strafPunkte2 : Integer;
  msg : String;
  mitStrafe : Boolean;
  
begin

  // Variablen initialisieren
  msg := '';
  
  // Fahrernamen speichern
  sFahrerName := 'slot-xtreme';
  
  // Mit Bestrafung bei Erreichen Punktelimit
  // abhängig vom Fahrernamen :-)
  if sFahrerName = 'Ralph525' then
    mitStrafe := True
  else
    mitStrafe := False;

  // Strafpunkte vergeben
  cpSetStrafkatalog(sFahrerName, 2);
  
  // Aktuellen Punktestand abfragen
  strafPunkte1 := cpGetStrafkatalog(sFahrerName);
  
  // Meldung erweitern
  msg := msg + 'Fahrer ' + sFahrerName +  ' - ';
  msg := msg + IntToStr(strafPunkte1) + ' Punkte';
  msg := msg + Chr(13) + Chr(10);
  
  // Fahrer bekommt weitere Punkte und ggfs. Strafe
  cpAddStrafkatalog(sFahrerName, 11, mitStrafe);

  // Neuen Punktestand abfragen
  strafPunkte2 := cpGetStrafkatalog(sFahrerName);
  
  // Meldung erweitern
  msg := msg + 'Fahrer ' + sFahrerName +  ' - ';
  msg := msg + IntToStr(strafPunkte2) + ' Punkte';
  msg := msg + Chr(13) + Chr(10);
  
  cpShowMessage(msg);

end.


Zeigt die folgende Meldung. Mit cpSetStrafkatalog erhält der Fahrer erst einmal 2 Strafpunkte. Der Punktestand wird fest gesetzt. Sollte der Fahrer z.B. 5 Punkte auf dem Konto haben, ist der Kontostand nachher 2 Punkte!

Der Befehl cpGetStrafkatalog fragt den aktuellen Punktestand ab. Möchte man mit cpSetStrafkatalog Punkte addieren, müsste man im ersten Schritt den Punktestand abfragen, anschließend Strafpunkte addieren und dann den errechneten neuen Wert setzen.

Einfacher ist das per cpAddStrafkatalog möglich, da dieser Befehl Punkte zum aktuellen Stand addiert.

Hinweis

Sollte der Befehl auf Anhieb NICHT wie erwartet funktionieren, bitte unbedingt im Race-Control-Center prüfen, ob die Bestrafung nach Strafkatalog auch korrekt konfiguriert ist.

Es muss zum einen ein Strafpunktelimit eingetragen sein, bei dessen Erreichen über Überschreiten eine Strafe verhängt wird.

In der Standardeinstellung ist dort zwar die Rundenstrafe ausgewählt. Allerdings mit 0 Runden Strafe. Entsprechend sieht es so aus, als würde keine Strafe bei Erreichen des eingestellten Strafpunkte-Limits aktiviert.

Sobald die 0 Runden auf 1 Runde oder mehr geändert werden, funktioniert der Befehl wie gewünscht.



Start - FAQ - Glossar - Sitemap - Impressum

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