<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="tractor" 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>
1. XML Declaration and Root Element
Every XML file starts with a declaration. In a typical vehicle.xml
file, you’ll see something like the example above, or a more simplified example (ai generated):
<?xml version="1.0" encoding="utf-8"?>
<vehicle>
<!-- Vehicle-specific data goes here -->
</vehicle>
2. Model Reference
The vehicle’s visual representation is defined by its 3D model, typically stored as an I3D file. This is specified with the
<filename> tag:<model>
<filename>$data/vehicles/claas/arion400/arion400.i3d</filename>
Note! For previous Farming Simulator versions, the reference used a <model opening tag (suggested by AI):
<!-- 3D Model Reference -->
<model filename="vehicles/myCustomVehicle/model.i3d" />
3. Engine and Performance Configuration
The element is where you define key performance characteristics of the vehicle, such as torque, power, and RPM limits. Anyway, this is for the Farming Simulator 25, listed within the opening tag <motorConfigurations>, like this:<engine>
<motorConfiguration name="ARION 410" hp="90" price="0" consumerConfigurationIndex="1">
<motor torqueScale="0.38" minRpm="850" maxRpm="2200" maxForwardSpeed="42" maxBackwardSpeed="42" brakeForce="3.7" lowBrakeForceScale="0.1" dampingRateScale="0.17">
<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="0.0" gearChangeTime="0.0" startGearThreshold="0.7" axleRatio="0.96" name="$l10n_info_transmission_manualWithPowerShiftGroups">
<directionChange useGear="false" useGroup="false" changeTime="0.3"/>
<groups type="POWERSHIFT" changeTime="0.1">
<group ratio="0.09" name="A"/>
<group ratio="0.24" name="B"/>
<group ratio="0.44" name="C"/>
<group ratio="1.00" name="D" isDefault="true"/>
</groups>
<forwardGear maxSpeed="21.0"/>
<forwardGear maxSpeed="25.0"/>
<forwardGear maxSpeed="29.5"/>
<forwardGear maxSpeed="36.0"/>
<forwardGear maxSpeed="41.0"/>
<forwardGear maxSpeed="50.0"/>
</transmission>
<objectChange node="engineConfig410_decal" visibilityActive="true" visibilityInactive="false"/>
</motorConfiguration>
Just for this code above alone, we have:
1. <motorConfiguration>
name="ARION 410"
: The name of the engine configuration (e.g., “ARION 410”).hp="90"
: Horsepower (HP) rating of this motor configuration (90 HP in this case).price="0"
: Cost of this configuration in the in-game shop (0 indicates no additional cost over the base price).consumerConfigurationIndex="1"
: This links the motor configuration to another aspect of the vehicle’s setup, such as visual components or other configurations.
2. <motor>
This element defines the engine performance parameters and behavior:
torqueScale="0.38"
: A multiplier for the torque output. Higher values provide more pulling power.minRpm="850"
&maxRpm="2200"
: Define the minimum and maximum engine revolutions per minute.maxForwardSpeed="42"
&maxBackwardSpeed="42"
: The maximum speeds achievable in forward and reverse gears (in km/h).brakeForce="3.7"
: Determines the stopping force applied during braking.lowBrakeForceScale="0.1"
: Adjusts braking strength at low speeds.dampingRateScale="0.17"
: Defines how quickly the engine adapts to speed changes or load variations.
3. <transmission>
This defines the transmission system, including gear ratios and types:
autoGearChangeTime="0.0"
&gearChangeTime="0.0"
: Instant gear shifts without delay.startGearThreshold="0.7"
: RPM threshold (normalized) at which a higher gear is engaged.axleRatio="0.96"
: Determines the final drive ratio, influencing overall acceleration and speed.name="$l10n_info_transmission_manualWithPowerShiftGroups"
: Describes the type of transmission (manual with PowerShift groups in this case).
Purpose of <motorized>
The <motorized>
section is essential for defining how the vehicle behaves in terms of engine performance, transmission mechanics, and braking. It also allows for customization of visual elements and advanced features like PowerShift groups.
In code this would be XML tags between:
<motorized>
<consumerConfigurations>...</consumerConfigurations>
<differentialConfigurations>...</differentialConfigurations>
<motorConfigurations>...</motorConfigurations>
<exhaustEffects>...</exhaustEffects>
<motorStartDuration>...</motorStartDuration>
<dashboards>...</dashboards>
</motorized>
Drivable <drivable>
<drivable>
<steeringWheel node="steeringWheel" indoorRotation="540" outdoorRotation="30" />
<dashboards>
<dashboard displayType="ROT" valueType="accelerationAxis" node="pedalGas" minRot="0 0 0" maxRot="-15 0 0" doInterpolation="true" groups="MOTOR_ACTIVE"/>
<dashboard displayType="ROT" valueType="decelerationAxis" node="pedalBrake" minRot="0 0 0" maxRot="-11 0 0" doInterpolation="true" groups="MOTOR_ACTIVE"/>
</dashboards>
</drivable>
Key Elements in This Example
<steeringWheel>
Element:node="steeringWheel"
: References the 3D model node for the steering wheel in the I3D file.indoorRotation="540"
: Specifies how many degrees the steering wheel can rotate inside the vehicle (commonly linked to first-person or “indoor” camera views).outdoorRotation="30"
: Sets a more limited steering wheel rotation for third-person or “outdoor” camera views.
<dashboards>
Element:- Encloses one or more
<dashboard>
elements, each describing a specific component of the vehicle’s dashboard (e.g., pedals, gauges, lights).
- Encloses one or more
- Dashboard Components:
displayType="ROT"
: Indicates that this dashboard element rotates.valueType="accelerationAxis"
: Links the rotation behavior to the vehicle’s acceleration (e.g., gas pedal movement).node="pedalGas"
: References the 3D model node for the gas pedal.minRot="0 0 0"
&maxRot="-15 0 0"
: Define the range of rotation in degrees for the node. Here, the gas pedal rotates backward (up to -15 degrees) when pressed.doInterpolation="true"
: Smooths the animation over time for realistic movement.groups="MOTOR_ACTIVE"
: Ensures this behavior only occurs when the vehicle’s motor is active.
- Dashboard Components:
So this is some of the features found in arion400.xml in data/vehicles/claas/arion400. In short the key features are:
1. Engine and Motor Configurations
- Multiple Engine Options: The file includes
<motorConfigurations>
to define different engine setups, such as horsepower (e.g., 90 HP to 155 HP), torque curves, and RPM ranges. - Performance Parameters: Attributes like
torqueScale
,maxForwardSpeed
, andbrakeForce
determine how the tractor behaves under load and during operation.
2. Transmission Settings
- Gear Ratios: The
<transmission>
section specifies forward and reverse gear ratios, PowerShift groups, and gear change times. - Axle Ratio: Defines the final drive ratio, affecting acceleration and speed.
3. Visual and Functional Features
- Steering Wheel: The
<drivable>
section includes settings for the steering wheel’s rotation angles (indoor and outdoor views). - Dashboard Animations: Configurations for moving parts like pedals and gauges, linked to player inputs such as acceleration and braking.
4. Attachments and Compatibility
- Front Loader Support: The file may include references to compatible front loaders or attachments, ensuring the tractor can handle various tools.
- PTO (Power Take-Off): Settings for PTO functionality, allowing the tractor to power implements.
5. Customization Options
- Object Changes: Visual elements like decals or configurations (e.g., engine badges) that change based on the selected motor configuration.
- Color and Design: Options for paint and design elements, if supported.
6. Sound and Animation
- Engine Sounds: References to audio files for engine noise, gear shifts, and other operational sounds.
- Animations: Moving parts like hydraulic arms or suspension systems, if applicable.
Source: Microsoft Copilot (with correction).*
* AI companions and online AI tools may reference content from previous Farming Simulator versions. Even if some claim AI handled the XML code, it might be outdated code from FS17, FS19, or FS22. This mix can complicate modding if mixed with XML code for FS25.