Einbau von Multifruit und neuen fillPlane-Texturen in Maps
Ich bin zwar nicht als großer Tutorialverfasser bekannt, aber da der Einbau von neuen Fruchtsorten und Texturen für Fillplanes anscheinend nicht so offensichtlich aus der MIG-Celle V0.94 abzuschreiben ist wie ich gehofft hatte hier eine kurze(!) Zusammenfassung für erfahrene(!) Mapper. Außerdem sind die benötigten Files beigelegt.
Im Klartext: Wer nicht weiß, wie man im LS13 MultiFruit eingebaut hat, für den ist dieses Tutorial nicht gedacht. Dieses Tut behandelt nur die Punkte, die im LS15 zusätzlich zu beachten sind.
Fruchteinbau am Beispiel Hafer (oat
Der Einbau des Foliage-Layers erfolgt im Prinzip wie im LS13. Es gibt ein paar kleine Unterschiede/Neuerungen, deswegen empfehle ich die Übernahme einer Standardfrucht aus der sampleModMap.
Das Registrieren der neuen Fruchtsorte erfolgt zwar ähnlich wie im LS13, allerdings sind neue Parameter hinzugekommen. Die alten Skripte aus LS13 funktionieren hierdurch nicht richtig! Ja, auf den ersten Blick sieht es so aus als würden sie es tun. Nein, glücklich wird man hierdurch nicht!
Der MIG-Celle V0.94 und diesem Tut liegt deswegen ein komplett neues Skript zur Fruchtsorten-Registrierung bei. Die
additionalFruitTypes.lua - Einbau
Dieses Skript wird aus diversen Gründen etwas unkonventionell eingebunden. In der .lua eurer Map – bei den meisten wird das die SampleModMap.lua sein – fügt ihr in der :new() function vor der Zeile, die mit local self = … anfängt folgendes ein:
[lua]local additionalFruitTypesPath = Utils.getFilename('additionalFruitTypes.lua', baseDirectory);
print("loading AdditionalFruitTypes")
if fileExists(additionalFruitTypesPath) then
source(additionalFruitTypesPath);
AdditionalFruitTypes:run(baseDirectory);
else
print("AdditionalFruitTypes.lua not found!")
end;[/lua]
additionalFruitTypes.lua - Konfiguration
Die Konfiguration der neuen Fruchtsorten findet in der moddesc.xml statt. Hier fügt ihr ein Folgendes hinzu und passt die Parameter nach euren Vorstellungen an:
[xml]<AdditionalFruitTypes hudDirectory="fruitHuds/">
<fruitType name="oat" needsSeeding="true" allowsSeeding="true" useSeedingWidth="false" directionSnapAngle="0" minHarvestingGrowthState="4" maxHarvestingGrowthState="6" cutState="8" allowsPartialGrowthState="false" pricePerLiter="0.31" literPerSqm=".466" massPerLiter="0.00025" seedUsagePerSqm="0.05" partOfEconomy="true" fruitMapColor="242, 255, 158, 1" hasWindrow="true" windrowPricePerLiter="0.04" windrowLiterPerSqm="5" windrowMassPerLiter="0.00003" forageWagonConversion="wheat" substituteBales="wheat"/>
</AdditionalFruitTypes>[/xml]
Wie ihr seht, das sind ein paar Parameter mehr als ihr gewohnt seid. Das liegt an zwei Dingen: Zum einen hat Giants eine handvoll neuer Parameter (massPerLiter und mehr HUD-Grafiken) hinzugefügt, was auch die alten fruit-skripte spinnen lässt. Zum anderen erledigt die additionalFruitTypes.lua gleich auch das Registrieren der Schwade, das korrekte Eintragen in die Ladewagen und in die (im LS15 neue) Verwaltung für die Ballenmodelle. Ein echtes All-in-One Paket also.
additionalFruitTypes.lua – HUD-Grafiken
Mit der Eingabe von hudDirectory="fruitHuds/" gebt ihr das Verzeichnis an, in dem die HUD-Grafiken für die fillType-Symbole liegen. Diese werden in zwei Versionen benötigt: 256x256 Pixel mit dem Dateinamen hud_fruit_oat.dds und 64x64 Pixel hud_fruit_oat_small.dds. Falls windrows verbaut sind hier nochmal das Gleiche in Grün: hud_fruit_oat_windrow.dds und hud_fruit_oat_windrow_small.dds. Für eure Fruchtsorten müsste ihr natürlich das „oat“ durch die entsprechende fruit ersetzen.
Texturen im Material-Holder
Das große Geheimnis, das sich durch den tollen Support von Giants fast drei Monate nach Release immer noch nicht zu den meisten Mappern rumgesprochen hat: Texturen für fillPlanes und particleAnimations werden weder in den Fahrzeugen gespeichert, noch bei der Frucht oder Filltyperegistrierung irgendwo abgelegt. Sie werden in der Map als onCreate-Objekte mit Fillable.onCreateFillMaterial() registriert.
Das klingt jetzt erstmal fürchterlich kompliziert, ist praktisch aber ganz einfach. Diesem Tutorial sind zwei Materialholder für fillPlanes und particleAnimations beigelegt. Die könnt ihr als Vorlage nehmen, passt die Texturen nach Belieben an und ändert nur noch die UserAttributes passend zum fillType.
Die angepassten materialHolder importiert ihr dann nur noch in eure Map und legt sie irgendwo ab, wo sie euch nicht stören. Den Rest erledigt der onCreate-Callback.
Damit ist dann auch Schluss mit weißen fillPlanes oder der default-Weizen-Tex egal wofür.
-
Version
-
Claas_Evolution -
18. Januar 2015 um 08:58 -
620 Downloads
V 1.0: Modhoster.de
-
additionalFruitTypes.lua: JakobT+upsidedown
Materialholder: Giants/Eribus/upsidedown
Foliages: Eribus