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.