Community Forum

Mower conversion

Forum Overview >> Farming Simulator 22

CategoryFarming Simulator 22
Created26.01.2024 12:04


illgib81 26.01.2024 12:04
Let's try again for the third time.

I'm trying to convert a mower into a mulcher, but no matter what, i always get the No specialization error.
I'm messing with the Lizard Vintage Mower, i changed all the mower references into mulcher, and added the required sections, but seems the game is unable to read, find or register the mulching work area.
I tried with several mowers and mulchers, all give the same error.
I can revert into any other implement whitout errors, but still mulcher seems always missing something.
Are somehow locked? How modders create them?

The vehicle xml, i tried to left the mower spec in to test, and it works, it mow grass but doesn't find the mulching spec.

illgib81 26.01.2024 12:05
ModDesc

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<modDesc descVersion="77">
<author>SleutjesModding, Illgib</author>
<version>1.0.0.0</version>

<title>
<en>Lizard Vintage Mulcher</en>
</title>

<description>
<en>
<![CDATA[Vintage style antique small lawn mower. Its design marked times and its practicality too, an excellent acquisition for your collection and for your work.

Price: 650 $
Speed: 10 km/h
Power: 23 hp
Fuel capacity: 5 liters]]>
</en>
</description>

<iconFilename>icon_vintageMower.png</iconFilename>
<multiplayer supported="true" />

<storeItems>
<storeItem xmlFilename="vintageMower.xml"/>
</storeItems>

<l10n>
<text name="color_white"><br>Branco Vintage</br><en>Vintage White</en><de>Vintage-Weiß</de></text>
<text name="color_red"><br>Vermelho Vintage</br><en>Vintage Red</en><de>Vintage-Rot</de></text>
<text name="color_yellow"><br>Amarelo</br><en>Yellow</en><de>Gelb</de></text>
<text name="color_orange"><br>Laranja Vintage</br><en>Vintage Orange</en><de>Vintage-Orange</de></text>
<text name="color_blue"><br>Azul Vintage</br><en>Vintage Blue</en><de>Vintage-Blau</de></text>
<text name="color_brown"><br>Marrom Vintage</br><en>Vintage brown</en><de>Vintage-Braun</de></text>
</l10n>

<functions>
<function>$l10n_function_mower</function>
<function>$l10n_function_mulcher</function>
<function>$l10n_function_vineOliveTool</function>
</functions>

<specializations>
<specialization name="mulcher" className="Vehicle" filename="$dataS/scripts/vehicles/Vehicle.lua"/>
</specializations>

</modDesc>


illgib81 26.01.2024 12:05
Vehicle xml

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="selfPropelledMower" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
<annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>

<storeData>
<name>Vintage Mulcher</name>
<specs>
<power>23</power>
<maxSpeed>10</maxSpeed>
<workingWidth>1</workingWidth>
</specs>
<storePacks>
<storePack>STARTER_GRASS</storePack>
</storePacks>
<image>store_vintageMower.png</image>
<price>650</price>
<lifetime>600</lifetime>
<rotation>0</rotation>
<brand>LIZARD</brand>
<category>mowerVehicles</category>
<vertexBufferMemoryUsage>340992</vertexBufferMemoryUsage>
<indexBufferMemoryUsage>70656</indexBufferMemoryUsage>
<textureMemoryUsage>983040</textureMemoryUsage>
<audioMemoryUsage>0</audioMemoryUsage>
<instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
<instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
</storeData>

<base>
<typeDesc>$l10n_typeDesc_mulcher</typeDesc>
<filename>vintageMower.i3d</filename>
<supportsPickUp>true</supportsPickUp>
<sounds filename="sounds/vintageMower_sounds.xml" volumeFactor="1.12"/>
<size width="0.85" length="1.5" height="2"/>
<components>
<component centerOfMass="0 0.1 -0.2" solverIterationCount="10" mass="110" />
</components>
<schemaOverlay attacherJointPosition="0 0" name="VEHICLE" />
<mapHotspot type="TRACTOR" />
</base>

<wheels>
<wheelConfigurations>
<wheelConfiguration name="$l10n_configuration_valueDefault" price="0" brand="TRELLEBORG" saveId="TRELLEBORG_DEFAULT">
<wheels autoRotateBackSpeed="2.2">
<wheel filename="wheels/wheels.xml" isLeft="true" hasTireTracks="true" hasParticles="true" >
<physics rotSpeed="0" restLoad="1.8" repr="wheelBackLeft" forcePointRatio="0.5" initialCompression="5" suspTravel="0.17" spring="80" damper="40" transRatio="1" frictionScale="2.5"/>
</wheel>
<wheel filename="wheels/wheels.xml" isLeft="false" hasTireTracks="true" hasParticles="true">
<physics rotSpeed="0" restLoad="1.8" repr="wheelBackRight" forcePointRatio="0.5" initialCompression="5" suspTravel="0.17" spring="80" damper="40" transRatio="1" frictionScale="2.5"/>
</wheel>
<wheel filename="wheels/wheels.xml" isLeft="true" hasTireTracks="true" hasParticles="true">
<physics rotSpeed="2" restLoad="2.1" repr="supportWheel" driveNode="wheelFront" forcePointRatio="0.5" initialCompression="5" suspTravel="0.1" spring="48" damper="50" transRatio="1" frictionScale="1.5"/>
</wheel>
</wheels>
</wheelConfiguration>
</wheelConfigurations>

<ackermannSteeringConfigurations>
<ackermannSteering rotSpeed="25" rotMax="25" rotCenterWheel1="1" rotCenterWheel2="2" />
</ackermannSteeringConfigurations>
</wheels>

<powerConsumer ptoRpm="350" neededMaxPtoPower="0"/>

<speedRotatingParts>
<speedRotatingPart shaderNode="chain" wheelIndex="2" wheelScale="0.1" activationSpeed="0" useRotation="false" scrollScale="0 -10.0" foldMinLimit="0" foldMaxLimit="1.0" />
<speedRotatingPart node="pulleyRot" wheelIndex="2"/>
<speedRotatingPart node="axisRot" wheelIndex="2"/>
</speedRotatingParts>

<enterable isTabbable="true" >
<enterReferenceNode node="vintageMower_main_component" />
<exitPoint node="exitPoint" />
<cameras count="2">
<camera node="outdoorCamera1" rotatable="true" rotateNode="outdoorCameraTarget" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="2.4" transMax="15" translation="0 0 3.5" rotation="-24 180 0" >
<raycastNode node="cameraRaycastNode1"/>
<raycastNode node="cameraRaycastNode2"/>
</camera>
<camera node="indoorCamera1" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="true" positionSmoothingParameter="0" useOutdoorSounds="true" shadowFocusBox="shadowFocusBox"/>
</cameras>
<characterNode node="player_skin" cameraMinDistance="1.5" spineRotation="-90 0 90">
<target ikChain="rightFoot" targetNode="player_rightFoot"/>
<target ikChain="leftFoot" targetNode="player_leftFoot"/>
<target ikChain="rightArm" targetNode="rightArm" />
<target ikChain="leftArm" targetNode="leftArm" />
</characterNode>
</enterable>

<motorized>
<consumerConfigurations>
<consumerConfiguration>
<consumer fillUnitIndex="1" usage="3.6" fillType="diesel" /> <!-- usage is per hour at max load and max rpm -->
</consumerConfiguration>
</consumerConfigurations>

<differentialConfigurations>
<differentialConfiguration>
<differentials>
<differential torqueRatio="0.5" maxSpeedRatio="1.8" wheelIndex1="2" wheelIndex2="3" /> <!-- back left-right -->
</differentials>
</differentialConfiguration>
</differentialConfigurations>

<motorConfigurations>
<motorConfiguration name="Vintage Mower" hp="23" price="0">
<motor torqueScale="0.1" minRpm="850" maxRpm="2200" maxForwardSpeed="10" maxBackwardSpeed="10" brakeForce="0.05" lowBrakeForceScale="0.15" dampingRateScale="0.2">
<torque normRpm="0.45" torque="0.9"/>
<torque normRpm="0.5" torque="0.97"/>
<torque normRpm="0.59" torque="1"/>
<torque normRpm="0.72" torque="1"/>
<torque normRpm="0.86" torque="0.88"/>
<torque normRpm="1" torque="0.72"/>
</motor>
<transmission autoGearChangeTime="1" gearChangeTime="0.05" name="$l10n_info_transmission_manual" axleRatio="1" startGearThreshold="0.3">
<directionChange useGear="true"/>
<forwardGear maxSpeed="10.0" />
<backwardGear maxSpeed="10.0" name="R"/>
</transmission>
</motorConfiguration>
</motorConfigurations>

<gearLevers>
<gearLever node="leverDirection" centerAxis="3" changeTime="0.3" handsOnDelay="0.2">
<state gear="-1" yRot="25"/>
<state gear="0" yRot="0"/>
<state gear="1" yRot="-25"/>
</gearLever>
</gearLevers>

<exhaustEffects>
<exhaustEffect node="exhaustParticle" filename="$data/effects/exhaust/exhaust.i3d" minRpmColor="0.9 0.9 0.9 0.1" maxRpmColor="0.9 0.9 0.9 0.4" minRpmScale="0.001" maxRpmScale="0.15"/>
</exhaustEffects>

<motorStartDuration>1500</motorStartDuration>

</motorized>

<drivable>
<steeringWheel node="steering" indoorRotation="20" outdoorRotation="20" />
</drivable>

<groundReferenceNodes>
<groundReferenceNode node="0>0|10|0" threshold="0.15" onlyActiveWhenLowered="false"/>
</groundReferenceNodes>

<workAreas>
<workArea type="mulcher" functionName="processMulcherArea" disableBackwards="false">
<area startNode="WorkAreaStart" widthNode="WorkAreaWidth" heightNode="WorkAreaHeight"/>
<groundReferenceNode index="1"/>
</workArea>
<workArea type="mower" functionName="processMowerArea" disableBackwards="false">
<area startNode="WorkAreaStart" widthNode="WorkAreaWidth" heightNode="WorkAreaHeight"/>
<groundReferenceNode index="1"/>
<mower dropWindrow="false" dropAreaIndex="2"/>
</workArea>
</workAreas>

<mulcher>
<effects>
<effect workAreaIndex="1">
<effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="mowerEffectNode">
<motionPathEffect textureFilename="$data/vehicles/tmcCancela/tpn140/mulcherEffectArray.dds" numRows="16" rowLength="8" minFade="0.15" shapeScale="0.2" maxShapeScale="1.2"/>
</effectNode>
<effectNode effectNode="smokeEmitter" effectClass="ParticleEffect" particleType="smoke" materialType="smokeParticle" worldSpace="false" emitCountScale="0.5"/>
</effect>
</effects>
<sounds>
<work template="crushingStubbles" linkNode="vintageMower_main_component" />
</sounds>
</mulcher>

<mower fruitTypeConverter="MOWER">
<animationNodes>
<animationNode node="knife" rotSpeed="1500" rotAxis="1" turnOnFadeTime="1" turnOffFadeTime="2"/>
</animationNodes>
</mower>

<suspensions>
<suspension useCharacterTorso="true" weight="90" minRotation="0 -5 -5" maxRotation="0 5 5" suspensionParametersY="7 1" suspensionParametersZ="7 1" />
</suspensions>

<fillUnit>
<fillUnitConfigurations>
<fillUnitConfiguration>
<fillUnits>
<fillUnit unitTextOverride="$l10n_unit_literShort" showOnHud="false" showInShop="false" fillTypes="diesel" capacity="5" >
</fillUnit>
</fillUnits>
</fillUnitConfiguration>
</fillUnitConfigurations>
</fillUnit>

<dashboard>
<groups>
<group name="MOTOR_STARTING" isMotorStarting="true"/>
<group name="MOTOR_ACTIVE" isMotorStarting="true" isMotorRunning="true"/>
</groups>
</dashboard>

<ai>
<agent width="1" length="1.5" height="2" lengthOffset="0.5" frontOffset="-0.01" />
<areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack"/>
<sizeMarkers leftNode="aiSizeMarkerLeft" rightNode="aiSizeMarkerRight" backNode="aiSizeMarkerBack"/>
<collisionTrigger node="aiCollisionNode" width="2.6" length="2.5" height="2.4"/>
</ai>

<tensionBeltObject>
<meshNodes>
<meshNode node="tensionBeltNode01"/>
<meshNode node="tensionBeltNode02"/>
<meshNode node="tensionBeltNode03"/>
<meshNode node="tensionBeltNode04"/>
</meshNodes>
</tensionBeltObject>

<foliageBending>
<bendingNode minX="-0.5" maxX="0.5" minZ="-0.8" maxZ="0.7" yOffset="0.05"/>
</foliageBending>

<wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
<washable dirtDuration="90" washDuration="1" workMultiplier="4" fieldMultiplier="2"/>

<baseMaterial>
<material name="vintageMower_mat" baseNode="vintageMower_vis">
<shaderParameter name="colorMat0" value="0 0.6 0.8 0"/>
</material>
</baseMaterial>

<baseMaterialConfigurations price="125" useDefaultColors="true" defaultColorIndex="0">
<baseMaterialConfiguration name="$l10n_color_blue" color="0 0.6 0.8" material="0" />

<baseMaterialConfiguration name="$l10n_color_red" color="0.6 0.02 0.02" material="0" />

<baseMaterialConfiguration name="$l10n_color_orange" color="0.6 0.1 0" material="0" />

<baseMaterialConfiguration name="$l10n_color_yellow" color="0.6 0.5 0" material="0" />

<baseMaterialConfiguration name="$l10n_color_brown" color="0.2 0.1 0.05" material="0" />
<material name="vintageMower_mat" shaderParameter="colorMat0"/>
</baseMaterialConfigurations>

<rimColorConfigurations price="50" useDefaultColors="true" defaultColorIndex="0">
<rimColorConfiguration name="$l10n_color_white" color="0.8 0.8 0.8" material="0" />

<rimColorConfiguration name="$l10n_color_blue" color="0 0.6 0.8" material="0" />

<rimColorConfiguration name="$l10n_color_red" color="0.6 0.02 0.02" material="0" />

<rimColorConfiguration name="$l10n_color_orange" color="0.6 0.1 0" material="0" />

<rimColorConfiguration name="$l10n_color_yellow" color="0.6 0.5 0" material="0" />

<rimColorConfiguration name="$l10n_color_brown" color="0.2 0.1 0.05" material="0" />
</rimColorConfigurations>

<i3dMappings>
<i3dMapping id="vintageMower_main_component" node="0>" />
<i3dMapping id="vintageMower_vis" node="0>0" />
<i3dMapping id="wheels" node="0>0|0" />
<i3dMapping id="supportWheel" node="0>0|0|0" />
<i3dMapping id="wheelFront" node="0>0|0|0|0" />
<i3dMapping id="wheelBackLeft" node="0>0|0|1" />
<i3dMapping id="wheelBackRight" node="0>0|0|2" />
<i3dMapping id="axisRot" node="0>0|0|3" />
<i3dMapping id="cameras" node="0>0|1" />
<i3dMapping id="outdoorCameraTarget" node="0>0|1|0" />
<i3dMapping id="outdoorCamera1" node="0>0|1|0|0" />
<i3dMapping id="indoorCamera1" node="0>0|1|1" />
<i3dMapping id="cameraRaycastNode1" node="0>0|1|2" />
<i3dMapping id="cameraRaycastNode2" node="0>0|1|3" />
<i3dMapping id="cameraRaycastNode3" node="0>0|1|4" />
<i3dMapping id="shadowFocusBox" node="0>0|1|5" />
<i3dMapping id="exitPoint" node="0>0|2" />
<i3dMapping id="exhaustParticle" node="0>0|3" />
<i3dMapping id="steeringRot" node="0>0|4" />
<i3dMapping id="steering" node="0>0|4|0" />
<i3dMapping id="rightArm" node="0>0|4|0|0" />
<i3dMapping id="playerRoot" node="0>0|5" />
<i3dMapping id="player_skin" node="0>0|5|0" />
<i3dMapping id="player_rightFoot" node="0>0|5|1" />
<i3dMapping id="player_leftFoot" node="0>0|5|2" />
<i3dMapping id="leftArm" node="0>0|5|3" />
<i3dMapping id="player_skin_lever" node="0>0|5|4" />
<i3dMapping id="movingParts" node="0>0|6" />
<i3dMapping id="mowerMoving" node="0>0|6|0" />
<i3dMapping id="workAreas" node="0>0|6|0|0" />
<i3dMapping id="WorkAreaStart" node="0>0|6|0|0|0" />
<i3dMapping id="WorkAreaWidth" node="0>0|6|0|0|1" />
<i3dMapping id="WorkAreaHeight" node="0>0|6|0|0|2" />
<i3dMapping id="DropAreaStart" node="0>0|6|0|0|3" />
<i3dMapping id="DropAreaWidth" node="0>0|6|0|0|4" />
<i3dMapping id="DropAreaHeight" node="0>0|6|0|0|5" />
<i3dMapping id="moving" node="0>0|6|0|1" />
<i3dMapping id="mowerKnife" node="0>0|6|0|1|0" />
<i3dMapping id="knife" node="0>0|6|0|1|0|0" />
<i3dMapping id="effects" node="0>0|6|0|2" />
<i3dMapping id="mowerEffectNode" node="0>0|6|0|2|0" />
<i3dMapping id="smokeEmitter" node="0>0|6|0|2|1" />
<i3dMapping id="leverDirection" node="0>0|6|1" />
<i3dMapping id="leftArmLever" node="0>0|6|1|0" />
<i3dMapping id="pulleyRot" node="0>0|6|2" />
<i3dMapping id="chain" node="0>0|6|3" />
<i3dMapping id="collisions" node="0>0|7" />
<i3dMapping id="visuals" node="0>0|8" />
<i3dMapping id="decals" node="0>0|8|0" />
<i3dMapping id="aiCollisionNode" node="0>0|9" />
<i3dMapping id="groundReferenceNodeRef" node="0>0|10" />
<i3dMapping id="groundReferenceNode" node="0>0|10|0" />
<i3dMapping id="groundReferenceNode_mulcher" node="0>0|10|1" />
<i3dMapping id="aiMarker" node="0>0|11" />
<i3dMapping id="aiMarkerLeft" node="0>0|11|0" />
<i3dMapping id="aiMarkerRight" node="0>0|11|1" />
<i3dMapping id="aiMarkerBack" node="0>0|11|2" />
<i3dMapping id="aiSizeMarkerLeft" node="0>0|11|3" />
<i3dMapping id="aiSizeMarkerRight" node="0>0|11|4" />
<i3dMapping id="aiSizeMarkerBack" node="0>0|11|5" />
<i3dMapping id="tensionBelt" node="0>0|12" />
<i3dMapping id="tensionBeltNode01" node="0>0|12|0" />
<i3dMapping id="tensionBeltNode02" node="0>0|12|1" />
<i3dMapping id="tensionBeltNode03" node="0>0|12|2" />
<i3dMapping id="tensionBeltNode04" node="0>0|12|3" />
</i3dMappings>
</vehicle>

illgib81 18.04.2024 16:04
Bump.
Anyone?


Note: Log in to post. Create a new account here.