===== 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 [[cockpit-xp:addon:befehlsreferenz:cpsetstrafkatalog|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 [[cockpit-xp:addon:befehlsreferenz:cpgetstrafkatalog|cpGetStrafkatalog]] fragt den aktuellen Punktestand ab. Möchte man mit [[cockpit-xp:addon:befehlsreferenz:cpsetstrafkatalog|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 [[cockpit-xp:addon:befehlsreferenz:cpaddstrafkatalog|cpAddStrafkatalog]] möglich, da dieser Befehl Punkte zum aktuellen Stand addiert. \\ {{ :cockpit-xp:addon:befehlsreferenz:cpwiki-cpget-set-add-strafkatalog.png?nolink |}} \\ === 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. {{ :cockpit-xp:addon:befehlsreferenz:cpwiki-cpaddstrafkatalog-strafpunktelimit.png?nolink |}} 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. {{ :cockpit-xp:addon:befehlsreferenz:cpwiki-cpaddstrafkatalog-settings.png?nolink |}} \\ ---- [[cockpit-xp:start|Start]] - [[cockpit-xp:faq|FAQ]] - [[cockpit-xp:glossar|Glossar]] - [[cockpit-xp:sitemap|Sitemap]] - [[cockpit-xp:impressum|Impressum]]