ich habe aktuell Probleme damit eine benutzerdefinierte animals.xml richtig ans Laufen zu bekommen.
Hintergrund ist, dass ich gerne den Mod Enhanced Animal System auf der karte nutzen möchte, nur mit eigenen Werte für die verschiedenen Tiere.
Damit das richtig funktioniert bedarf es auch einer eigenen Datei für die Tierställe. Bsp. Kühe: animalsHusbandryCow.xml, usw.
Diese kann man dann in der animals.xml angeben, z.B. so:
Code: Select all
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<animals doNotOverrideAnimals="true" > <!-- doNotOverrideAnimals ist vom EAS Mod -->
<animal type="COW" statsBreeding="breedCowsCount" clusterClass="AnimalCluster" >
<configFilename>maps/animals/cow/husbandryAnimalsCow.xml</configFilename>
Code: Select all
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<animalHusbandry>
<animals milkRobotSoundGroup="milkRobot" milkRobotDoorSoundGroup="milkRobotDoor">
<!-- Calf -->
<animal radius="0.3" handleThreats="false" threatAwarenessRadius="5" slowingDistance="0.5" allowMilkingPlace="false" headOffset="0.8" canEat="true" canDrink="true" canSleep="true" canEatDuringNight="true" canBeCleaned="true" interessDistance="10.0">
<statesTimers idleMin="6666" idleMax="19998" sleepMin="120000" sleepMax="180000" restMin="12000" restMax="26666" grazeMin="26666" grazeMax="39999" chewMin="9000" chewMax="18000" eatMin="66665" eatMax="93331" wanderMin="5000" wanderMax="10000" />
<assets filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/calf/calf.i3d" filenamePosed="../FS22_EnhancedAnimalSystem/animals/domesticated/cow/calf/calf_posed.i3d" animation="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/calf/animations/calfAdultAnimations.i3d" skeletonIndex="0" meshIndex="1" proxyIndex="2" shaderIndex="1|0" headIndex="0>0|1|0|0|0|0" >
<texture multi="true" tileUIndex="0" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BLACK/WHITE -->
<texture multi="true" tileUIndex="0" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BROWN/WHITE -->
<texture multi="true" tileUIndex="1" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Angus BLACK -->
<texture multi="true" tileUIndex="1" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Limousin BROWN-->
<texture multi="true" tileUIndex="1" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
<texture multi="true" tileUIndex="0" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
</assets>
<locomotion filename="calfLocomotion.xml"/>
<audio eatSoundGroup="eat" yellSoundGroup="yellCalf" yellMinInterval="20000" yellMaxInterval="40000" yellTimerCrowdScale="0.2" />
</animal>
<!-- Heifer -->
<animal radius="1.2" handleThreats="false" threatAwarenessRadius="5" slowingDistance="0.5" allowMilkingPlace="true" headOffset="0.8" canEat="true" canDrink="true" canSleep="true" canEatDuringNight="true" canBeCleaned="true" interessDistance="10.0">
<statesTimers idleMin="6666" idleMax="19998" sleepMin="120000" sleepMax="180000" restMin="12000" restMax="26666" grazeMin="26666" grazeMax="39999" chewMin="9000" chewMax="18000" eatMin="66665" eatMax="93331" wanderMin="5000" wanderMax="10000" />
<assets filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/heifer/heifer.i3d" filenamePosed="../FS22_EnhancedAnimalSystem/animals/domesticated/cow/heifer/heifer_posed.i3d" animation="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/heifer/animations/heiferAdultAnimations.i3d" skeletonIndex="0" meshIndex="1" proxyIndex="2" shaderIndex="1|0" headIndex="0>0|1|0|0|0|0" >
<texture multi="true" tileUIndex="0" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BLACK/WHITE -->
<texture multi="true" tileUIndex="0" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BROWN/WHITE -->
<texture multi="true" tileUIndex="1" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Angus BLACK -->
<texture multi="true" tileUIndex="1" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Limousin BROWN-->
<texture multi="true" tileUIndex="1" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
<texture multi="true" tileUIndex="0" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
</assets>
<locomotion filename="heiferLocomotion.xml"/>
<audio eatSoundGroup="eat" yellSoundGroup="yell" yellMinInterval="8000" yellMaxInterval="20000" yellTimerCrowdScale="0.2" />
</animal>
<!-- Cow -->
<animal radius="1.8" handleThreats="false" threatAwarenessRadius="5" slowingDistance="0.5" allowMilkingPlace="true" headOffset="0.8" canEat="true" canDrink="true" canSleep="true" canEatDuringNight="true" canBeCleaned="true" interessDistance="10.0">
<statesTimers idleMin="6666" idleMax="19998" sleepMin="120000" sleepMax="180000" restMin="12000" restMax="26666" grazeMin="26666" grazeMax="39999" chewMin="9000" chewMax="18000" eatMin="66665" eatMax="93331" wanderMin="5000" wanderMax="10000" />
<assets filename="$dataS/character/animals/domesticated/cow/holstein/cattleHolstein.i3d" filenamePosed="$dataS/character/animals/domesticated/cow/holstein/cattleHolstein_posed.i3d" animation="$dataS/character/animals/domesticated/cow/animations/adult/cattleAdultAnimations.i3d" skeletonIndex="0" meshIndex="1" proxyIndex="2" shaderIndex="1|0|0" headIndex="0>0|0|0|0|0|0|0|0" >
<texture multi="true" tileUIndex="0" tileVIndex="1" numTilesU="2" numTilesV="2" mirrorV="false" /> <!-- Holstein BLACK/WHITE -->
<texture multi="true" tileUIndex="1" tileVIndex="1" numTilesU="2" numTilesV="2" mirrorV="false" /> <!-- Holstein BLACK/WHITE -->
<texture multi="true" tileUIndex="0" tileVIndex="0" numTilesU="2" numTilesV="2" mirrorV="false" /> <!-- Swiss -->
<texture multi="true" tileUIndex="1" tileVIndex="0" numTilesU="2" numTilesV="2" mirrorV="false" /> <!-- Swiss -->
</assets>
<locomotion filename="$dataS/character/animals/domesticated/cow/locomotion.xml"/>
<audio eatSoundGroup="eat" yellSoundGroup="yell" yellMinInterval="8000" yellMaxInterval="20000" yellTimerCrowdScale="0.2" />
</animal>
<!-- Bull -->
<animal radius="1.2" handleThreats="false" threatAwarenessRadius="5" slowingDistance="0.5" allowMilkingPlace="true" headOffset="0.8" canEat="true" canDrink="true" canSleep="true" canEatDuringNight="true" canBeCleaned="true" interessDistance="10.0">
<statesTimers idleMin="6666" idleMax="19998" sleepMin="120000" sleepMax="180000" restMin="12000" restMax="26666" grazeMin="26666" grazeMax="39999" chewMin="9000" chewMax="18000" eatMin="66665" eatMax="93331" wanderMin="5000" wanderMax="10000" />
<assets filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull/bull.i3d" filenamePosed="../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull/bull_posed.i3d" animation="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull/animations/bullAdultAnimations.i3d" skeletonIndex="0" meshIndex="1" proxyIndex="2" shaderIndex="1|0" headIndex="0>0|1|0|0|0|0" >
<texture multi="true" tileUIndex="0" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BLACK/WHITE -->
<texture multi="true" tileUIndex="0" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Holstein BROWN/WHITE -->
<texture multi="true" tileUIndex="1" tileVIndex="0" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Angus BLACK -->
<texture multi="true" tileUIndex="1" tileVIndex="1" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Limousin BROWN-->
<texture multi="true" tileUIndex="1" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
<texture multi="true" tileUIndex="0" tileVIndex="2" numTilesU="2" numTilesV="4" mirrorV="false" /> <!-- Swiss -->
</assets>
<locomotion filename="bullLocomotion.xml"/>
<audio eatSoundGroup="eat" yellSoundGroup="yellBull" yellMinInterval="8000" yellMaxInterval="20000" yellTimerCrowdScale="0.2" />
</animal>
<!-- Cow -->
<animal radius="1.8" handleThreats="false" threatAwarenessRadius="5" slowingDistance="0.5" allowMilkingPlace="true" headOffset="0.8" canEat="true" canDrink="true" canSleep="true" canEatDuringNight="true" canBeCleaned="true" interessDistance="10.0">
<statesTimers idleMin="6666" idleMax="19998" sleepMin="120000" sleepMax="180000" restMin="12000" restMax="26666" grazeMin="26666" grazeMax="39999" chewMin="9000" chewMax="18000" eatMin="66665" eatMax="93331" wanderMin="5000" wanderMax="10000" />
<assets filename="$dataS/character/animals/domesticated/cow/angus/cattleAngus.i3d" filenamePosed="$dataS/character/animals/domesticated/cow/angus/cattleAngus_posed.i3d" animation="$dataS/character/animals/domesticated/cow/animations/adult/cattleAdultAnimations.i3d" skeletonIndex="0" meshIndex="1" proxyIndex="2" shaderIndex="1|0|0" headIndex="0>0|0|0|0|0|0|0|0" >
<texture multi="true" tileUIndex="0" tileVIndex="0" numTilesU="2" numTilesV="1" mirrorV="false" /> <!-- Angus BLACK -->
<texture multi="true" tileUIndex="1" tileVIndex="0" numTilesU="2" numTilesV="1" mirrorV="false" /> <!-- Limousin BROWN-->
</assets>
<locomotion filename="$dataS/character/animals/domesticated/cow/locomotion.xml"/>
<audio eatSoundGroup="eat" yellSoundGroup="yell" yellMinInterval="8000" yellMaxInterval="20000" yellTimerCrowdScale="0.2" />
</animal>
</animals>
<sound>
<soundGroup name="walk" volume="1" indoorVolume="0.1" range="12" innerRange="0.4">
<sample filename="$data/sounds/animals/pig/pig_step_grass_1.wav"/>
<sample filename="$data/sounds/animals/pig/pig_step_grass_2.wav"/>
<sample filename="$data/sounds/animals/pig/pig_step_grass_3.wav"/>
<sample filename="$data/sounds/animals/pig/pig_step_grass_4.wav"/>
<sample filename="$data/sounds/animals/pig/pig_step_grass_5.wav"/>
<sample filename="$data/sounds/animals/pig/pig_step_grass_6.wav"/>
</soundGroup>
<soundGroup name="eat" volume="0.9" indoorVolume="0.03" range="20" innerRange="1">
<sample filename="$data/sounds/animals/cow/cow_eat_loop.wav" />
</soundGroup>
<soundGroup name="milkRobot" volume="0.8" indoorVolume="0.1" range="40" innerRange="8">
<sample filename="$data/sounds/tools/milkrobot/milkrobot_work_loop.wav" />
</soundGroup>
<soundGroup name="milkRobotDoor" volume="0.8" indoorVolume="0.1" range="40" innerRange="8">
<sample filename="$data/sounds/tools/milkrobot/milkrobot_door_01.wav" />
</soundGroup>
<soundGroup name="yell" volume="2.0" indoorVolume="0.3" volumeRandMin="-0.1" volumeRandMax="0.1" range="50" innerRange="1" pitch="1" pitchRandMin="-0.1" pitchRandMax="0.1">
<sample filename="$data/sounds/animals/cow/cow_01.wav" />
<sample filename="$data/sounds/animals/cow/cow_02.wav" />
<sample filename="$data/sounds/animals/cow/cow_03.wav" />
<sample filename="$data/sounds/animals/cow/cow_04.wav" />
<sample filename="$data/sounds/animals/cow/cow_05.wav" />
<sample filename="$data/sounds/animals/cow/cow_06.wav" />
<sample filename="$data/sounds/animals/cow/cow_07.wav" />
<sample filename="$data/sounds/animals/cow/cow_08.wav" />
<sample filename="$data/sounds/animals/cow/cow_09.wav" />
<sample filename="$data/sounds/animals/cow/cow_10.wav" />
<sample filename="$data/sounds/animals/cow/cow_11.wav" />
<sample filename="$data/sounds/animals/cow/cow_12.wav" />
<sample filename="$data/sounds/animals/cow/cow_13.wav" />
<sample filename="$data/sounds/animals/cow/cow_14.wav" />
</soundGroup>
<soundGroup name="yellCalf" volume="2.0" indoorVolume="0.2" range="20" innerRange="1">
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/calfMoo1.wav" />
</soundGroup>
<soundGroup name="yellBull" volume="2.0" indoorVolume="0.3" volumeRandMin="-0.1" volumeRandMax="0.1" range="50" innerRange="1" pitch="1" pitchRandMin="-0.1" pitchRandMax="0.1">
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_01.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_02.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_03.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_04.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_05.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_06.wav" />
<sample filename="../../../../FS22_EnhancedAnimalSystem/animals/domesticated/cow/bull_07.wav" />
</soundGroup>
</sound>
</animalHusbandry>
Code: Select all
2023-08-15 10:32 Error: Failed to open xml file 'maps/animals/cow/husbandryAnimalsCow.xml'.
2023-08-15 10:32 Error: Can't load animal husbandry XML file 'maps/animals/cow/husbandryAnimalsCow.xml'.
2023-08-15 10:32 Error: Could not create animal husbandry!
2023-08-15 10:32 E:/Data/FS22_ModDir/FS22_Fed_Mods_Pack/models/cowBarnBigSNK.i3d (95.48 ms)
2023-08-15 10:32 E:/Data/FS22_ModDir/FS22_Fed_Mods_Pack/models/navi/navigationMesh.i3d (0.14 ms)
2023-08-15 10:32 Error: Failed to open xml file 'E:/Data/FS22_ModDir/FS22_Fed_Mods_Pack/maps/animals/cow/husbandryAnimalsCow.xml'.
2023-08-15 10:32 Error: Can't load animal husbandry XML file 'E:/Data/FS22_ModDir/FS22_Fed_Mods_Pack/maps/animals/cow/husbandryAnimalsCow.xml'.
2023-08-15 10:32 Error: Could not create animal husbandry!
Die Möglichkeit einer Variable funktioniert hier auch nicht:
Code: Select all
<configFilename>$moddir$FS22_MY_MAP/maps/animals/cow/husbandryAnimalsCow.xml</configFilename>
Zusätzliche habe ich versucht über einen weiteren externen Mod - Extended Filenames - diese Datei geladen zu bekommen.
Jetzt wird es allerdings interessant:
Ich habe damit es geschafft, dass die Tiere richtig geladen werden mittels:
Code: Select all
<configFilename>$FS22_MY_MAP$maps/animals/cow/husbandryAnimalsCow.xml</configFilename>
Da konnten die assets aus der husbandryAnimalsCow.xml nicht geladen werden..
Kann es sein, dass es hier eventuell einen Bug gibt? Wie das Spiel den Pfad von <configFilename/> ausliest scheint anders zu sein wie an anderen Stellen, wo man das über ein Attribut angeben kann: <tag fileName="path/to/file.xml" />