Löst ein Fahrzeug einen Sensor aus, der in der Rennbahn im Geräte-Manager als Topspeed Stopp konfiguriert ist, meldet Cockpit diesen Vorgang an dieses Ereignis. Da bis zu 4 Topspeed-Messtrecken möglich sind, muss mit Cockpit.Station die richtige ausgewählt sein.
| Parameter | Beschreibung |
|---|---|
| Cockpit.Slot | Auslösender Slot |
| Cockpit.Station | Nummer der Topspeed-Messtrecke in der Rennbahn im Gerätemanager |
Dieses Beispiel vergleicht die aktuell gemessene Höchstgeschwindigkeit mit der aus der vorherigen Runde.
Ist der Fahrer schneller, gleich schnell oder langsamer, erfährt er das über die Sprachausgabe.
In diesem Beispiel erfolgt die Codeverrbeitung auf der 1. Messtrecke für Topspeed.
{ Pascal Script Engine }
{ Event: ToppSpeed-Stopp }
{ Parameter: Cockpit.Slot=<SlotPlatz>,
Cockpit.Station=<TopSpeed-Station> }
var
slot : Integer;
slotID : Integer;
begin
slot := Cockpit.Slot;
Cockpit.Slot := slot;
slotID := Cockpit.SlotID;
// Einer der Sensoren der 1. Messtrecke
if Cockpit.Station = 1 then
begin
cpSetFloatVar('SpeedAktuell'+IntToStr(slotID), Cockpit.Topspeed);
if cpGetFloatVar('SpeedVorher'+IntToStr(slotID)) < cpGetFloatVar('SpeedAktuell'+IntToStr(slotID)) then
begin
// Aktuelle Runde schneller als vorherige
cpSpeech('Klasse, ' + Cockpit.FahrerName + '. Neue Topspeed!');
end else
if cpGetFloatVar('SpeedVorher'+IntToStr(slotID)) > cpGetFloatVar('SpeedAktuell'+IntToStr(slotID)) then
begin
// Aktuelle Runde schneller als vorherige
cpSpeech(Cockpit.FahrerName + 'Das ging in der letzten Runde deutlich schneller.');
end else
// Aktuelle Runde gleich schnell wie die vorherige
cpSpeech('Keine Verbesserung der Höchstgeschwindigkeit, ' + Cockpit.FahrerName +'.');
// Aktuelle Topspeed wird jetzt zu der, der vorherigen Runde
cpSetFloatVar('SpeedVorher'+IntToStr(slotID), cpGetFloatVar('SpeedAktuell'+IntToStr(slotID)));
end;
end.