Tutorial: Multifrucht in eine Map einbauen
Hallo,
nach drei Tagen try and error und einiger Tüftelei habe ich es endlich geschafft in eine Map (Bjornholm) zusätzliche Früchte einzubauen. Mangels eines vollständigen Tutorials ist das gar nicht so einfach, wenn man kein eingefleischter Mapper ist.
Deshalb habe ich mich nun hingesetzt und dieses Tutorial geschrieben, dieses ist NUR für den LS15 gültig.
Voraussetzung sind Kenntnisse im Umgang mit dem Giants Editor und Notepad++.
Apropos Tutorial, unter anderem habe ich dies hier von Upsidedown benutzt, Teile davon werden auch benötigt.
LS 15: Tutorial Skripts Materials MultiFruitForMaps v 1.0 Tutorials Mod für Landwirtschafts Simulator 15
| modhoster.de
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
Das Tutorial basiert hinsichtlich der Registrierung der Früchte auf der additionalFruitTypes.lua, welche im oben verlinkten Tutorial von Upsidedown zu finden und auch erklärt ist.
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 auch den zweiten Beitrag zuerst 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:
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>
Alles anzeigen
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"/>
Alles anzeigen
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.
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>
Alles anzeigen
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:
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.
An dieser Stelle nochmals vielen Dank an Upsidedown für das oben genannte Tutorial.