cpSetTankStand(slot, TankStand)

Dieser Befehl setzt den Tankinhalt für einen Slot, eine Regler-ID ausd dem AddOn heraus. So ist es möglich, den Tankinhalt bedingt durch eine Strafe zu entleeren oder als Bonus aufzufüllen.

Es sind allerdings nur Änderungen in min. 1 Prozentschritten möglich. Nachkommastellen werden nicht unterstützt.

Der Befehl setzt den Tankinhalt auf den angegebenen Wert. Möchte man den bisherigen TankStand einbeziehen, muss man diesen vorher auslesen, dann den neuen Wert berechnen und anschließend den neuen Wert setzen.


Syntax

Befehl cpSetTankStand(slot : Integer, TankStand: Integer);
Funktion Setzt den Tankinhalt pro Slot / Regler-ID auf den angegebenen Wert
Typ
ab 3.1.3 build 399


Codebeispiel

var
  iSlot : Integer;
  iID : Integer;
  iTankStandNeu : Integer;
  eTankStandAlt : Extended;
  sMeldung : String;
  
begin

  // alle Slots verarbeiten
  for iSlot := 1 to cpCountOfSlots do
  begin
  
    // Slot einstellen und ID speichern
    Cockpit.Slot := iSlot;
    iID := Cockpit.SlotID;
    
    // alten Tankinhalt speichern
    eTankStandAlt := Cockpit.TankStand;
    
    // Tank des Führenden um 10% leeren
    if Cockpit.Position = 1 then
      iTankStandNeu := Trunc(eTankStandAlt) - 10
    // P2-P6 bekommen 10% zusätzlich
    else
      iTankStandNeu := Trunc(eTankStandAlt) + 10;
      
    // Mehr als 100% macht keinen Sinn
    if iTankStandNeu > 100 then iTankStandNeu = 100;
    
    // Weniger als 0 geht auch nicht
    if iTankStandNeu < 0 then iTankStandNeu = 0;
    
    // Jetzt den neu ermittelten Tankstand zuweisen
    cpSetTankStand(iID, iTankStandNeu);
    
  end;

end.

Dieser Code durchläuft alle Slots, speichert die ID und den aktuellen Tankinhalt. Anschließend wird die aktuelle Platzierung ermittelt. Handelt es sich um den Führenden, bekommt dieser 10% aus dem Tank „abgelasen“. Die Plätze 2 und folgende erhalten jeweils 10% hinzu.



Start - FAQ - Glossar - Sitemap - Impressum

 
cockpit-xp/addon/befehlsreferenz/cpsettankstand.txt · Zuletzt geändert: 2020/11/28 12:15 (Externe Bearbeitung)