Warning
This documentation is currently under development! It should not be relied upon at this time.
Example file#
This is an example of model XML file. It could be used as the main model file for an aircraft.
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<path>main_model.ac</path>
<offsets>
<!-- All of these could be removed -->
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
<heading-deg>0</heading-deg>
<pitch-deg>0</pitch-deg>
<roll-deg>0</roll-deg>
</offsets>
<texture-path>Model/Textures/</texture-path>
<nasal>
<load><![CDATA[
var livery_update = aircraft.livery_update.new("Aircraft/myaircraft/Models/Liveries");
]]></load>
<unload><![CDATA[
livery_update.stop();
]]></unload>
</nasal>
<multiplay>
<model>
<show-pilot type="bool">true</show-pilot>
</model>
</multiplay>
<model>
<path>cockpit.xml</path>
<usage>interior</usage>
<offsets>
<x-m>-2</x-m>
<y-m>0</y-m>
<z-m>0.5</z-m>
</offsets>
</model>
<model>
<path>pilot.xml</path>
<name>pilot</name>
<attach-to>seat</attach-to>
<condition>
<!-- In a multiplayer model, this will be true thanks to the <multiplay> tag above -->
<property>model/show-pilot</property>
</condition>
<overlay>
<!-- It is up to pilot.xml to do something with this property -->
<pilot-texture>pink.png</pilot-texture>
</overlay>
</model>
<light>
<name>light</name>
<attach-to>nose-gear</attach-to>
<!-- ... -->
</light>
<text>
<name>display</name>
<!-- ... -->
</text>
<animation>
<type>translate</type>
<!-- Note: this also affects 'pilot' due to its 'attach-to' tag. -->
<object-name>seat</object-name>
<property>model/ejecting</property>
<factor>10</factor>
<axis>
<z>1</z>
</axis>
</animation>
<effect>
<inherits-from>Effects/model-transparent</inherits-from>
<object-name>glass</object-name>
<!-- Using model-transparent like this is no longer needed as of 2025,
it is only here for the example. -->
</effect>
</PropertyList>