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.