Stephan-S / FS22_AutoDrive

FS22 version of the AutoDrive mod
597 stars 110 forks source link

AD 2.0.0.5 Helfer löscht sich nicht #441

Closed andremeyer123 closed 2 years ago

andremeyer123 commented 2 years ago

Version 2.0.0.5 Ad löscht sich am ende seiner Arbeit (beenden Ad ) nicht aus dem Inspektormod. Zu sehen auch im Video von Iwan Fendt 1050 Z.B. https://www.youtube.com/watch?v=yCS87F6KLk0&list=PL5cOkXj5iscrkh_7Iz6IFOt5oyP732sAZ&index=19
Minute 22 Adhelfer ist aus In Version 2.0.0.4 ist das Problem nicht ..

Achimobil commented 2 years ago

Ich habe das gleiche Problem festgestellt. Wenn man länger spielt wird die Liste dadurch ganz schon voll.

andremeyer123 commented 2 years ago

Notlösung Giantshelfer einstellen, entlassen oder cp dann ist es weg aber jedes einzelne Farzeug was im Inspektor steht .

Achimobil commented 2 years ago

Notlösung Giantshelfer einstellen, entlassen oder cp dann ist es weg aber jedes einzelne Farzeug was im Inspektor steht .

Danke, das wird mir bei längeren Sessions helfen.

Axel32019 commented 2 years ago

Die Ursache ist die Vermeidung eines lua Fehlers #322, welche nur durch Nicht-Entlassen des Helfers in spec_aiJobVehicle zu beheben war. Anscheinend hat Giants mit den zwischenzeitlichen Patches hier etwas geändert, sodas dies nicht mehr erforderlich ist. Wer möchte kann die Zeile 1093 in Specialization.lua von self.spec_aiJobVehicle.currentHelper = currentHelper ändern in -- self.spec_aiJobVehicle.currentHelper = currentHelper

timmi4026 commented 2 years ago

Die Ursache ist die Vermeidung eines lua Fehlers #322, welche nur durch Nicht-Entlassen des Helfers in spec_aiJobVehicle zu beheben war. Anscheinend hat Giants mit den zwischenzeitlichen Patches hier etwas geändert, sodas dies nicht mehr erforderlich ist. Wer möchte kann die Zeile 1093 in Specialization.lua von self.spec_aiJobVehicle.currentHelper = currentHelper ändern in -- self.spec_aiJobVehicle.currentHelper = currentHelper

Wenn ich das mache, sehe ich überhaupt keine Tätigkeiten mehr von AD im Inspector.

regs1980 commented 2 years ago

Ganz richtig, nur wenn du in dem Fahrzeug was von AD gesteuert wird drin sitzt, wird es angezeigt, sonst nicht.

Achimobil commented 2 years ago

hmm... Dann ist die Lösung mit den Auskommentieren der Zeile wohl nicht die komplette Lösung

regs1980 commented 2 years ago

Beim FS22_simpleInspector funktioniert es, also liegt es nicht an AD, ich habe die Version 1.0.1.6 von GitHub und diese ist schon 27 Tage alt. Da muss der VehicleInspector nachgebessert werden.

andremeyer123 commented 2 years ago

Da es bei version 2004 nicht ist hat ad etwas geändert was es auslöst .

regs1980 commented 2 years ago

Es kann ja dann nur daran https://github.com/Stephan-S/FS22_AutoDrive/issues/368 oder https://github.com/Stephan-S/FS22_AutoDrive/issues/322 liegen, weil danach kam ja schon er https://github.com/Stephan-S/FS22_AutoDrive/issues/389 mit dem Problem.

andremeyer123 commented 2 years ago

Dieser Fehler hier, behindert ad ja nicht an seiner Arbeit daher abwarten und Tee trinken .

Axel32019 commented 2 years ago

AD benötigt zur Funktion spec_aiJobVehicle nicht und da der Fehler #322 nicht mehr "behoben" werden muss, kommt es raus. Wenn andere mods daraufhin anders laufen ist das bei den entsprechenden Moddern zu berichten.

andremeyer123 commented 2 years ago

So habe die Lua aus der 2.0.0.4 genommen damit geht wieder alles wie gewohnt. Kann geschlossen werden danke für die Mühe.

regs1980 commented 2 years ago

Sowohl der FS22_VehicleInfo als auch der FS22_SimpleInspector funktionieren tadellos, nur halt der VehicleInspector von HappyLooser hat mit der 2.0.0.5 Probleme, mal schauen, was er da noch ändert. Seine Antwort zum Problem.

2022-03-29 20_16_02-LS 22_ VehicleInspector v 1 90 Beta Scripte Mod für Landwirtschafts Simulator 22
Achimobil commented 2 years ago

Also der VehicleInspector basiert auf der getCurrentHelper methode um zu sehen ob ein Helfer im Fahrzeug sitzt. Das basiert nun mal auf spec_aiJobVehicle.currentHelper Warum sollte man das jetzt raus nehmen aus dem AD diesen zu setzen? Besser wäre es zu fixen, dass der Helfer aus dem spec_aiJobVehicle.currentHelper auch wieder raus genommen wird, wenn AD fertig ist.

regs1980 commented 2 years ago

Nicht schlecht funktioniert und der VCA Fehler ist auch Geschichte.

GulliGriff commented 2 years ago

so, ich habe mal ein bisschen gebastelt und habe in der Specialization.lua hinter der Schleife in Zeile 1283

    if self.spec_aiJobVehicle ~= nil and self.spec_aiJobVehicle.currentHelper ~= nil and self.spec_aiJobVehicle.currentHelper == self.ad.currentHelper then
        -- we assign a helper for spec_aiJobVehicle, but do not remove it!
        -- self.spec_aiJobVehicle.currentHelper = nil
    end

folgenden Code hinter dem obigen Eintrag eingefügt (also ab Zeile 1287)

    if self.spec_aiJobVehicle ~= nil then
        self.spec_aiJobVehicle.currentHelper = nil
    end

so wird der AD-Helfer angezeigt wie er muss und wenn er raus ist verschwindet er auch. Ob das alles so richtig ist weiss ich nicht aber zumindest für mich eine Lösung. Ich habe also den oberen Eintrag gelassen (für mich zu viele and's) und habe einfach den Löschauftrag dahinter gepackt...

GulliGriff commented 2 years ago

ich bin aber auch blind :(

if self.spec_aiJobVehicle ~= nil and self.spec_aiJobVehicle.currentHelper ~= nil and self.spec_aiJobVehicle.currentHelper == self.ad.currentHelper then
    -- we assign a helper for spec_aiJobVehicle, but do not remove it!
    -- self.spec_aiJobVehicle.currentHelper = nil
end

hier soll die IF-Anwendung ja offensichlich gar nix tun, denn "-- self.spec_aiJobVehicle.currentHelper = nil" ist ja auskommentiert, folglich soll hier gar nichts gemacht werden. Also einfach in Zeile 1285 gehen und die "--" entfernen. Schon geht es wie es soll.