Inhaltsverzeichnis

Event TopSpeed-Stopp


Einleitung

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.


Syntax

Parameter Beschreibung
Cockpit.Slot Auslösender Slot
Cockpit.Station Nummer der Topspeed-Messtrecke in der Rennbahn im Gerätemanager


Codebeispiel

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.


Hinweise

Wichtig ist eigentlich nur, die richtige Messstellennummer in Cockpit.Station einzustellen. Es ist nicht notwendig, in der Rennbahn den Sensor mit Ereignis erzeugen: Fahrzeug zu belegen.



Start - FAQ - Glossar - Sitemap - Impressum