Washable

  • Hallo,
    wenn ich meinen Tracktor Washable gemacht habe bekomme ich im Editor folgente Fehler und es wird nicht mehr alles angezeigt.

    Error: Failed to open xml file C:/Users/Stefan/Desktop/mrJohnDeere6RPack/textures/normals/dashboardInteriorParts_normals.png'
    Error: Out-dated custom shader. 'C:/Users/Stefan/Desktop/mrJohnDeere6RPack/textures/normals/dashboardInteriorParts_normals.png' has version 0. Please convert this file to version 2.
    Error: Can't load resource: C:/Users/Stefan/Desktop/mrJohnDeere6RPack/dirtShader.xml

    mfg Stefan

  • Was GENAU hast du denn gemacht damit dein Schlepper waschbar wird?

    Denn nur rein mit den Fehlermeldungen kann man nicht viel anfangen, ausser das z.B. der Dirtshader nicht geladen wird, weil womöglich fehlt.
    Und was hast du mir den Normals gemacht? Ich hoffe nicht, das du die auch dirt gemacht hast :hmm:

  • Also hier ist mit Sicherheit eine ID falsch vergeben worden, da eine "png" Datei kein Shader sein kann:

    Code
    Error: Failed to open xml file C:/Users/Stefan/Desktop/mrJohnDeere6RPack/textures/normals/dashboardInteriorParts_normals.png'
    Error: Out-dated custom shader. 'C:/Users/Stefan/Desktop/mrJohnDeere6RPack/textures/normals/dashboardInteriorParts_normals.png' has version 0. Please convert this file to version 2.



    Und hier passt ganz einfach der Pfad nicht:

    Code
    Error: Can't load resource: C:/Users/Stefan/Desktop/mrJohnDeere6RPack/dirtShader.xml

    Sieht für mich jetzt so aus, als ob du Shader und Bilddatei (Dirttextur) vertauscht hast beim vergebn der IDs ;)

    Achja:
    Nächstes mal sei doch so gut und häng die ganze Log an. Wie du das machst kannst du daraus erlesen:
    [LS13] Log.txt in einen Beitrag einfügen

  • Ok, wie von Chris vermutet.

    Da wo Du in der i3d Einträge für die Dirt Texturen gemacht hast, hast Du immer auch einen CustomShader.

    Beispiel aus Deiner i3d:

    Code
    <Material name="wheels_mat" materialId="16" customShaderId="14" ambientColor="1 1 1" cosPower="20" specularColor="1 1 1">
          <Texture fileId="2"/>
          <Normalmap fileId="3"/>
          <Glossmap fileId="4"/>
       	  <Custommap name="dirtTexture" fileId="16"/>
          <CustomParameter name="dirtScale" value="0 0 0 0"/>

    Der customShader muss aber die ID von der dirtShader.xml haben.
    Diese hat bei Deiner i3d diesen Eintrag im Abschnitt <files>:

    Code
    <File fileId="40" filename="dirtShader.xml" relativePath="true"/>

    Der richtige Eintrag zu obigem Beispiel wäre also:

    Code
    <Material name="wheels_mat" materialId="16" customShaderId="40" ambientColor="1 1 1" cosPower="20" specularColor="1 1 1">
          <Texture fileId="2"/>
          <Normalmap fileId="3"/>
          <Glossmap fileId="4"/>
       	  <Custommap name="dirtTexture" fileId="16"/>
          <CustomParameter name="dirtScale" value="0 0 0 0"/>

    Dies also bitte kontrollieren.

    Aber aufpassen. Es gibt auch customShader Einträge die nichts mit dem washable zu tun haben, diese nicht ändern.


    Und dann noch darauf achten, dass die dirtShader.xml im richtigen Verzeichnis liegt.
    Bei Deinem obigen Eintrag wäre das direkt das Hauptverzeichnis des Traktors.


    Patrick

  • Kleiner Tip, lade Dir nen WB Mod runter und schaue ihn Dir genau an, damit du siehst was genau gemacht wurde. Ich habe leider momentan echt wenig Zeit um Dir Hilfe anbieten zu können, sorry.

    Wenn du nen Mod waschbar machen willst mußt du Dir die Zeit nehmen die es braucht, das geht nicht innerhalb von 10 Minuten, das kann auch mal Tage dauern wenn man es ordentlich haben will ;)

  • Nee, so geht das nicht. So schnell wird hier nicht aufgegeben.

    Ich habe mir gerade eben Deine i3d nochmals angeschaut.

    Sind da überhaupt schon die Dirt Texturen eingetragen, so wie ich es im Tutorial erklärt habe? Scheint mir nicht so.

    Nochmals das Beispiel von heute Morgen:


    Code
    <Material name="wheels_mat" materialId="16" customShaderId="14" ambientColor="1 1 1" cosPower="20" specularColor="1 1 1">
          <Texture fileId="2"/>
          <Normalmap fileId="3"/>
          <Glossmap fileId="4"/>
       	  <Custommap name="dirtTexture" fileId="16"/>
          <CustomParameter name="dirtScale" value="0 0 0 0"/>


    Also zur Erläuterung:

    Zeile 1 enthält den customShader, der muss bei den Dirt Einträgen in Deinem Beispiel die ID 40 enthalten.

    Zeile 2 ist die Originale Textur auf dem Traktor, die dreckig werden soll.

    Zeile 5 verweist auf die Textur, welche die Textur in Zeile 2 ersetzt.

    Auf deutsch: Die Textur mit der ID 16 ersetzt die Textur mit der ID 2.
    Also schauen wir mal, welche Texturen Du da mit diesen ID´s in der i3d hast:

    ID2:

    Code
    <File fileId="2" filename="textures/diffuse/wheels_diffuse.png" relativePath="true"/>

    ID16:

    Code
    <File fileId="16" filename="textures/diffuse/interiorParts_diffuse.png" relativePath="true"/>

    Das sind zwei komplett verschiedene Texturen.

    Also, lies Dir nochmals in Ruhe das Tutorial von mir durch.
    [Modden] Einen Mod washable / waschbar machen


    Um auf den Tipp von Thorsten einzugehen:
    Im DL Bereich hier im Forum ist ein Hürlimann von mir, ebenfalls washable. Schau Dir den an, bei dem wurden nur wenige Texturen ersetzt.
    https://www.modding-welt.com/index.php?page=DatabaseItem&id=710

    Wenn Du dir für den Anfang einen Washable Mod anschaust, bei dem sehr viele Texturen ausgetauscht werden kann das recht unübersichtlich sein.

    Patrick

  • Danke dass du mich nochmal ermutigt hast, dass ich es nochmal versuche. Ich hab mir mal deinen Hürleman angeschaut, hab es jetzt geändert und noch kommen folgende Fehler.
    Könnten wir uns vileicht heute abend mal im Teamspeak treffen, falst es so nicht erklären kannst, was genau noch falsch in der i3d ist.


    Failed to create fragment shader, The compile returned an error.
    Listing: (217) : error C1009: "samplers" is not member of struct "FS_INPUT"
    (218) : error C1009: "mat" is not member of struct "FS_INPUT"
    (218) : error C1009: "mat" is not member of struct "FS_INPUT"

  • Oha, mit den Fehlern kann ich jetzt erst einmal gar nichts anfangen.

    Ich habe gerade wenig Zeit, aber bei einem kurzen Blick auf die i3d habe ich gesehen, dass Du bisher nur die Wheels als Dirt eingetragen hast, sonst noch nichts?

    Teamspeak habe ich nicht, und ich habe auch den Rest der Woche Abends leider keine Zeit mehr.
    Aber ich bin ja nicht der einzige, der Dir hier helfen kann. ;) Nicht aufgeben.

    Lade mal als Dateianhang die moddesc, die fahrzeug.xml und die komplette log.txt hoch.

  • Failed to create fragment shader, The compile returned an error.
    Listing: (217) : error C1009: "samplers" is not member of struct "FS_INPUT"
    (218) : error C1009: "mat" is not member of struct "FS_INPUT"
    (218) : error C1009: "mat" is not member of struct "FS_INPUT

    Was hast du den für einen Shader benutzt?
    Der Fehler kommt mir nämlich sehr bekannt vor als ich mir den "blimpScreenShader" LS13 Ready, also Konvertiert habe. ;)
    Tausch den dirtShader mal gegen diesen hier: dirtShader.xml

    Würde mich wetten trauen, dass danach der Fehler weg ist :thumbup:


    Christian

  • ich hab es jetzt mal weiter gemacht mit den Texturen und jetzt werden nur die Hinterreifen dreckig und nicht anderes
    Ps: ich möchte den Mod nicht hochladen, weil er Privat ist und ich nicht die Erlaubnis hab, ihn hochzuladen. Könntet ihr mir bitte sagen, wie ich euch den geben kann ohne, dass er ihn falsche Hände gerät

  • Hast du alle Indexe in der Fahrzeug.XML angegeben welche dreckig werden sollen?

    Das schaut dann in etwas so aus:

    Spoiler anzeigen

    <!-- dirtIntveral(h); cleaningInterval(sec) -->
    <dirt dirtInterval="1" cleaningInterval="15" updateInterval="0.1">
    <dirtComponent index="1>1" />
    <dirtComponent index="1>1|0" />
    <dirtComponent index="2>1" />
    <dirtComponent index="2>1|0" />
    <dirtComponent index="2>1|1" />
    <dirtComponent index="3>1" />
    <dirtComponent index="4>1" />
    <dirtComponent index="0>13|0" />
    <dirtComponent index="0>14|0" />
    <dirtComponent index="0>14|0|0" />
    <dirtComponent index="0>14|0|0|0" />
    <dirtComponent index="0>24" />
    <dirtComponent index="0>24|0" />
    <dirtComponent index="0>25" />
    <dirtComponent index="0>25|0" />
    <dirtComponent index="0>26" />
    <dirtComponent index="0>26|0" />
    <dirtComponent index="0>26|0|0" />
    <dirtComponent index="0>26|0|0|0" />
    <dirtComponent index="0>26|0|1" />
    <dirtComponent index="0>26|0|1|0" />
    <dirtComponent index="0>27" />
    <dirtComponent index="0>27|0" />
    <dirtComponent index="0>29" />
    <dirtComponent index="0>33" />
    <dirtComponent index="0>29|5" />
    <dirtComponent index="0>46" />
    <dirtComponent index="0>13|0|2" />
    </dirt>

  • <dirt dirtInterval="0,1" cleaningInterval="20" updateInterval="0.15" >
    <dirtComponent index="0>" />
    <dirtComponent index="0>2" />
    <dirtComponent index="0>3" />
    <dirtComponent index="0>4" />
    <dirtComponent index="0>5" />
    <dirtComponent index="0>23" />
    <dirtComponent index="0>23|0" />
    <dirtComponent index="0>23|1" />

    so schaut es aktuel aus. Die 0,1 ist nur für Test versuche