körnermais textur

  • hallo,
    habe mir überlegt eine neue Frucht einzufügen Körnermais. habe mir dazu diese anleitung durchgelesen: http://forum.giants-software.c…hp?f=761&t=54125&start=30 ich möchte den Körnermais ähnlich wie Kartoffel oder Zuckerrüben mit einer haulm_diffuse ausstatten, so dass nach dem ernten ernterückstände vom mais auf dem feld sind. der körnermais ist bereits im GE als neue frucht drin (corn) und erscheint auch im spiel. nur ernten lässt sich der noch nicht, obwohl schneidwerk und drescher den fruittype drin haben. wie kann ich das einstellen, dass als fruitplane einfach die maiskörner genommen werden. der körnermais soll einfach wie der normale mais behandelt werden nur das man hier nur körner ernten kann. wahrscheinlich erkennt der drescher noch nicht was für ein frucht auf dem feld ist und erntet die nicht. log fehler gibt es keine. habe mal ein paar datein angehängt.


    map.i3d als xml:

    XML
    <File fileId="86" filename="textures/foliage/foliage_corn_diffuse.png" relativePath="true"/>
    <File fileId="88" filename="textures/foliage/foliage_corn_haulm_diffuse.png" relativePath="true"/>
    <File fileId="87" filename="textures/foliage/foliage_corn_haulm_distance_diffuse.png" relativePath="true"/>


    XML
    <Material name="foliageCorn_mat" materialId="153" ambientColor="1 1 1" customShaderId="39">
    <Texture fileId="86"/>
    <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>


    XML
    <Material name="cornHaulmMaterial" materialId="152" ambientColor="1 1 1" customShaderId="41">
    <Texture fileId="88"/>
    <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
    </Material>


    XML
    <FoliageSubLayer name="corn" densityMapTypeIndex="9" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="153" cellSize="8" viewDistance="80" terrainOffset="0.1" objectMask="65520" distanceMapIds="31;60;61;62;63;64;;;31;69" distanceMapUnitSizes="128;128;128;128;128;128;;;128;128" atlasSize="1" numBlocksPerUnit="1" width="3.7" height=";0.7;2;3.1;3.4;3.3;3;3.2;0.34" 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 1;0.5 0 0.25 0.144" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.025" numStates="10" growthNumStates="6" growthStateTime="2.4e+007" blockShapeId="6" useShapeNormals="true"/>
    <FoliageSubLayer name="corn_haulm" densityMapTypeIndex="9" densityMapChannelOffset="8" numDensityMapChannels="1" materialId="152" cellSize="8" viewDistance="80" terrainOffset="0.07" objectMask="65520" distanceMapIds="87" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" numBlocksPerUnit="1.4" width="1.5" height="1" widthVariance="0" heightVariance="0" horizontalPositionVariance="0.1" blockShapeId="7" useShapeNormals="false" alignWithTerrain="true"/>
  • Ehm... Joa... Mal wieder einer, der die vermurksten FruitRegister Scripte kopiert hat, anstatt einfach mal in die ScriptDocu zu gucken.
    Also erstmal das Script fixen.
    Dann mal die Layer ganz neu machen. Normalen Früchte brauchen keine blockShapeId, deine angegebenen Stufen passen nicht zu den tatsächlich vorhandenen Stufen, deine distanceMapIds ebenso wenig, deine height-Werte auch nicht.
    Und dann mal dem Conspeed beibringen, wie er korrekt mit der Frucht umzugehen hat, also fruitPreparer einbauen.

  • alles klar.. ich wusste das da so einiges nicht stimmt. mache das das erste mal. irgendwie verstehe ich noch nicht ganz wie die numStates und growthNumStates gezählt werden bzw. welche zahl für welchen fruchtzustand ist. und wie meinst du das, dass die nicht übereinstimmen? welche zahlen aus welchem dokument passen nicht überein? die distanceMapIds beziehen sich auf die maize_distance_diffuse, weiß nicht was ich da falsch angegeben haben soll. kann ich für den conspeed dieses Skript nehmen FruitPreparer: http://www.ls-mods.de/scriptDo…ializations/FruitPreparer ?? bitte gib mir doch kleine Hilfen, würde das gerne selbst hinbekommen.
    Danke schonmal ;)

  • Die Anzahl Werte bei "distanceMapIds", "distanceMapUnitSizes", "height" und "texCoords" müssen übereinstimmen, genau diese Anzahl ist auch die numStates. Für normale Früchte 9 (4 Wachstum, 3 Ernte, 1 verdorrt, 1 Stoppel), für dein Vorhaben dürften es 10 werden (zusätzlich die vorbereitete Stufe).
    Die growthNumStates sind die Anzahl Stufen, in der sich diese verändern (sobald die Zeit für eine Stufe abgelaufen ist), normal also 8 (4 Wachstumsstufen + 3 Erntestufen + 1 Verdorrt-Stufe).
    Jo, das Script ist dafür gedacht.

  • so kann den mais jetzt mit dem umgeschriebenen deutz drescher als mod den mais dreschen und die mais fruchtplane erscheint auch. allerdings ist der drescher viel zu schnell voll. man kann sogar etwas von der pflanze entfernt sein und die füllstands anzeige erhöht sich trotzdem beim fahren und das im rasanten tempo (100% : 9000) . man kann auch noch die verdorrte maispflanze dreschen. (eig. ganz praktisch) . habe den original quelltext des fruit preparers in den drescher eingebaut, die haulm diffuse erscheint aber nicht. werde es mit dem schneidwerk nochmal versuchen.
    säen kann ich auch. hud erscheint noch nicht wird aber behoben. ob es wächst werde ich auch noch herausfinden. problem ist erstmal nur das der tank zu schnell gefüllt wird :)


    Edit: Weiteres Problem: Es werden keine Stoppeln angezeigt. Drescher drescht auch da auf dem Feld wo die Pflanze schon weg ist. heißt ich könnte das feld immer und immer wieder neu ernten obwohl keine Pflanzen zu sehen sind. haulm funktioniert noch nicht.


    XML
    <FoliageSubLayer name="corn" densityMapTypeIndex="9" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="89" cellSize="8" viewDistance="80" terrainOffset="0.1" objectMask="65520" distanceMapIds="31;86;87;88;89;90;;;31;31" distanceMapUnitSizes="128;128;128;128;128;128;;;128;128" atlasSize="1" numBlocksPerUnit="1" width=";3.7;3.7;3.7;3.7;3.7;;;;3.7" height=";0.7;2;3.1;3.3;3.4;;;;0.325" 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.75 0 0.25 1;;;;0.5 0 0.25 0.144" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.025" numStates="10" growthNumStates="6" growthStateTime="2.4e+007"/>
    <FoliageSubLayer name="corn_haulm" densityMapTypeIndex="9" densityMapChannelOffset="8" numDensityMapChannels="1" materialId="122" cellSize="8" viewDistance="80" terrainOffset="0.07" objectMask="65520" distanceMapIds="92" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" numBlocksPerUnit="1.4" width="1.5" height="1" widthVariance="0" heightVariance="0" horizontalPositionVariance="0.1" blockShapeId="7" useShapeNormals="false" alignWithTerrain="true"/>
  • okay hab das problem gelöst bekommen. stoppeln sind da, und der drescher füllt sich auch richtig. einziges problem wie bekomme ich die haulm diffuse hin das die auch erscheint ?(
    [lua]-- copyright by sirrobin & modeleicher 08.02.2013



    -- frei verwendbar - keine erlaubnis nötig | free for use - no permission needed.
    -- Modifikationen und erneutes hochladen nicht erlaubt | for modifications and reupload no permission.
    --
    -- Hinweis: das kopieren von Sourcecode ist strafbar nach UrhG §2.1


    print("register fruit type: corn");
    local cornhudFile = Utils.getFilename("scripte/cornHud.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("corn", corn, true, true, false, 0, 4, 9, 10, false, 0.15, 1.5, 0.1, true, cornhudFile, {0.1, 0.5, 0, 1});
    FruitUtil.registerFruitTypePreparing(FruitUtil.FRUITTYPE_CORN,"corn_haulm", 5, 5, 9);


    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["maize"]; -- selectedSeedFruitType = "maize" etc..
    if v == fruitTypeDesc.index then
    table.insert(self.seeds, FruitUtil.fruitTypes["corn"].index);
    end;
    end;


    end;[/lua]

  • Das die haulm nicht erscheint ist auch kein Wunder, ebenso das du die verdorrte Frucht ernten kannst. Die register Sachen sind ja immer noch falsch.
    Beim preparing wird angegeben, in welchen Stufen vorbereitet wird. Wenn du die standard 4 Wachstumsstufen + 3 Erntestufen + verdorrt nimmst sind das 4 als min und 6 als max. Dazu wird dann vermutlich auf Stufe 9 gestellt, also die Stufe, die auf der Textur nach verdorrt kommt. Die Frucht selbst kannst du dann entsprechend nur in Stufe 9 ernten, also sowohl bei min als auch bei max kommt dann 9 hin, wird dann auf eine weitere Stufe gestellt, die mit den Stoppeln. Könnte dann 10 sein (hängt natürlich ab wie du das in den Layern angegeben hast, lässt sich mittels den texCoords und die Textur ja ganz leicht feststellen.
    Dazu kommt dann noch der falsche zweite Parameter in der registerFruitType, das soll ein String sein, nicht eine nicht belegte Variable wie jetzt. Steht als Beispiel in der ScriptDocu genau drin.

  • ich habe mich jetzt doch entschieden einfach einen schwad zu nehmen, war viel einfacher zu machen. nun neue Fruchtsorte heißt ja auch eig. neue fruchtplane etc. :


    1. kann ich nicht einfach auf die mais plane verweisen (also corn als fruit und mais als filltype)?


    2. muss ich in jeden einzelnen Drescher nun die neue frucht einbauen oder kann ich einen Mod machen, den man nur in den Ordner "mods" packt und sich automatisch installiert?


    3.kann man zusätzlich dem fruittype corn einen eigenen größeren Schwad zuweisen und nicht so schmal wie von wheat oder barley (in der xml des dreschers ist nur ein eintrag für strohschwaden)


    4.wofür steht hud_fill_x.png, wofür wird der hud benötigt ich weiß nicht was für ein bild da rein muss.


    das sind so meine Fragen... Danke schonmal.

  • Zu 1: Du kannst die gleiche Plane dafür verwenden, musste dann einfach nur den Index der gewünschten Plane angeben.


    Zu 2: Wenn du gut scripten kannst, dann ist das sicher möglich. Ansonsten wohl eher nicht.


    Zu 3: Nein, geht nicht.


    Zu 4: Das ist das HUD, was im Drescher, Anhänger, Schaufel,... rechts unten über der Geschwindigkeitsangabe angezeigt wird.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!