Lua Fehler bei Courseplay in Verbindung mit AllradV4

  • Hallo,
    ich habe seit neuestem einen lua Fehler, bei Verwendung von Courseplay und Fahrzeugen die Allrad V4 verbaut haben.

    Hier erst einmal der Fehler:

    Code
    Error: LUA running function 'mouseEvent'
    D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/ZZZ_Courseplay/settings.lua(111) : attempt to index field 'AllradOrigPosY' (a nil value)

    Problem gelöst, siehe meinen Beitrag weiter unten: [LS13] Lua Fehler bei Courseplay in Verbindung mit AllradV4

    Die Log ist ansonsten bis auf Warnings wegen fehlender <l10n> Einträge sauber.

    So nun die Erklärung wie es bei nahezu jedem Fahrzeug mit Allrad zu dem Fehler kommt.

    - ich springe zu einem Traktor, der die AllradV4 verbaut hat
    - Allrad ist eingeschaltet, das Symbol wird angezeigt

    - ich rufe mit der rechten Maustaste den Courseplay HUD auf, in dem Moment wird das Allrad Symbol ausgeblendet (ist wohl eine Funktion von Courseplay)

    - ich schließe das Courseplay Fenster durch klick auf das X rechts oben im HUD, in diesem Moment wird der Fehler in die Log geschrieben. Eigentlich sollte nun wieder das Allradsymbol erscheinen.


    So, jetzt der Gegentest. Der Fendt 724 von TIF/Modhoster. Der hat keine separate Allrad.lua sondern die Einträge in einer Vario700serieV2.lua.
    - Aufruf des Fendt 724

    - Aufruf Courseplay. Das Allrad Symbol wird NICHT ausgeblendet. Vermutlich weil es bei dem Fendt nicht AllradV4 sondern AllradV41 heißt.

    - Schließen von Courseplay, es wird kein Fehler in die Log geschrieben.


    Das Ganze ist mir erst seit gestern richtig bewusst aufgefallen.
    Einzige Änderungen seit gestern: Die Updates für das Ursus (Version 2.0.0.0) und das TitaniumAddon (Version 1.0.0.4) habe ich installiert.

    Es ist übrigens egal welche Version von Courseplay ich nutze. Ob mehrere Monate alt, oder die neueste erst ein paar Stunden alte Version.

    Kann diesen Fehler jemand nachvollziehen? Oder hat gar eine Lösung?

    Im Anhang die Log und die settings.lua. Diese musste ich allerdings umbenennen, sonst hätte die Forensoftware den Upload nicht erlaubt.

    Gruß Patrick

  • Sehr eigenartig :hmm: ...

    Wenn beide Scripte (Allrad, CP) die Variable 'AllradOrigPosY' enthalten würden könnte ich mir einen Reim darauf bilden, das Allrad-Script hat aber so wie ich das gesehen habe keine Variable 'AllradOrigPosY' .... ich habe scheinbar eine total veraltete CP-Version (3.41), da gibt es in der settings.lua keine 'AllradOrigPosY'-Variable .... nil-value .... irgendwie wurde der Wert gelöscht ......


    .... mehr kommt mir da gerade nicht in den Sinn, ausser mal mit der V3.41 zu probieren ....

  • Ham,
    in Version 3.41.0011 ist der Wert schon in ähnlicher Form in der settings.lua:


    Und warum taucht der Fehler wie aus dem nichts auf? Oder kann es sein, dass der mir bisher einfach nicht aufgefallen ist weil ich relativ wenige Fahrzeuge mit Allrad nutze?

  • Fehler gefunden und behoben.

    Ich hatte gerade Kontakt mit Jakob Tischler, einem der Courseplay Autoren.
    Er hat den Fehler gefunden, in der settings.lua von Courseplay.


    Finde Zeilen 111 und 112 in der settings.lua:

    Code
    self.hudAllradONOverlay:setPosition(self.hudAllradONOverlay.x, self.cp.AllradOrigPosY[2]);
    self.hudAllradOFFOverlay:setPosition(self.hudAllradOFFOverlay.x, self.cp.AllradOrigPosY[3]);

    Ersetze mit:

    Code
    self.hudAllradONOverlay:setPosition(self.hudAllradONOverlay.x, self.cp.hud.AllradOrigPosY[2]);
    self.hudAllradOFFOverlay:setPosition(self.hudAllradOFFOverlay.x, self.cp.hud.AllradOrigPosY[3]);

    Danach ist der Fehler weg. Dieser Fehler ist in allen bisherigen Versionen ab 3.41.0011. Ich vermute Jakob wird nachher gleich noch die Version
    auf GitHub aktualisieren.

    Wer eine ältere Version nutzen möchte und diesen Fehler auch hat muss nur wie oben angegeben die settings.lua bearbeiten.


    Nachtrag:
    Seit heute Abend ist nun die Version 3.41.0224 online, in der dieser Fehler behoben wurde.
    Courseplay/courseplay · GitHub

    Patrick