Multifrucht in eine Map einbauen

Gepostet von

In diesem Tutorial wird beschrieben, wie man zusätzliche Früchte einbaut. Voraussetzungen für dieses Tutorial sind der GIANTS Editor und das Textverarbeitungsprogramm Notepad++. Weiter benötigt man noch ein weiteres Tutorial, Mods, um diese weitere Früchte dann auch zu transportieren und natürlich auch entsprechende Texturen. Die Links dazu findet Ihr am Ende dieses Tutorials.

Wir danken Jaguar95 von Modding-Welt, der uns dieses Tutorial zur Verfügung gestellt und somit für alle zugänglich gemacht hat.


Das Tutorial basiert hinsichtlich der Registrierung der Früchte auf der additionalFruitTypes.lua, welche im Tutorial von Upsidedown zu finden und auch erklärt ist. Da ich davon Teile hier benutze und nötig sind, hier den Downloadlink dazu,
LS 15: Tutorial Skripts Materials MultiFruitForMaps v 1.0 Tutorials Mod für Landwirtschafts Simulator 15 | modhoster.de

 

Ich habe die einzelnen Abschnitte, welche kopiert werden müssen so ausgelegt, dass sich in der map.i3d die FileID´s eigentlich nicht mit bestehenden ID´s überschneiden sollten.
Eingebaut werden mit diesem Tutorial die Früchte Roggen (rye), Hafer (oat), Sonnenblumen (sunflower), Luzerne und Klee.

Die zu kopierenden Texte füge ich als Anhang in Form einer .xml Datei für den Eigengebrauch an, dann könnt ihr alles nur per Copy & Paste übernehmen.

Bevor ihr anfangt: Bitte hier lesen.

Anpassen der SampleModMap.lua
Dieser Schritt ist im Tutorial von Upsidedown (siehe oben) erklärt. Hier wird die additionalFruittypes.lua aufgerufen. Da das sein Tutorial ist, gehe ich darauf an dieser Stelle nicht näher ein.
Hinweis: In der Anleitung im Tutorial ist im Eintrag für die SampleModMap.lua ein anderer Pfad zur additionalFruitTypes.lua angegeben, als in meinem Abschnitt, der in der angehängten Datei ist.
Diesen Pfad bitte prüfen und gegebenenfalls anpassen, bzw. die additionalFruitTypes.lua an den richtigen Ort kopieren.
Dies ist „meine“ Variante aus der „Anleitung.xml“ im Anhang, was auch dem Screenshot mit der Ordnerstruktur entspricht:

local additionalFruitTypesPath = Utils.getFilename('map/scripts/additionalFruitTypes.lua', baseDirectory);

Die folgenden Einträge gehen von folgender Ordnerstruktur aus:

multifrucht-in-eine-map-01

 

Anpassen der Moddesc.xml:
Einfügen der Texte und Übersetzungen:

<l10n>
<text name="rye"><en>Rye</en><de>Roggen</de></text>
<text name="rye_windrow"><en>Rye straw</en><de>Roggenstroh</de></text>
<text name="oat"><en>Oat</en><de>Hafer</de></text>
<text name="oat_windrow"><en>Oat straw</en><de>Haferstroh</de></text>
<text name="sunflower"><en>Sunflower</en><de>Sonnenblumen</de></text>
<text name="luzerne"><en>alfalfa</en><de>Luzerne</de></text>		
<text name="luzerne_windrow"><en>alfalfa windrow</en><de>Luzerneschwad</de></text>
<text name="klee"><en>clover</en><de>Klee</de></text>		
<text name="klee_windrow"><en>clover windrow</en><de>Kleeschwad</de></text>
</l10n>

Wenn ihr den Abschnitt <l10n> schon habt, dann nur dort ergänzen.

Nach dem </l10n> wird dann dieser Abschnitt eingefügt:

<AdditionalFruitTypes hudDirectory="map/fruitHuds/">
<fruitType name="oat" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="8" allowsPartialGrowthState="false" pricePerLiter="0.31" literPerSqm="1.2" massPerLiter="0.00025" seedUsagePerSqm="0.05" partOfEconomy="true" fruitMapColor="242, 255, 158, 1" hasWindrow="true" windrowPricePerLiter="0.04" windrowLiterPerSqm="2.5" windrowMassPerLiter="0.00003" forageWagonConversion="wheat" substituteBales="wheat"/> 
<fruitType name="rye" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="8" allowsPartialGrowthState="false" pricePerLiter="0.323" literPerSqm="1.1" massPerLiter="0.00034" seedUsagePerSqm="0.05" partOfEconomy="true" fruitMapColor="70, 53, 255, 1" hasWindrow="true" windrowPricePerLiter="0.04" windrowLiterPerSqm="2.5" windrowMassPerLiter="0.00003" forageWagonConversion="wheat" substituteBales="wheat"/>
<fruitType name="sunflower" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="8" allowsPartialGrowthState="false" pricePerLiter="0.315" literPerSqm="1.2" massPerLiter="0.00021" seedUsagePerSqm="0.08" partOfEconomy="true" fruitMapColor="176, 255, 117, 1" hasWindrow="false"/> 
<fruitType name="luzerne" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="1" allowsPartialGrowthState="false" pricePerLiter="0.75" literPerSqm="1.3" massPerLiter="0.0003" seedUsagePerSqm="0.05" partOfEconomy="false" fruitMapColor="178, 0, 255, 1" hasWindrow="true" windrowPricePerLiter="0.04" windrowLiterPerSqm="1.25" windrowMassPerLiter="0.00003" forageWagonConversion="grass"/>
<fruitType name="klee" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="1" allowsPartialGrowthState="false" pricePerLiter="0.75" literPerSqm="1.3" massPerLiter="0.0003" seedUsagePerSqm="0.05" partOfEconomy="false" fruitMapColor="20, 50, 255, 1" hasWindrow="true" windrowPricePerLiter="0.04" windrowLiterPerSqm="1.25" windrowMassPerLiter="0.00003" forageWagonConversion="grass"/>	
	</AdditionalFruitTypes>

Luzerne und Klee haben mit diesen Einträgen einen sehr hohen Ertrag beim Häckseln. Ich vermute, das wird über „literPerSqm“ gesteuert. Da kenne ich mich allerdings (noch) nicht aus. Ideal wäre wenn man den Wert von Gras oder Mais kennen würde. Wem es zu viel ist kann ja mal damit spielen.

Das war es schon in der Moddesc.xml. Speichern und fertig.

Nun kommt die Bearbeitung der map.i3d. Vorher unbedingt eine Sicherheitskopie dieser Datei anfertigen. Wie immer.

Änderungen in der map.i3d:
Einfügen im Abschnitt <files>:

<File fileId="9800" filename="foliage/rye_diffuse.png" relativePath="true"/>
<File fileId="10600" filename="foliage/oat_diffuse.png" relativePath="true"/>
<File fileId="11400" filename="foliage/sunflower_diffuse.png" relativePath="true"/>
<File fileId="9200" filename="textures/foliage/foliage_rye_distance2_diffuse.png" relativePath="true"/>
<File fileId="9300" filename="textures/foliage/foliage_rye_distance3_diffuse.png" relativePath="true"/>
<File fileId="9400" filename="textures/foliage/foliage_rye_distance4_diffuse.png" relativePath="true"/>
<File fileId="9500" filename="textures/foliage/foliage_rye_distance5_diffuse.png" relativePath="true"/>
<File fileId="9600" filename="textures/foliage/foliage_rye_distance6_diffuse.png" relativePath="true"/>
<File fileId="9700" filename="textures/foliage/foliage_rye_distance7_diffuse.png" relativePath="true"/>
<File fileId="9900" filename="textures/foliage/foliage_rye_windrow_diffuse.png" relativePath="true"/>
<File fileId="10800" filename="textures/foliage/foliage_sunflower_distance2_diffuse.png" relativePath="true"/>
<File fileId="10900" filename="textures/foliage/foliage_sunflower_distance3_diffuse.png" relativePath="true"/>
<File fileId="11000" filename="textures/foliage/foliage_sunflower_distance4_diffuse.png" relativePath="true"/>
<File fileId="11100" filename="textures/foliage/foliage_sunflower_distance5_diffuse.png" relativePath="true"/>
<File fileId="11200" filename="textures/foliage/foliage_sunflower_distance6_diffuse.png" relativePath="true"/>
<File fileId="11300" filename="textures/foliage/foliage_sunflower_distance7_diffuse.png" relativePath="true"/>
<File fileId="10000" filename="textures/foliage/foliage_oat_distance2_diffuse.png" relativePath="true"/>
<File fileId="10100" filename="textures/foliage/foliage_oat_distance3_diffuse.png" relativePath="true"/>
<File fileId="10200" filename="textures/foliage/foliage_oat_distance4_diffuse.png" relativePath="true"/>
<File fileId="10300" filename="textures/foliage/foliage_oat_distance5_diffuse.png" relativePath="true"/>
<File fileId="10400" filename="textures/foliage/foliage_oat_distance6_diffuse.png" relativePath="true"/>
<File fileId="10500" filename="textures/foliage/foliage_oat_distance7_diffuse.png" relativePath="true"/>
<File fileId="10700" filename="textures/foliage/foliage_oat_windrow_diffuse.png" relativePath="true"/>
<File fileId="12100" filename="foliage/foliage_klee_diffuse.dds" relativePath="true"/>
<File fileId="11500" filename="textures/foliage/foliage_klee_distance1_diffuse.png" relativePath="true"/>
<File fileId="11600" filename="textures/foliage/foliage_klee_distance2_diffuse.png" relativePath="true"/>
<File fileId="11700" filename="textures/foliage/foliage_klee_distance3_diffuse.png" relativePath="true"/>
<File fileId="11800" filename="textures/foliage/foliage_klee_distance4_diffuse.png" relativePath="true"/>
<File fileId="11900" filename="textures/foliage/foliage_klee_distance5_diffuse.png" relativePath="true"/>
<File fileId="12000" filename="textures/foliage/foliage_klee_windrow_diffuse.dds" relativePath="true"/>
<File fileId="12900" filename="foliage/foliage_luzerne_diffuse.dds" relativePath="true"/>
<File fileId="12200" filename="textures/foliage/foliage_luzerne_distance1_diffuse.png" relativePath="true"/>
<File fileId="12300" filename="textures/foliage/foliage_luzerne_distance2_diffuse.png" relativePath="true"/>
<File fileId="12400" filename="textures/foliage/foliage_luzerne_distance3_diffuse.png" relativePath="true"/>
<File fileId="12500" filename="textures/foliage/foliage_luzerne_distance4_diffuse.png" relativePath="true"/>
<File fileId="12600" filename="textures/foliage/foliage_luzerne_distance5_diffuse.png" relativePath="true"/>
<File fileId="12700" filename="textures/foliage/foliage_luzerne_distance6_diffuse.png" relativePath="true"/>
<File fileId="12800" filename="textures/foliage/foliage_luzerne_windrow_diffuse.dds" relativePath="true"/>

Hier seht ihr auch schon, wo in welchem Ort welche Textur liegen muss. Anbei aber zur Verdeutlichung Screenshots, einfach den Pfad in der Adressleiste beachten.

multifrucht-in-eine-map-02 multifrucht-in-eine-map-03

Einfügen im Abschnitt <Materials>:

<Material name="foliageRye_mat" materialId="9800" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="9800"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<Material name="ryeWindrow_mat" materialId="93300" ambientColor="1 1 1" customShaderId="48">
      <Texture fileId="9900"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
</Material>
<Material name="foliageOat_mat" materialId="5900" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="10600"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<Material name="oatWindrow_mat" materialId="99200" ambientColor="1 1 1" customShaderId="48">
      <Texture fileId="10700"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
</Material>
<Material name="foliageSunflowerat_mat" materialId="56300" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="11400"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<Material name="luzerneMaterial" materialId="65700" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="12900"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<Material name="luzerneWindrow_mat" materialId="75100" ambientColor="1 1 1" customShaderId="48">
      <Texture fileId="12800"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
</Material>
<Material name="kleeWindrow_mat" materialId="79100" ambientColor="1 1 1" customShaderId="48">
      <Texture fileId="12000"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
</Material>
<Material name="foliageKlee_mat" materialId="144900" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="12100"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>

Bitte überprüfen
Die customShaderId=“46″ und „48“ mit den Einträgen Eurer Map bei wheat vergleichen, die müssen identisch sein. Bei mir war das jetzt bei drei Maps immer identisch. Sollten sie nicht identisch sein, dann anpassen an die Werte von folgenden Material Einträgen:

<Material name="foliageWheat_mat"

und

<Material name="wheatWindrow_mat"

Und zuletzt im Abschnitt <FoliageMultiLayer>

<FoliageSubLayer name="rye" densityMapTypeIndex="10" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="9800" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;9200;9300;9400;9500;9500;9500;9600;9700" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.4" 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="8" growthStateTime="2.4e+007"/>
<FoliageSubLayer name="rye_windrow" densityMapTypeIndex="10" densityMapChannelOffset="8" numDensityMapChannels="4" materialId="93300" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="9500" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.5" width="1.7" height="0.4;0.44;0.48;0.52;0.56;0.6;0.64;0.68;0.72;0.76;0.8;0.84;0.88;0.92;0.96" widthVariance="0" heightVariance="0.01" horizontalPositionVariance="0.1" numStates="15" blockShapeId="7"/>
<FoliageSubLayer name="oat" densityMapTypeIndex="11" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="5900" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;10000;10100;10200;10300;10300;10300;10400;10500" distanceMapUnitSizes="1;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.4" 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="8" growthStateTime="2.4e+007"/>
<FoliageSubLayer name="oat_windrow" densityMapTypeIndex="11" densityMapChannelOffset="8" numDensityMapChannels="4" materialId="99200" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="10300" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.5" width="1.7" height="0.4;0.44;0.48;0.52;0.56;0.6;0.64;0.68;0.72;0.76;0.8;0.84;0.88;0.92;0.96" widthVariance="0" heightVariance="0.01" horizontalPositionVariance="0.1" numStates="15" blockShapeId="7"/>
<FoliageSubLayer name="sunflower" densityMapTypeIndex="9" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="56300" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;10800;10900;11000;11100;11100;11100;11200;11300" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.4" width=";0.25;0.6;1.4;1.6;1.6;1.6;1.2;1.6" height=";0.25;0.6;1.4;1.6;1.6;1.6;1.2;1.6" texCoords=";0 0 1 1" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.5" numStates="9" growthNumStates="8" growthStateTime="2.4e+007" blockShapeId=";12;13;14;15;15;15;16;17;"/>
<FoliageSubLayer name="klee" densityMapTypeIndex="12" densityMapChannelOffset="5" numDensityMapChannels="4" materialId="144900" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;11500;11600;11700;11800;11800;11800;11900;11800" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.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="1.9e+007"/>
<FoliageSubLayer name="klee_windrow" densityMapTypeIndex="12" densityMapChannelOffset="8" numDensityMapChannels="4" materialId="79100" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="50" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.2" width="1.3" height="0.4;0.44;0.48;0.52;0.56;0.6;0.64;0.68;0.72;0.76;0.8;0.84;0.88;0.92;0.96" widthVariance="0" heightVariance="0.01" horizontalPositionVariance="0.1" numStates="15" blockShapeId="7"/>
<FoliageSubLayer name="luzerne" densityMapTypeIndex="13" densityMapChannelOffset="5" numDensityMapChannels="4" materialId="65700" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;12200;12300;12400;12500;12500;12500;12600;12700" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.2" width="1.4" 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="1.9e+007"/>
<FoliageSubLayer name="luzerne_windrow" densityMapTypeIndex="13" densityMapChannelOffset="8" numDensityMapChannels="4" materialId="75100" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="50" distanceMapUnitSizes="128" repeatLastDistanceMap="true" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.2" width="1.3" height="0.4;0.44;0.48;0.52;0.56;0.6;0.64;0.68;0.72;0.76;0.8;0.84;0.88;0.92;0.96" widthVariance="0" heightVariance="0.01" horizontalPositionVariance="0.1" numStates="15" blockShapeId="7"/>

Wichtig im Bereich FoliageSubLayer:
In den Zeilen mit rye_windrow oat_windrow klee_windrow und luzerne_windrow den Eintrag bei blockShapeId kontrollieren. In meinem obigen Beispiel ist dies die 7. Diese Zahl muss mit der blockShapeID bei wheat_windrow identisch sein. Sonst sieht die Schwad bescheiden aus (um es mal harmlos auszudrücken).

Das ist der Abschnitt, der mit folgenden Zeilen beginnt:

<InfoLayer name="infoLayer" fileId="36" numChannels="4"/>
        <FoliageMultiLayer densityMapId="37" numChannels="12" numTypeIndexChannels="4">
          <FoliageSubLayer name="wheat" densityMapTypeIndex="1" densityMapChannelOffset="4" numDensityMapChannels="4"

ACHTUNG: Wenn ihr nach dem Einbau mehr als 12 Früchte habt, muss numChannels=“12″ in numChannels=“16″ geändert werden.

Das war es dann schon. Nachdem die map.i3d geändert wurde, die Map einmal mit dem GE laden und speichern. Im Scriptfenster sollten dabei keine Fehler erscheinen. Zuletzt muss man dann natürlich bei den Silos und Verkaufsstellen die Früchte und Price Multiplier eintragen:

multifrucht-in-eine-map-04 multifrucht-in-eine-map-05 multifrucht-in-eine-map-06

Man kann dann auch noch so genannte Material Holder einbauen, dies ist im oben genannten Tutorial von UpdsideDown erklärt. Diese dienen dazu, dass auch die richtigen Füllplanen und Partikelanimationen genutzt werden und nicht die von Weizen und Raps. Da ich auch hier wieder nicht die Besitzrechte der i3d Dateien kenne, habe ich auf das hochladen der Dateien verzichtet.

Diese sind im Ordner „multiFruit“ (Screenshot ganz oben) der „Willkommen in Mecklenburg* zu finden. Ein Beispiel für „oat“ ist aber auch beim Tutorial von Upsidedown dabei.

Nun möchte ich noch auf einige Details eingehen, als Beispiel dient Roggen.

Wenn man sich wie ich die Einträge aus einer Map kopiert, schaut das zusammengefasst so aus:

<File fileId="98" filename="foliage/rye_diffuse.png" relativePath="true"/>
<File fileId="92" filename="textures/foliage/foliage_rye_distance2_diffuse.png" relativePath="true"/>
<File fileId="93" filename="textures/foliage/foliage_rye_distance3_diffuse.png" relativePath="true"/>
<File fileId="94" filename="textures/foliage/foliage_rye_distance4_diffuse.png" relativePath="true"/>
<File fileId="95" filename="textures/foliage/foliage_rye_distance5_diffuse.png" relativePath="true"/>
<File fileId="96" filename="textures/foliage/foliage_rye_distance6_diffuse.png" relativePath="true"/>
<File fileId="97" filename="textures/foliage/foliage_rye_distance7_diffuse.png" relativePath="true"/>
<File fileId="99" filename="textures/foliage/foliage_rye_windrow_diffuse.png" relativePath="true"/>
<Material name="foliageRye_mat" materialId="98" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="98"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<FoliageSubLayer name="rye" densityMapTypeIndex="10" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="98" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;92;93;94;95;95;95;96;97" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.4" 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="8" growthStateTime="2.4e+007"/>

Zu beachten ist dabei:
– die FileId von 92 bis 98
– diese kommt dann auch im Material bei Texture fileID=“98″ vor.
– die MaterialId=“98″, diese kommt im FoliageSubLayer auch vor.
– die distanceMapIds=“38;92;93;94;95;95;95;96;97″ — Diese Zahlen entsprechen den FileID’s der entsprechenden Texturen.

Wobei hier die erste Zahl immer dem ersten Wert des FoliageSubLayer von „wheat“ entsprechen muss, typischerweise ist es eben die 38.
Ist der Wert wie auf der Heimenkirch Map anders, dann muss der auch bei den distanceMapIds geändert werden.

Wie ihr an meinem obigen Beispiel im ersten Beitrag gesehen habt, sind dort die gleichen Einträge so:

<File fileId="9800" filename="foliage/rye_diffuse.png" relativePath="true"/>
<File fileId="9200" filename="textures/foliage/foliage_rye_distance2_diffuse.png" relativePath="true"/>
<File fileId="9300" filename="textures/foliage/foliage_rye_distance3_diffuse.png" relativePath="true"/>
<File fileId="9400" filename="textures/foliage/foliage_rye_distance4_diffuse.png" relativePath="true"/>
<File fileId="9500" filename="textures/foliage/foliage_rye_distance5_diffuse.png" relativePath="true"/>
<File fileId="9600" filename="textures/foliage/foliage_rye_distance6_diffuse.png" relativePath="true"/>
<File fileId="9700" filename="textures/foliage/foliage_rye_distance7_diffuse.png" relativePath="true"/>
<File fileId="9900" filename="textures/foliage/foliage_rye_windrow_diffuse.png" relativePath="true"/>
<Material name="foliageRye_mat" materialId="9800" ambientColor="1 1 1" customShaderId="46">
      <Texture fileId="9800"/>
      <CustomParameter name="alphaBlendStartEnd" value="70 75 0 0"/>
      <CustomParameter name="frequencyAndScale" value="0.3 0.1 0 0"/>
</Material>
<FoliageSubLayer name="rye" densityMapTypeIndex="10" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="9800" cellSize="8" viewDistance="80" objectMask="65520" distanceMapIds="38;9200;9300;9400;9500;9500;9500;9600;9700" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" atlasOffsets="1 0" numBlocksPerUnit="1.4" 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="8" growthStateTime="2.4e+007"/>

Wie ihr seht, habe ich alle Zahlen um zwei Nullen erweitert. Das ist wichtig, damit die ganzen IDs beim einfügen in eine andere Map nicht doppelt belegt sind, sonst hagelt es Fehler im GE.
Nachdem man die Map im GE geladen und gespeichert hat, werden die Zahlen vom GE angepasst.

Also wichtig nochmals, wenn ihr eine weitere Frucht einbauen wollt müsst ihr für folgende Einträge hohe IDs vergeben.

– fileID im Abschnitt Files
– MaterialID im Abschnitt Material
– distanceMapIds im Abschnitt FoliageSubLayer.
– blockShapeID kontrollieren

Bei den Schwaden von Luzerne und Klee – zu erkennen am „windrow“ im Namen ist es immer nur eine distanceMapID, normalerweise die 50, kann man sich aber auch beim FoliageSubLayer für „grass_windrow“ abschauen.

Ich hoffe, ihr könnt mit dem kleinen Tutorial etwas anfangen.

Am Schluss sollte es Ingame dann so ausschauen:

multifrucht-in-eine-map-07


Links:

Desweiteren benötigt man für den Transport der Früchte dann natürlich auch entweder entsprechende Fahrzeuge oder nimmt gleich den MultiFruitMod, ebenfalls von Upsidedown.
LS 15: MultiFruit v 3.0 Scripte Mod für Landwirtschafts Simulator 15 | modhoster.de

Diesem Tutorial werde ich KEINE Texturen beilegen, da ich keine fremden Arbeiten zum DL anbieten will, und die Urheber der Texturen irgendwie sehr schwer aufzufinden sind.
Ich habe die Texturen für Hafer, Roggen und Sonnenblumen aus der „Willkommen in Mecklenburg“ und die Texturen für Klee und Luzerne aus der „Ackendorf 1.3“
LS 15: Willkommen in Mecklenburg v 4.0 Multifruit Maps Mod für Landwirtschafts Simulator 15 | modhoster.de
LS 15: Ackendorf v 1.3 Maps Mod für Landwirtschafts Simulator 15 | modhoster.de


Dateien:

xml Datei (gepackt)

Rating: 4.0/4. Von 1 Abstimmung.
Bitte warten...

Schreibe einen Kommentar