Fehler nach Fruchteinbau.

  • Moin zusammen,

    hab mir heute mal von der Ifkoworld die Frucht Hafer in die Breitheim eingebaut.

    Dazu hab ich folgende XML Einträge genommen und in die I3d eingefügt:


    Spoiler anzeigen

    [xml]<File fileId="100000" filename="textures/foliage/foliage_oat_diffuse.dds" relativePath="true"/>

    <Material name="oatMaterial" materialId="100001" ambientColor="1 1 1" customShaderId="34">
    <Texture fileId="100000"/>
    <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>

    <FoliageSubLayer name="oat" densityMapTypeIndex="9" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="100001" cellSize="8" viewDistance="80" terrainOffset="0.1" objectMask="65520" distanceMapIds="31;32;33;34;86;86;86;36;37" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" numBlocksPerUnit="2" width="1.5" height=";0.25;0.5;0.9;1;1;1;0.9;0.13" texCoords=";0 0 0.25 0.25;0 0.5 0.25 0.5;0.25 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.75 0 0.25 0.75;0.5 0 0.25 0.144" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.5" numStates="9" growthNumStates="7" growthStateTime="4e+006"/>
    [/xml]

    Die Lua hab ich so bearbeitet:

    Spoiler anzeigen

    [lua]
    print("register fruit type: Klee_clover");
    local kleehudFile = Utils.getFilename("kleeHud.dds", g_currentModDirectory);
    -- (string name, bool needsSeeding, bool allowsSeeding, bool useSeedingWidth, float directionSnapAngle, int minHarvestingGrowthState, int maxHarvestingGrowthState, int cutState, bool allowsPartialGrowthState, float pricePerLiter, float literPerSqm, float seedUsagePerSqm, bool partOfEconomy, string hudOverlayFilename, float4 fruitMapColor)
    FruitUtil.registerFruitType("klee", g_i18n:getText("klee"), true, true, false, 0, 6, 6, 8, false, 0.6, 12, 0.002, true, kleehudFile, {1, 0, 1, 1});
    FruitUtil.registerFruitTypeWindrow(FruitUtil.FRUITTYPE_KLEE, "klee_windrow", g_i18n:getText("klee_windrow"), 0.04, 5, true, kleehudFile);

    local origSowingMachineLoad = SowingMachine.load;
    local orig TrailerLoad = Trailer.load;

    SowingMachine.load = function (self, xmlFile)
    if origSowingMachineLoad ~= nil then
    origSowingMachineLoad(self, xmlFile);
    end;
    for k,v in pairs(self.seeds) do
    fruitTypeDesc = FruitUtil.fruitTypes["grass"];
    if v == fruitTypeDesc.index then
    table.insert(self.seeds, FruitUtil.fruitTypes["klee"].index);
    end;
    end;
    end;

    print("register fruit type: Luzerne_alfalfa");
    local luzernehudFile = Utils.getFilename("luzerneHud.dds", g_currentModDirectory);
    -- (string name, bool needsSeeding, bool allowsSeeding, bool useSeedingWidth, float directionSnapAngle, int minHarvestingGrowthState, int maxHarvestingGrowthState, int cutState, bool allowsPartialGrowthState, float pricePerLiter, float literPerSqm, float seedUsagePerSqm, bool partOfEconomy, string hudOverlayFilename, float4 fruitMapColor)
    FruitUtil.registerFruitType("luzerne", g_i18n:getText("luzerne"), true, true, false, 0, 4, 6, 8, false, 0.75, 13, 0.002, true, luzernehudFile, {2, 0, 1, 1});
    FruitUtil.registerFruitTypeWindrow(FruitUtil.FRUITTYPE_LUZERNE, "luzerne_windrow", g_i18n:getText("luzerne_windrow"), 0.04, 5, true, luzernehudFile);

    local origSowingMachineLoad = SowingMachine.load;
    local orig TrailerLoad = Trailer.load;

    SowingMachine.load = function (self, xmlFile)
    if origSowingMachineLoad ~= nil then
    origSowingMachineLoad(self, xmlFile);
    end;
    for k,v in pairs(self.seeds) do
    fruitTypeDesc = FruitUtil.fruitTypes["grass"];
    if v == fruitTypeDesc.index then
    table.insert(self.seeds, FruitUtil.fruitTypes["luzerne"].index);
    end;
    end;
    end;

    print("register fruit type: Hafer");
    local oatHudFile = Utils.getFilename("oatHud.dds", g_currentModDirectory);

    FruitUtil.registerFruitType("oat", g_i18n:getText("oat"), true, true, false, 0, 4, 6, 8, true, 0.25, 1.2, 0.05, true, oatHudFile, {0.5, 0.5, 0, 1});

    -- Stroh Anfang
    FruitUtil.registerFruitTypeWindrow(FruitUtil.FRUITTYPE_OAT, "barley_windrow", g_i18n:getText("straw"), 0.04, 3, false, Utils.getFilename("mods/Breitheim_NBK_ohneVerfaulen/hud_fill_straw.dds", getUserProfileAppPath()));
    -- Stroh Ende

    local origSowingMachineLoad = SowingMachine.load;
    local orig TrailerLoad = Trailer.load;

    SowingMachine.load = function (self, xmlFile)
    if origSowingMachineLoad ~= nil then
    origSowingMachineLoad(self, xmlFile);
    end;

    for k,v in pairs(self.seeds) do
    fruitTypeDesc = FruitUtil.fruitTypes["wheat"];
    if v == fruitTypeDesc.index then
    table.insert(self.seeds, FruitUtil.fruitTypes["oat"].index);
    end;
    end
    end;
    [/lua]

    Die hud_fill_straw.dds, oatHud.dds und die foliage_oat_diffuse.dds hab ich in die Ordner geschoben.

    Nun aber schreibt er mir zu der ganzen Fruchtgeschichte folgende Fehler in die Log.

    Spoiler anzeigen

    [xml]
    Error: TerrainDetail distance texture 'C:/Users/Nabi/Documents/My Games/FarmingSimulator2013/mods/Breitheim_NKB_ohneVerfaulen/map/textures/foliage/foliage_wheat_diffuse.png' not found.
    Error: TerrainDetail distance texture 'C:/Users/Nabi/Documents/My Games/FarmingSimulator2013/mods/Breitheim_NKB_ohneVerfaulen/map/shaders/fruitGrowthFoliageShader.xml' not found.
    Error: TerrainDetail distance texture 'C:/Users/Nabi/Documents/My Games/FarmingSimulator2013/mods/Breitheim_NKB_ohneVerfaulen/map/shaders/windrowFoliageShader.xml' not found.
    Error: TerrainDetail distance texture 'C:/Users/Nabi/Documents/My Games/FarmingSimulator2013/mods/Breitheim_NKB_ohneVerfaulen/map/textures/foliage/foliage_grass_diffuse.png' not found.

    [/xml]


    Die Dateien sind aber im Ordner und ich kann diese auch öffnen. Woran kann das liegen?

    Hab mal die komplette Log mit angehängt.
    Die I3d könnt ihr hier runterladen zum drübergucken:
    http://www.file-upload.net/download-9303585/map01.i3d.html

    Hoffe mir kann wer helfen.

  • er findet die foliage texturen nicht, ergo an falscher stelle

    EDIT:
    Fällt mir jetzt erst auf:
    er sucht hier nach dingen die schon beim Mapbau dagewesen sein müssen...
    ich hab keinen Plan...

    MFG JD_Tiger

    Einmal editiert, zuletzt von JD_Tiger (31. Juli 2014 um 17:33)

  • Hallo nabi, habe dir mal einen Link geschickt, von neuen früchten. Probiers mal mit dem. Dort müsste ein einzelnes Script sein zu der Frucht.

  • Uiii ... da hat mein lieber Kollege wohl ein paar IDs vertaucht in den Layer eingräten der i3d :)

    Also ich kann euch mal sagen, dass es weder an Fehlenden Dateien noch an falschen Früchten liegt :P
    Diese Fehler treten auf, wenn man die IDs der verschiedenen distanceMapIds vertauscht (diese bei dir zu anderen Foliages und Shader führen..) hat.
    Ganz wichtig sind diese IDs beim Multifruit Konvert:

    (Bsp. "Oat" im Gegensatz zu "sunflower" keine eigenen Distance Texturen)

    [xml]distanceMapIds="101;46;47;48;102;102;102;50;51"[/xml]

    Diese müssen zum Richtigen File Eintrag führen (den man sich bei einer anderen Map wo die gleiche Frucht verbaut ist abschauen sollte..)

    :>: 101 - acre_sprayed_distance_diffuse.png
    :>: 46 - foliage_wheat_distance2_diffuse.png
    :>: 47 - foliage_wheat_distance3_diffuse.png
    :>: 48 - foliage_wheat_distance4_diffuse.png
    :>: 102 - foliage_sunflower_distance_diffuse_4.png

    :>: usw ..

    Diese sind bei dir nicht >Richig vergeben und führen zu den falschen File Ids (foliage_wheat_diffuse.png, fruitGrowthFoliageShader.xml, windrowFoliageShader.xml, foliage_grass_diffuse.png)

    Also am besten eine andere Map schnappen mit der selben Frucht - IDs vergleichen und auf deine Map abstimmen und rein-kopieren :thumbup:
    Und keine Angst - ist auch mir schon 100mal passiert weil man wirklich extrem genau arbeiten muss ... :wacko:
    .. und wenn man den Fehler nicht kennt, ises noch schlimmer :pinch:



    LG Chris :)

  • Danke für die Anleitung.
    Nachdem ich über deinen Post ein paar Minuten gerätselt habe, hab ich einfach die distanceMapIds vom Weizen genommen :D
    Von wegen

    weil man wirklich extrem genau arbeiten muss ...

    :ugly:


    Es wächst und gedeiht..Ob man es nun ernten kann, kann ich noch nicht testen. Dafür muss ich erst mal ein paar Maschinen umschreiben:)
    Melde mich dann wenn hier zu kann.

    Edit:

    Sähen, Wachsen, Dreschen, Verkaufen geht alles. Denke hier kann dann zu:)

    Einmal editiert, zuletzt von nabi (31. Juli 2014 um 19:06)