Wie löst man Probleme mit einem schlecht konvertierten Mod?

  • Hallo,
    dieser Thread soll eine Art "ich brauche Hilfe", aber auch eine Art "Wie löst man welchen Fehler" werden.

    Ich interessiere mich schon länger für einen größeren New Holland Traktor.

    Gestern wurde ich dann durch einen Hinweis im Forum fündig mit diesem Modell:
    New Holland T8390 - LS2013 Mod | Mod for Landwirtschafts Simulator 2013 | LS Portal

    Diese V1 des T8.390 hatte mehrere Probleme, der Download ist ohne Anpassungen mit LS 2013 nicht brauchbar.
    Zunächst lies sich der New Holland im Shop nicht kaufen. Im dem Moment, als ich den Kaufen Button gedrückt hatte, schmierte
    das Spiel komplett ab.
    Ein Blick in die Log.txt brachte als Error:
    Error: Out-dated custom shader. 'D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/emissiveBillboardShader.xml' has version 1.

    Die Lösung für dieses Problem ist relativ einfach.
    Man kopiert aus dem Spielverzeichnis "..\Landwirtschafts Simulator 2013\data\vehicles" die Datei emissiveBillboardShader.xml in den Mod.

    So weit so gut. Nächster Versuch.
    Nun wurde der Traktor im Shop korrekt gekauft, aber wieder Fehler in der Log.
    Die genaue Meldung weiß ich nicht mehr, es wurde aber die Datei "Extrafile.lua" vermisst, konnte also nicht geladen werden.
    Ein Blick in den Mod zeigte dann auch, dass diese Datei nicht vorhanden war. Aufgerufen wird die Datei durch einen Eintrag in der moddesc.xml:

    Code
    <extraSourceFiles>
       	<sourceFile filename="Scripts/ESLimiterEvent.lua" />
        	<sourceFile filename="Scripts/SetWheelSelectionGroupEvent.lua" />
    	<sourceFile filename="Scripts/ExtraFile.lua" />
    </extraSourceFiles>

    Als Lösung habe ich den Eintrag auskommentiert, das macht man in xml ganz einfach:

    Code
    <extraSourceFiles>
       		..
    		..
    		<!--<sourceFile filename="Scripts/ExtraFile.lua" />-->
    </extraSourceFiles>

    Ende Teil 1 des Dramas

  • Teil 2 des Dramas

    Nächster Versuch und nun wurde es mit den Fehlern richtig heftig, das sind so viele, die muss ich in einen Spoiler packen:

    Spoiler anzeigen


    Error: UVs out of range [-8,8] polySurfaceShape1'
    Error: UVs out of range [-8,8] ID31'
    Error: UVs out of range [-8,8] polySurfaceShape1'
    Error: UVs out of range [-8,8] polySurfaceShape1'
    Error: UVs out of range [-8,8] ID2'
    Error: UVs out of range [-8,8] ID2'
    Warning: Material with id 0 not found in shape 'pino suporte E'.
    D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/NH_T8390.i3d (75.74mb in 50677.86 ms)
    Warning (performance): Raw texture format (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/texturas/MAping final copy.jpg)
    ..
    Warning (compatibility): Texture width or height doesn't equal 2^n (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/texturas\PAinel copy.png)
    ..
    Warning (compatibility): Texture width or height doesn't equal 2^n (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/texturas/4x4-frontier-1-zap-carros.jpg)
    ....
    Warning (performance): Raw texture format (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/BlinkerLinksHell.png)
    Error: index out of range
    Call Stack:
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/Utils.lua(8) : printCallstack
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/Utils.lua(41) : checkChildIndex
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/vehicles/Vehicle.lua(604) : indexToObject
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/vehicles/Vehicle.lua(91) : loadFinished
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/BaseMission.lua(511) : load
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/BaseMission.lua(588) : loadVehicle
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/BuyVehicleEvent.lua(62) : loadVehicleAtPlace
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/network/Connection.lua(53) : run
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/ShopScreen.lua(702) : sendEvent
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/ShopScreen.lua(665) : onBuyClick
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/elements/ButtonElement.lua(465) : onClick
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/elements/GuiElement.lua(354) : mouseEvent
    =(tail call)(-1)
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/elements/GuiElement.lua(354)
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/gui/Gui.lua(226) : mouseEvent
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/main.lua(913) : mouseEvent
    Index: 16|0|0|1|0
    Error: Failed to open xml file D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/particleSystemShader.xml'
    Error: Out-dated custom shader. 'D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/particleSystemShader.xml' has version 0. Please convert this file to version 2.
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/wheelParticleSystem.png
    Error: Can't load resource: dataS2/sounds/horn3D.wav
    Error: Can't load sample dataS2/sounds/horn3D.wav.
    Warning (performance): Raw texture format (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/traction_on.png)
    Warning (performance): Raw texture format (D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/traction_off.png)


    Ich habe einiges aus der Fehlermeldung entfernt, sind aber alles fast identische Fehler zum Dateiformat.

    Zu den einzelnen Fehlern.
    - Error: UVs out of range ... ----> diese Fehler lassen sich nur mit einem 3D Programm wie Maya oder Blender lösen. Kann ich nicht.

    - Warning: Material with id 0 not found in shape 'pino suporte E'. ----> mit dieser Meldung kann ich nichts anfangen.

    - Warning (performance): Raw texture format ----> bei dieser Fehlermeldung liegen die Texturen in einem falschen Format vor. Waren es bei LS 2011 noch Dateien vom
    Typ .png, so möchte LS 2013 gerne .dds Dateien.
    Eine Lösung ist relativ einfach: Man konvertiert die .png in .dds. Dies ist hier sehr schön erklärt:
    GIANTS Software - Support Forum • View topic - [TUT] Performance Tutorial (Update 02.11.12)

    - Warning (compatibility): Texture width or height doesn't equal 2^n ----> die Texturen haben nicht die richtige Grösse. Die Texturen müssen quadratisch sein, sowie die Seitenlänge 2 hoch n sein.
    Erlaubt sind beispielsweise folgende Größen (in Pixeln)
    2x2
    4x4
    8x8
    16x16
    32x32
    64x64
    128x128
    256x256
    512x512
    1024x1024
    2048x2048
    Dieser Fehler entsteht, wenn man die .png Dateien, die diese Beschränkung nicht hatten, ohne weitere Anpassungen einfach konvertiert ohne Auf die Abmessungen in Pixeln zu achten.
    So zumindest mein Wissensstand.

    So und nun kommt ein Fehler mit dem ich (erst einmal) überfordert bin:
    - Error: index out of range
    Call Stack:
    ...
    ...
    Index: 16|0|0|1|0
    Call Stack Fehler können entstehen, wenn eine wichtige Datei fehlt oder eine Pfadangabe nicht stimmt. Wieder mein Wissensstand.
    Denn: Ich hatte solche Fehler auch schon, mit den anschließenden Fehlern
    Error: Failed to open xml file .....
    Hatte ich solch einen "Failed to open xml" Fehler behoben, war plötzlich auch der Call Stack weg.
    Ich gehe bei Call Stack Fehlern deshalb immer so vor, dass ich Fehler welche sich auf fehlende oder nicht zu öffnende Dateien beziehen, behebe.

    Im obigen Beispiel kommt dann noch der Fehler
    - Error: Out-dated custom shader. 'D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8390_V1/Texturas/texturas/particleSystemShader.xml' has version 0. Please convert this file to version 2.
    Wie beim anderen oben genannten Shader hilft auch hier das einfache ersetzen der Datei particleSystemShader.xml. Zu finden ist die richtige Version wieder im Spieleverzeichnis:
    "..\Landwirtschafts Simulator 2013\data\vehicles\particleSystems"

    - Error: Can't load resource: ... ----> diese Fehler sind eigentlich klar, es fehlen einfach die Dateien.

    Ende Teil 2.

  • Teil 3, das Drama geht weiter.

    Nun hätte ich ja die ganzen fehlenden Dateien zusammensuchen, bzw. die Pfadangaben in den xml Dateien kontrollieren müssen.
    Bei zwei oder drei geht das noch recht flott. Außerdem noch die ganzen .png konvertieren.

    Dann habe ich durch Zufall eine zweite Version des NH T8.390 gefunden, im folgenden geht es also nur noch um diese V2:
    New Holland - Tractors - LS 2013 MODS - Farming Simulator 2013 Mods[/url]

    So, in dieser Version sind schon mal alle .png Dateien in .dds konvertiert.

    Und somit der nächste Versuch. Mod in den Modsordner, Spiel gestartet und den 8390 V2 im Shop gekauft.

    Ergebnis: Spielabsturz in dem Moment wo ich zum Traktor gewechselt habe. Rettung: Affengriff, Taskmanager, Spiel abschiessen.

    Und das ist nun der aktuelle Stand, folgende Fehler in der Log:

    Code
    D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8_390V2/NHT8390.i3d (30.34mb in 1202.11 ms)
    Error: LUA running function 'update'
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/InputBinding.lua(47) : attempt to index field '?' (a nil value)
    Error: LUA running function 'draw'
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/InputBinding.lua(87) : attempt to index local 'actionData' (a nil value)

    Dieser Fehler wiederholt sich ständig, das sind ungefähr 3700 (ja dreitausend-siebenhundert) Zeilen in der Log.
    Andere Fehler werden nicht angezeigt.

    Nachtrag:
    Ich habe einen vagen Hinweis auf den Fehler mit der InputBinding.lua. Angeblich könnte dies an einer nicht zu LS 2013 kompatiblen "beleuchtungV31.lua" liegen.
    Aber: Diese beleuchtungV31.lua finde ich auch im Fendt 936 Skin Pack von Ifko, also muss sie ja mit LS 2013 laufen.
    Nachtrag Ende

    Gruß Patrick

  • Guten Morgen,
    auf dem Weg zur Arbeit heute Morgen hatte ich eine Idee.

    Die oben genannten Fehler mit der inputbinding.lua (die ich gar nirgends finde) deuten ja auf irgendeine <specializations> hin.

    Wäre es hilfreich beim weiteren Vorgehen, zuerst mal alle in der moddesc zu deaktivieren und dann eine nach der anderen wieder einzuschalten? Oder von mir aus auch umgekehrt?

    Patrick

  • Hi Patrick,

    die InputBinding.lua ist im verschlüsselten dataS Ordner. Es fehlt ledeglich was bei den Inputbindings in der modDesc des Mods. Meistens fehlen dort die Inputs von der Beleuchtungs.lua. Deshalb hängt sich das Game bei einsteigen auf.. Es sei den ein anderer Mod hat die fehlenden inputbindings eingetragen..

    Leider fand ich keinen DL button das ich mal reingucken hätte können...

  • Hi,
    die moddesc und fahrzeug.xml habe ich weiter oben an einen Beitrag angehängt.

    Warum findet ihr eigentlich alle keinen DL Button?

    Bei der Version V2 - Link in Beitrag 3 - kann man die doch gar nicht übersehen.
    New Holland - Tractors - LS 2013 MODS - Farming Simulator 2013 Mods
    capture_04182013_1010.jpg

    Und bei V1 - Link im ersten Beitrag - auch nicht, der ist aber mittlerweile sowieso aus dem Rennen.
    New Holland T8390 - LS2013 Mod | Mod for Landwirtschafts Simulator 2013 | LS Portal
    capture_04182013_1013.jpg

    Patrick

  • Ist das mit dem Internet Explorer? Da schaut es bei mir auch so aus. Und mit Firefox ebenfalls.
    Mit Opera (da habe ich die Screenshots gemacht) dagegen kein Problem.

    Ah, falscher Link, der führte direkt auf die Beschreibung des Mods. Ich korrigiere das oben. Sorry.
    New Holland - Tractors - LS 2013 MODS - Farming Simulator 2013 Mods

    Mit dem richtigen Link geht es auch mit den anderen Browsern. :pardon:

  • Da haste dir aber auch n Ofen ausgesucht :whistling:

    naja, jeder wie er will. Der Fehler liegt an der Allrad.lua, da steht bei den InputBindings ein falscher Eintrag, der nicht zum Eintrag in der .lua passt. Mach in der modDesc aus

    <input name="AllradV4" key1="KEY_u" button="" />
    einfach
    <input name="AllradFendt924" key1="KEY_u" button="" />

    außerdem steht dort noch:
    <input name="MMRearCam" key1="KEY_KP_delete" button="" device="0" mouse="" />
    Das funktioniert so nicht. Gemeint ist wohl die ,-Taste aufm Numpad. Ich hab allerdings keine Ahnung, was dort stehen müsste, damit diese Taste verwendet wird. Mit KP_delete gehts jedenfalls nicht.


    Kein Support in nächster Zeit

  • außerdem steht dort noch:
    <input name="MMRearCam" key1="KEY_KP_delete" button="" device="0" mouse="" />
    Das funktioniert so nicht. Gemeint ist wohl die ,-Taste aufm Numpad. Ich hab allerdings keine Ahnung, was dort stehen müsste, damit diese Taste verwendet wird. Mit KP_delete gehts jedenfalls nicht.

    Richtiig. Daraus machst du einfach:

    key1="KEY_delete"

    Ist dann die Entf Taste. :thumbup:

  • Da haste dir aber auch n Ofen ausgesucht

    Naja, man muss erstmal so einen großen NH finden. ;)

    Danke für den Tipp mit der Allrad.lua, das werde ich mir dann heute Abend (falls die Zeit reicht) anschauen und testen.

    Auch den Tipp von Kevin werde ich umsetzen.

    Eine Frage zur Allrad.lua: Angenommen dies wäre eine uralte Version (wie auch der ES Limiter der in dem NH verbaut ist, den werde ich noch auskommentieren). Könnte man die Allrad.lua gegen eine aktuellere aus einem anderen Mod (beispielsweise Fendt 936) austauschen?

    Ich werde auf jeden Fall die Änderungen und den darauf folgenden Funktionsstand weiterhin dokumentieren. ;)

    Patrick

  • Rückmeldung.

    Die folgenden Änderungen habe ich gemacht, um die in Beitrag 3 bereits genannten Fehler zu entfernen.
    Fehler

    Code
    D:/Eigene Dokumente/My Games/FarmingSimulator2013/mods/NH_T8_390V2/NHT8390.i3d (30.34mb in 1202.11 ms)
    Error: LUA running function 'update'
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/InputBinding.lua(47) : attempt to index field '?' (a nil value)
    Error: LUA running function 'draw'
    D:/Code/Giants/lsim2013/build/finalbin/dataS/scripts/InputBinding.lua(87) : attempt to index local 'actionData' (a nil value)

    Danke an Ray und Kevin für die entscheidenden Hinweise.

    In der moddesc.xml folgende Änderungen:
    <input name="AllradV4" key1="KEY_u" button="" /> ersetzt durch <input name="AllradFendt924" key1="KEY_m" button="" /> (den Button habe ich auf m geändert, weil den andere Mods auch so für das Allrad nutzen)

    und

    <input name="MMRearCam" key1="KEY_KP_delete" button="" device="0" mouse="" /> ersetzt durch <input name="MMRearCam" key1="KEY_delete" button="" device="0" mouse="" />


    Ergebnis:
    Der Traktor ist jetzt im Spiel kaufbar und wirft keine Fehler mehr in die Log. Auch die UV out of range Fehler sind weg, ich nehme an das hat bereits der Ersteller der Version V2 gemacht.


    Als abschließende Maßnahme habe ich dann noch verschiedene eingebaute specializations auskommentiert:
    - manualIgnition (die mag ich nicht)
    - ES Limiter ---> veraltete Version, außerdem nutze ich den globalen aus dem ModHub
    - Operating Hours ---> ebenfalls veraltet, entfällt beim neuen ES Limiter da dort integriert.
    - lowFuelIndicator ---> brauche ich nicht
    - ShowHelp ---> brauche ich auch nicht (hoffe ich)

    Die geänderten moddesc und die NHT8390.xml findet ihr im Anhang.


    Also, bis hierher war erst einmal die Fehlersuche, welche hiermit eigentlich als beendet bezeichnet werden kann.


    Patrick

  • Ab jetzt folgt das anpassen mehrerer Kleinigkeiten.

    Punkt 1: Die Ansicht der Kamera ändern.

    Beim Kauf des Traktor sitzt man sofort im Führerhaus, anstatt den Traktor in der Aussenansicht zu sehen.
    Dies liegt an diesen Einträgen in der NHT8390.xml:

    Code
    <cameras count="2">
            <camera2 index="1|0" rotatable="true" rotateNode="1" limit="true" rotMinX="-1.4" rotMaxX="0" transMin="4" transMax="80" >
    			<raycastNode index="0>4|0"/>
    			<raycastNode index="0>4|1"/>
           </camera2>
            <camera1 index="2|0|0|0|0|0" rotatable="true" rotateNode="2|0|0|0|0" limit="true" rotMinX="-0.9" rotMaxX="0.7" transMin="0" transMax="0" />
        </cameras>

    Es müssen nun nur die Bezeichnungen für die Kameras geändert werden. Aus "camera2" wird "camera1" und aus "camera1" wird "camera2".
    Das schaut dann so aus:

    Code
    <cameras count="2">
            <camera1 index="1|0" rotatable="true" rotateNode="1" limit="true" rotMinX="-1.4" rotMaxX="0" transMin="4" transMax="80" >
    			<raycastNode index="0>4|0"/>
    			<raycastNode index="0>4|1"/>
           </camera1>
            <camera2 index="2|0|0|0|0|0" rotatable="true" rotateNode="2|0|0|0|0" limit="true" rotMinX="-0.9" rotMaxX="0.7" transMin="0" transMax="0" />
        </cameras>


    Mit den anderen Punkten mache ich weiter, sobald ich dazu komme.

    Einer ist auf jeden Fall die Aussenkamera. Die bewegt sich mit jedem Huckel mit, da wird mir schlecht. Keine Ahnung bisher wie ich die raus bekomme.

    Patrick