Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

XML

From SimplePlanes Wiki
Jump to: navigation, search

This article is a stub. You can help SimplePlanes Wiki by expanding it.

XML Modding includes editing a certain block or propeller, etc. XML Modding has its own Modding Guide on Reddit. It is useful for those are starting to Mod and Edit their own creations or other users creations.

With using a text editor on an ".xml" file, physics and logic for parts can be changed, such as editing the "powerMultiplier" tag on an engine. This particular one scales only the engine power of an engine on a multiplication scale. Such as changing the default value (1) to 2, doubles the engine power, as 3 triples it. Decimals like 2.5 can also be used to get a more accurate power scale.

Values like "exhaustScale" (default 1,1,1) work on a X,Y,Z format. X is to lateral scale as Y is to vertical, Z being the length.

Others such as "exhaustStartColorOverridePrimary" work on a colour code. Ex. "FFFFFFFF" is White.

Common Tags[edit | edit source]

All parts have these tags.

Tag Inputs Description
Part id Any number more than 0 Defines the part number. Don't change it! It is useful for making new or removing attach points.
partType Internal name of parts Internal part name, useful for obtaining Removed Parts
position x,y,z Location of part. Try using a mod like FineTuner to move it to exact locations instead of editing the .xml file.
rotation x,y,z Rotation around each individual axis in degrees. Like position, use a mod to edit this instead of the .xml file.
drag a,b,c,d,e,f Amount of air resistance each part gives, for calculating drag points. Don't change it, it is automatically reset upon loading the aircraft.
material Primary,Trim1,Trim2,Trim3 Part colors. It is best to change this in the Editor. Some parts, like Fuselage Blocks only have one, but most engines have three.
scale x-scale,y-scale,z-scale Change the size of parts for more detail or lower part count. Hidden by default.
massScale Any number Multiplies mass by input number. Mainly for making lightweight craft. Hidden by default.
disableAircraftCollisions true/false If true, part will pass through other parts. Good for custom landing gear. Hidden by default.

For tags that are hidden by default, you have to type them in like this:

[tag]="[input]"

For example,

scale="0.5,0.5,0.5"

NOTE: add the Masscale, Scale or disable collisions input right after the materials in the XML text.

XML inputs[edit | edit source]

Parts that have inputs such as rotators, lights, and engines, ect, Can be XMLed to be controlled by a specific input. Such as setting a rotator to be controlled using landing gear. Remember: Activation groups are completely different to inputs

Input Found Ingame editior Description
Brake Yes
Throttle Yes Makes the input controlled by engine throttle. A input which ranges from 0-100%
Roll Yes Makes the input controlled by the Roll (A/D) control surface. Useful for making wings and control surfaces out of fuselages and DIY steering.
Pitch Yes Makes the input controlled by the Pitch (W/S) control surface. Useful for making wings and control surfaces out of fuselages.
Yaw Yes Makes the input controlled by the Yaw (Q/E) control surface. Useful for making wings and Rudders out of fuselages and DIY steering.
Trim Yes Makes the input controlled by the trim bar. Allows for a held input from -100% to 100%. Useful for Flaps
VTOL Yes Makes the input controlled by the VTOL bar. Allows for a held input from -100% to 100%. Useful for Swing wings or some special movement feature in a plane or vehicle
LandingGear No Allows the Input to be toggled on or off by Landing Gear. Useful for making custom landing Gear
-LandingGear No Allows the Input to be toggled OFF or ON by Landing Gear. This is useful for landing gear lights as it's function is inverted
FireWeapons No Makes the input controlled by using the fire weapons(Bombs, missiles) Control. A input which is only on when being held down
FireGuns No Makes the input controlled by using the fire guns Control. A input which is only on when being held down
Activate1 No Makes the input toggled by pressing the Action Group 1 button
Activate2 No Makes the input toggled by pressing the Action Group 2 button
Activate3 No Makes the input toggled by pressing the Action Group 3 button
Activate4 No Makes the input toggled by pressing the Action Group 4 button
Activate5 No Makes the input toggled by pressing the Action Group 5 button
Activate6 No Makes the input toggled by pressing the Action Group 6 button
Activate7 No Makes the input toggled by pressing the Action Group 7 button
Activate8 No Makes the input toggled by pressing the Action Group 8 button (Action Group 8 is usually already pressed)
LaunchCountermeasures No Makes the input controlled by whenever you launch countermeasures (V by default)

Here is an example of a Hinge-Rotator having its input set to Landing Gear, Note it has also been given Scaled values (See tags above):

</Part>

<Part id="684" partType="HingeRotator-1" position="1.68128,4.372536,1.323409" rotation="270,270,0" drag="0,0,0,0,0,0" materials="0,3,10" disableAircraftCollisions="true" scale="0.2,0.2,0.2">

<InputController.State activationGroup="0" invert="false" min="-1" max="1" input="LandingGear" />

<JointRotator.State range="35" speed="0.75" />

There is also an input based on speed and a inequality, eg. v>100, which can be used in inputs.

Control surfaces only support a different set of inputs, ie. Roll, Pitch, Yaw, VTOL, Trim.