AIRPORT SERVICES XML DEFINITIONS
The Services.xml
file should be formatted as follows:
<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="ServiceFile" version="1,0">
<Service.ParkingSpaceServices>
<!-- SERVICE DATA HERE -->
</Service.ParkingSpaceServices>
<Service.AirportServices>
<!-- AIRPORT SERVICES DATA HERE -->
</Service.AirportServices>
</SimBase.Document>
Within the <SimBase.Document>
element you can have the following sub-elements, which are explained in detail below:
Note that some of the following XML elements have a Filename
attribute. This is the name (and path) to the mission script file that defines the element. These script files are explained in detail on the following page:
<Service.ParkingSpaceServices>
This element is used to add a list of parking space services to an airport and can contain the <ParkingSpace>
element. This element has no attributes and is simply a container element.
<ParkingSpace>
This element is used to define a single parking space in an airport and is a sub-element of the <Service.ParkingSpaceServices>
. You can have multiple <ParkingSpace>
sub-elements defined in a single <Service.ParkingSpaceServices>
element. This element can contain the <ParkingTypes>
, <IdleWorkers>
, <Services>
and <SleepingActivities>
sub-elements.
The attributes available when defining a parking space are as follows:
Attribute | Description | Type | Required |
---|---|---|---|
name |
Name of this ParkingSpace entry |
String |
No |
MinParkingSpaces |
Minimum number of parking spaces (of any type) in the airport to take into account. Useful to avoid having services on micro-airports with only 1 parking. |
Integer |
No |
<ParkingTypes>
This element has no attributes and is used to list the types of parking corresponding to the <ParkingSpace>
. It contains the <ParkingEntry>
sub-element, and you can define multiple for a single <ParkingSpace>
.
<ParkingEntry />
This element is used to define a single parking type. Note that this is a self-closing element and has the following attribute:
Attribute | Description | Type | Required |
---|---|---|---|
ParkingType |
Type of this ParkingSpace entry. |
Enum: NONE |
Yes |
<IdleWorkers>
This element has no attributes and is used to list the types of parking corresponding to the <ParkingSpace>
. It contains the <Spot>
sub-element, and you have a single <IdleWorkers>
sub-element for each single <ParkingSpace>
.
<Spot>
This element is a container element for the <IdleWorker />
sub-element, of which you can define various per-spot. Each parking in each airport is represented by a circle - with a center point and a radius - a type, and a heading orientation relative to North (more info in the section on <TaxiwayParking />
). From this, the spawning position of an idle worker <Spot>
is determined by three parameters:
SpawnDistanceParkingRadiusFactor
SpawnDistanceAdditionalOffset
SpawnAngleFromParking
First, this position will be at a distance from the center of the parking equal to SpawnDistanceParkingRadiusFactor * (radius of current parking) + SpawnDistanceAdditionalOffset
. Then, the position will be computed from the center of parking and distance by moving along a line determined by an angle SpawnAngleFromParking
from the parking heading. See the examples page for more information.
The <Spot>
element has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Frequency |
Frequency (from 0.0 to 1.0) at which an IdleWorker will be created at this Spot. |
Float |
Yes |
SpawnDistanceParkingRadiusFactor |
Determines the spawning position of the spot by multiplying this factor by the radius of the parking spot. | Float | Yes |
SpawnDistanceAdditionalOffset |
Determines the spawning position of the spot by adding this offset (in meters, and can be negative to be inside the parking). | Float | Yes |
SpawnAngleFromParking |
Determines the spawning position of the spot by determining at which angle from the parking to move the specified distance. Value from 0.0° to 360.0°. | Float | Yes |
HeadingFromParkingHeading |
Determines the heading of the spawned IdleWorker, relative to the parking spot heading. Value from 0.0° to 360.0°. | Float | Yes |
<IdleWorker />
This element defines one of the several idle worker scripts that can be used for this <Spot>
, along with its relative weight. Note that this is a self-closing element and has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Filename |
Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension. |
Float |
Yes |
EntryWeight |
Relative weight determining how likely it is to be chosen over other scripts for this Spot (higher weight means more likely to be chosen) | Integer | Yes |
<Services>
This element has no attributes and is used to list the types of services corresponding to the <ParkingSpace>
. It contains the <Service />
sub-element, and you can define multiple for a single <Services>
.
<Service />
A single service to create at this parking spot. Each parking in each airport is represented by a circle - with a center point and a radius - a type, and a heading orientation relative to North (more info in the section on <TaxiwayParking />
). From this, the spawning position of a <Service>
is determined by three parameters:
SpawnDistanceParkingRadiusFactor
SpawnDistanceAdditionalOffset
SpawnAngleFromParking
First, this position will be at a distance from the center of the parking equal to SpawnDistanceParkingRadiusFactor * (radius of current parking) + SpawnDistanceAdditionalOffset
. Then, the position will be computed from the center of parking and distance by moving along a line determined by an angle SpawnAngleFromParking
from the parking heading. See the examples page for more information.
This is a self-closing element and has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
name |
Informal name of the Service. | String | Yes |
Filename |
Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension. | String | Yes |
AIType |
Enum: None |
Yes | |
Frequency |
Frequency (from 0.0 to 1.0) at which a service will be created at this Spot. |
Float |
Yes |
SpawnDistanceParkingRadiusFactor |
Determines the spawning position of the service by multiplying this factor by the radius of the parking spot. | Float | Yes |
SpawnDistanceAdditionalOffset |
Determines the spawning position of the service by adding this offset (in meters, and can be negative to be inside the parking). | Float | Yes |
SpawnAngleFromParking |
Determines the spawning position of the service by determining at which angle from the parking to move the specified distance. Value from 0.0° to 360.0°. | Float | Yes |
HeadingFromParkingHeading |
Determines the heading of the spawned service, relative to the parking spot heading. Value from 0.0° to 360.0°. | Float | Yes |
<SleepingActivities>
This element determines parameters for parked aircraft and former air traffic aircraft that are no longer part of the Air Traffic. It is a container element and should contain one each of the <SleepingAirlinerServices />
and <SleepingSmallPlaneRefueling />
sub-elements.
<SleepingAirlinerServices />
This element sets how often parked airliners should randomly decide to use Services. Note that this is a self-closing element and has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Timer |
How often (in seconds) will a given airliner randomly decide to use Services. Note that the Timer is always restarting after expiring, which means that by waiting long enough, each airliner will use Services multiple times. We recommend using a Timer of at least 300 seconds and a Probability of less than 0.4, to avoid having too many aircrafts using Services all the time. |
Float |
Yes |
Probability |
Probability (from 0.0 to 1.0) that the airliner will decide to use Services when its timer expires. | Float | Yes |
<SleepingSmallPlaneRefueling />
Note that this is a self-closing element and has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Timer |
How often (in seconds) will a given GA aircraft will randomly decide to go refueling. Note that the Timer is always restarting after expiring, which means that by waiting long enough, each GA aircraft will go refueling multiple times. We recommend using a Timer of at least 300 seconds and a Probability of less than 0.2, to avoid having too many aircrafts using the few Fuel stations all the time. |
Float |
Yes |
Probability |
Probability (from 0.0 to 1.0) that the GA aircraft will decide to go refueling when its Timer expires. | Float | Yes |
<Service.AirportServices>
This is a container element for a list of the global airport services available. It has no attributes and within this element you would have a single <Services>
sub-element.
<Services>
This is a container element for a list of the airport services to create. It has no attributes and within this element you would have a single <Service />
sub-element.
<Service />
Defines a single airport service. This is a self-closing element and has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
name |
Informal name of the Service. |
String |
Yes |
Filename |
Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension. | String | Yes |
ParkingType |
Which type of parking will this Service be created in. |
Enum: NONE |
Yes |
Frequency |
Frequency (from 0.0 to 1.0) at which this Service will be created. | Float | Yes |