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.
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 |
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.
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.