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.