Schleife oder if funktion

  • Hallo alle,


    ich habe ein problem. und zwar möchte ich, dass das script alle 1000l füllmenge eine aktion ausführt.


    quasi so.


    füllstand = 16000
    also soll meine aktion 16 mal ausgeführt werden.
    die aktion ist i = i + 1


    geht das irgendwie mit do until, oder do while?


    oder muss ich für alle 1000l ein if mit elseif machen


    ich weiß nicht ganz wie ich es ausdrücken soll ^^ , aber ich hoffe mal ihr wisst was ich meine.


    Mit freundlichen Grüßen


    schlüter55v

  • ich habe es jetzt mal versucht, funktioniert aber nicht so wie ich will.


    er zählt hoch, allerdings unendlich weit.


    [lua]function fuelusageT:update(dt)
    local f,c = self:getAttachedTrailersFillLevelAndCapacity();
    if f and c ~= nil then
    while f >= 1000 do
    f = f -1000;
    self.value = self.value + 0.001;
    end;

    end;[/lua]


    das self.value wächst stetig an.

  • Hmm


    Hast du vor quasi ab FillLevel 0 nach oben zu zählen?



    Mein Denkansatz.. :


    local f,c = self:getAttachedTrailersFillLevelAndCapacity();
    local count = math.floor(c / 1000);
    local currentCount = 1


    if currentCount <= count then
    if f > 1000 * currentCount and f < 1000 * currentCount +1 then
    ... aktion
    currentCount = currentCount +1
    end;
    end;


    Allerdings die Frage was das Script dann tut wenn der filllevel wieder rückwärts geht... Schwierig, aber vill. bringt dich der Denkansatz ja auf ne Idee... ^^




    LG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!