Wie frage ich die Bewegung eines Anhängers/Anbaugerät ab??

  • Moin,


    sowas allgemein zu schreiben ist quasi und möglich :D


    Ob ein Hänger, soweit er über das Original-Script läuft, kannst du mit dieser abfrage lösen:
    [lua]self.tipState = Trailer.TIPSTATE_OPENING[/lua]
    Hiermit wird aber nur geprüft ob er sich öffnet, zum schließen dann:
    [lua]self.tipState = Trailer.TIPSTATE_CLOSING[/lua]



    Bei vielen Anbaugeräten wird über [lua]self.isTurnedOn[/lua] festgelegt ob die Maschine läuft oder nicht, es gibt aber auch etliche wo es anders gelöst wird ;)

  • Wenn ich jetzt anstatt InputBinding diese Funktion abfragen möchte, wie muß es dann aussehen?


    [lua]function setVehicleRpm:update(dt)
    if self.isMotorStarted and self:getIsActiveForInput() and self.isEntered then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = not self.engine;
    else
    self.engine = self.engine;
    end;
    end;
    end;[/lua]

  • [lua]function setVehicleRpm:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = true;
    else
    self.engine = false;
    end; -- true und false ergeben hier mehr Sinn ;)
    end;

    if self:getIsActive() then
    for _, implement in pairs(self.attachedImplements)
    if implement.object.tipState = Trailer.TIPSTATE_CLOSING or implement.object.tipState = Trailer.TIPSTATE_OPENING or implement.object.isTurnedOn then
    self.engine = true;
    else
    self.engine = false;
    end;
    end;
    end;
    end;[/lua]


    So in der Art. Den andern Code hab ich auch mal ein wenig überarbeitet ;)

  • Oh, da fehlt ein do :D Sorry:


    [lua]function setVehicleRpm:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = true;
    else
    self.engine = false;
    end; -- true und false ergeben hier mehr Sinn ;)
    end;

    if self:getIsActive() then
    for _, implement in pairs(self.attachedImplements) do
    if implement.object.tipState = Trailer.TIPSTATE_CLOSING or implement.object.tipState = Trailer.TIPSTATE_OPENING or implement.object.isTurnedOn then
    self.engine = true;
    else
    self.engine = false;
    end;
    end;
    end;
    end;[/lua]

  • :P:rolleyes:
    [lua]function setVehicleRpm:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = true;
    else
    self.engine = false;
    end; -- true und false ergeben hier mehr Sinn ;)
    end;

    if self:getIsActive() then
    for _, implement in pairs(self.attachedImplements) do
    if implement.object.tipState == Trailer.TIPSTATE_CLOSING or implement.object.tipState == Trailer.TIPSTATE_OPENING or implement.object.isTurnedOn then
    self.engine = true;
    else
    self.engine = false;
    end;
    end;
    end;
    end;[/lua]

  • ICH WERD VERRÜCKT, DAS GEHT JA!!!


    :woot: :woot: :woot:


    Vielen, vielen Dank!!!


    :thumbsup::thumbsup::thumbsup:


    Ich hab schon fast nicht mehr dran geglaubt das man das machen kann!!
    Ich versuch grad ne Speci zu erstellen die bei arbeiten der Anbaugeräte die Drehzahl von dem Trekker erhöht. Darf ich Deinen Namen mit reinschreiben, da ich das ja ohne Dich nicht hinbekommen hätte??


    Und dann hätt ich noch fast drei Fragen:


    -Kann man das jetzt noch ausschließen wenn der Trekker fährt?
    -Kannst Du da auch noch das zusammenklappen eines Anbaugeräts mithineinnehmen?
    -Ich hab festgestellt das wenn ich zwei Geräte (vorn und Hinten) dran hab er die Aktion nur für eins ausführt und das andere gar nicht beachtet

  • Du kannst mich nennen, musst du aber nicht.


    Ich bin nicht sicher ob das mit dem Klappen so funktioniert, kannst es ja mal probieren. Auch mehrere Geräte sollten jetzt korrekt erfasst werden:


    [lua]function setVehicleRpm:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = true;
    else
    self.engine = false;
    end;
    end;

    if self:getIsActive() then
    self.engine = false;
    for _, implement in pairs(self.attachedImplements) do
    --foldable
    if self.foldAnimTime ~= nil then
    if implement.object.foldAnimTime < 0.999 or implement.object.foldAnimTime > 0.001 then
    self.engine = true;
    end;
    end;

    if implement.object.tipState == Trailer.TIPSTATE_CLOSING or implement.object.tipState == Trailer.TIPSTATE_OPENING or implement.object.isTurnedOn then
    self.engine = true;
    end;
    end;
    end;
    end;[/lua]

  • Würd ich schon gern tun... ;) Unter Deinem hiesigen Benutzername?


    Mehrere Geräte funktionieren jetzt tadellos!! :)


    Nur die Funktion für das Zusammenklappen funktioniert so nicht...
    Hab dann das ganze mal ohne Reihe 15 probiert, passiert aber au nix...
    Ohne Reihe 14 ist die Drehzahl dann dauerhaft erhöht solange das Anbaugerät angehängt ist...

  • Ja, wenn dann unter John Deere 6930


    Probiers hiermit nochmal, hoffe das lag an den Flüchtigkeitsfehlern ;)


    [lua]function setVehicleRpm:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.isPressed(InputBinding.setVehicleRpmpress) then
    self.engine = true;
    else
    self.engine = false;
    end;
    end;

    if self:getIsActive() then
    self.engine = false;
    for _, implement in pairs(self.attachedImplements) do
    if implement.object.foldAnimTime ~= nil then
    if implement.object.foldAnimTime > 0.1 and implement.object.foldAnimTime < 0.9 then
    self.engine = true;
    end;
    end;

    if implement.object.tipState == Trailer.TIPSTATE_CLOSING or implement.object.tipState == Trailer.TIPSTATE_OPENING or implement.object.isTurnedOn then
    self.engine = true;
    end;
    end;
    end;
    end;[/lua]

  • Is ja Wahnsinn!!! :sekt: :sekt: Danke!!!


    Hab die Zahlen noch bissle verändert, da es etwas gedauert hat bis die Drehzahl erhöht wurde. Sie wurde auch früher beendet, aber jetzt passts...


    [lua] if implement.object.foldAnimTime > 0 and implement.object.foldAnimTime < 1 then[/lua]

Jetzt mitmachen!

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