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.
Änderungen sind mit diesem Befehl mit 3 Nachkommastellen möglich.
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.
ACHTUNG:
„Tankinhalt laufend aktualisieren“ muss deaktiviert sein, ansonsten greift der AddOn-Befehl nicht.
Befehl | cpSetTankStand2(slot : Integer, TankStand: Extended); |
---|---|
Funktion | Setzt den Tankinhalt pro Slot / Regler-ID auf den angegebenen Wert |
Typ | |
ab | 3.1.5 build 426 |
var iSlot : Integer; iID : Integer; eTankStandNeu : Extended; 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 eTankStandNeu := eTankStandAlt - 10.123 // P2-P6 bekommen 10% zusätzlich else eTankStandNeu := eTankStandAlt + 10.456; // Mehr als 100% macht keinen Sinn if eTankStandNeu > 100 then eTankStandNeu = 100; // Weniger als 0 geht auch nicht if eTankStandNeu < 0 then eTankStandNeu = 0; // Jetzt den neu ermittelten Tankstand zuweisen cpSetTankStand2(iID, eTankStandNeu); 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,123 % aus dem Tank „abgelasen“. Die Plätze 2 und folgende erhalten jeweils 10,456 % hinzu.