Cockpit.SchnellsteRunde ist ein Unterelement von Cockpit.Slot, das allerdings erst zur Verfügung steht, wenn die ersten Runden in einer Session gefahren sind und somit Rundenzeiten zur Verfügung stehen.
Die Funktion liefert die bisher schnellste Rundenzeit als Integerwert in Millisekunden bezogen auf den Slot.
Ab Version 3.2.1 build 449 ist es möglich, die schnellste Zeit eines Fahrers zu löschen. Das kann hilfreich sein, wenn diese Bestzeit z.B. durch Abkürzen durch die Boxengasse erzielt wurde. Das wäre möglich, wenn die Rundenzählung (Start/Ziel) auf der Strecke und in der Boxengasse nicht auf gleicher Höhe liegen.
Befehl | Cockpit.SchnellsteRunde |
---|---|
Funktion | bisher schnellste Rundenzeit eines Fahrers in Millisekunden in der laufenden Session. |
Typ | Integer |
{ Pascal Script Engine } { Event: StartZiel } { Parameter: Cockpit.Slot=<SlotPlatz> } var slot : Integer; msg : String; begin // Variable initialisieren msg := cpGetStringVar('msg'); // Auslösenden Slot in Variable speichern slot := Cockpit.Slot; Cockpit.Slot := slot; // Zeile mit Slot nur 1x in Meldung schreiben if Cockpit.Runde = 0 then begin // Meldung zusammenstellen msg := msg + 'Slot: ' + IntToStr(slot) + ' - '; msg := msg + Cockpit.FahrerName; msg := msg + Chr(13) + Chr(10); end; // Schnellste Zeit für Runden 1, 3, 5, 7, 9 anzeigen case Cockpit.Runde of 1,3,5,7,9 : begin // Meldung zusammenstellen msg := msg + 'Schnellste Rundenzeit: ' + cpIntToStr3(Cockpit.SchnellsteRunde) + 's - '; msg := msg + 'in Runde: ' + IntToStr(Cockpit.SchnellsteRundeRd); msg := msg + Chr(13) + Chr(10); end; end; // END case - Runde // Inhalt von msg für nächsten Durchlauf speichern cpSetStringVar('msg', msg); // Meldung anzeigen cpShowMessage(msg); // NEU ab 3.2.1 build 449 // Schnellste Runde des Fahrers auf ID 1 löschen Cockpit.Slot := 1; Cockpit.SchnellsteRunde := -1; end.
Dieser Code zeigt die folgende Meldung. Gut zu sehen ist, dass in den Runden 5 und 9 keine Zeitverbesserung erreicht worden ist. Deshalb blieb die schnellste Rundenzeit unverändert.