Scenario File

From EuroScopeWiki

Jump to: navigation, search
Previous: ESE Files Description Actual: Scenario File Next: Interaction with VRC/ASRC


The File

The scenario file is a pure TEXT file. You can edit it with any text editor, or the built in Scenario editor, or using a special editor like Aircraft Situation Editor. The file is processed line by line. There are no sections in this file you can mix all kind of definition lines with the others. There are some exception to that. We will explicitly define what line should precede another one.

ILS/Runway Definitions

You can define four active runway for one session. It can be defined as an ILS:

ILS<runway name>:<threshold latitude>:<threshold longitude>:<runway heading>
ILS<runway name>:<threshold latitude>:<threshold longitude>:<far end latitude>:<far end longitude>

The name of the runway will be shown in the four buttons. Two different examples of the runway definition:


Since 3.2 the heading is a floating point number.

Holding Definitions

You can define as many number of holding patterns as you need. The definition line is the following:

HOLDING:<fix name>:<inbound course>:<direction>

Where fix name can be anything (VOR, NDB, FIX) from the sectorfile. The direction can be 1 to indicate a right turn and -1 for a left turn. Here are some examples:


Airport Altitude

It is a single line definition:


An example:


With the introduction of tower view via FSX or Preair3d more precision was needed for this value. Since 3.2 the altitude is a floating point number.

Controllers Definitions

There can be an unlimited number of simulated controllers in the simulation session. They also can be configured in the scenario file:


An example:


Predefined routes

The predefined routes is a new feature in v3.2. Using it you can define some often used patterns that planes may follow in a session. Then you can initiate the plane to follow this route by selecting it from the list. The route is a list of point names with optional altitude values after each of them. The plane will follow the point one by one and tries to reach the altitude/level defined for the point. The format is the following:

ROUTE:<route name>:>point[/altitude]<[ >point[/altitude]< ... ]

Typical usage of the predefined routes are:

  • Missed approach procedures
  • Traffic patterns
  • Visual approaches
ROUTE:Missed APP 31R:BP042/900 TPS/3000
ROUTE:Visual 31R:PUSTA HM/1000 R

METAR lines

When using the FSX or Prepar3d tower view in a simulation session, it is possible to define the meteorological conditions at the airport. Just define a standard well formatted METARs. When you select the METAR button the defined lines will be displayed, but you will be still free to edit the METAR itself before sending it. The station of the METAR does not matter as the definition is sent as global METAR data to FSX or P3D.

METAR:>well formatted METAR<

Some example:

METAR:LHBP 292000Z 21004KT 1500 +SN BKN015 02/02 Q1016 NOSIG
METAR:LHBP 292000Z 21004KT 6000 +RA BKN015 02/02 Q1016 NOSIG
METAR:LHBP 292000Z 21004KT CAVOK 02/02 Q1016 NOSIG

Aircraft Positions

You can define as many number of aircraft as you need for the session. Be aware that simulating an aircraft probably needs more concentration than controlling them. To define an aircraft you should define the starting position and altitude:

@<transponder flag>:<callsign&gt:<squawk code>:1:<latitude>:<longitude>:<altitude>:0:<heading>:0


  • transponder flag can be N for normal or S for stand by transponder mode
  • latitude and longitude can be the format found in the sectorfile or simple double values
  • do not forget the static 1 at the 4th position and the two static 0 values at the end (they are there for some technical reasons only)
  • the heading value is a bit complicated, use the requested heading in degrees and use the following formula to decide the value to be put here: ((int) ( Heading * 2.88 + 0.5 )) << 2 ) - or if it is easier: ( Heading * 2.88 + 0.5 ) * 4.
  • when transponder is set to 0000 the simulator will display it as a vehicle.



Flight Plans

Every aircraft position line should follow a flight plan line. Do not change the order as EuroScope can save the flight plan only for aircraft with position. The flight plan line looks like this:

$FP<callsign>:*A:<flight plan type>:<aircraft type>:<true air speed>:<origin airport>:
   <departure time EST>:<departure time ACT>:<final cruising altitude>:<destination airport>:
   <HRS en route>:<MINS en route>:<HRS fuel>:<MINS fuel>:
   <alternate airport>:<remarks>:<route>#

Where flight plan type can be I or V. Do not forget the static *A from the second place. I think that the rest stands for the content. Examples:

$FPMAH661:*A:I:B736:370:EHAM:1720:1720:390:LHBP:1:40:2:23:LOWW:/V/:ARNEM UL620 BIRKA UZ21 OMELO UL620 KOPIT UM748 RUTOL
$FPMAH1501:*A:I:B738:430:GCTS:1730:1730:340:LHBP:1:20:2:0:LOWW:/V/:KORAL UG5 ESS UN871 VJF UN851 MHN UM603
$FPAZA525:*A:I:MD87:430:LHBP:1730:1730:360:LIMC:1:20:2:0:LIRF:/V/:BAKOT UY52 SUNIS Q114 GRZ UP976 DETSA UM984 LUSIL

Route Description

From v3.2 the route description is optional. If not specified then the route is extracted from the flight plan and the current position. But using this line you may override it. It must came later than the position line. The route is a point by point list of the route the plane should follow. It should not contain any information just the list of the waypoints and optionally altitude values. There are still two ways to define the route:

  • With callsign - In this case you are still able to use some optional parameters. They are obsolete now as all of them can be entered to separate lines.
  • Without callsign - In this case only the route with altitude values can be defined.
$ROUTE:<callsign>:<point by point route with altitude values>[:<start>][:<pilot minimum delay>][:<pilot maximum delay>][:<descend to waypoint>:<descend to altitude>]
$ROUTE:<point by point route>

The start value here is a wait time in minutes after that the aircraft will be added to the simulation. This is an optional parameter. If you omit a 0 will be used that means join immediately. The delay is calculated on simulation time only. When the whole simulation is paused then the delay time is not counted further down.

The pilot minimum and maximum delay determines how fast the pilot will respond to an order. For every order you make in the simulation the aircraft will respond and start following it by random seconds of time between the minimum and the maximum value. The minimum is between 1 and 30, the maximum is between 2 and 31 seconds. If you omit these parameters then a minimum 12 and maximum 17 seconds will be used that were measured by real-life controllers as average response time. The descend to waypoint and the descend to altitude parameters are used to setup an initial descent for the arrival planes. That makes the trainer life easier as the initial values should not be set for every plane. The planes with specified descend to values will reach the altitude at the given point.

From v3.2 the route may include optional altitude values. They work the very same way as in the Predefined Routes section. Be careful with it as the planes will follow the altitude values define here even without the pseudo pilot instruction.


$ROUTE:MAH661:RUTOL/19000 BP523 MAMOS BP522 BP521 BP520 BP519 BP518 BP512 BP416 BP415 BP414 BP413 BP049
$ROUTE:MAH663:RUTOL BP523 MAMOS BP522 BP521 BP520 BP519 BP518 BP512 BP416 BP415 BP414 BP413 BP049:10:5:10:RUTOL:19000
$ROUTE:MAH1501:VEBOS/17000 BP421 BP420 BP419 BP418 BP417 BP416 BP415 BP414 BP413 BP049:0:15:20

Note that both MAH661 and MAH663 will descend to FL190 by RUTOL.

You can also split the ROUTE line into several lines. The callsign can be omitted and all the parameters from the end of the line can be put in subsequent lines.


You can enter two special words to the route section:

  • FP - This is the same as it were empty. In this case EuroScope builds the route data based on the flight plan route without any altitude constraints.
  • FPA - It is the same except it adds all the altitude restriction data from COPX lines to the route string.

Additional data

Since v3.2 there are new parameters you can specify for a plane:

  • IASVARIATION - How much the plane should deviate from the normal IAS. It can be between 0 and 20.
  • INITIALPSEUDOPILOT - This line defines who will be the pseudo pilot of the plane. If the callsign is logging in, the pseudo pilot state is transferred to that controller immediately.
  • SIMDATA - It determinates some additional data for tower view and ground simulations.


SIMDATA:<callsign>:<plane type>:<lt;livery>[:>maximum taxi speed>:[>taxiway usage<[>object extent<]]]


  • plane type - can be "*" to use the one from the flight plan, or another type to override it. This type of aircraft should be available in the FSX or P3D SimObjects. Here you can also set the "title field" from "aircraft.cfg" from the simulator to display other vehicles such as Follow Me. You also have to set the callsign with " [VHCL]" suffix.
  • livery - can be "*" to use the first three letters from the callsign, or another type to override it. This livery should be available in the FSX or P3D SimObjects.
  • maximum taxi speed - When you simulate other type of ground vehicles you may would like to define the maximal taxi speed of them. The value can be between 5 and 50.
  • taxiway usage - It determines which taxiways can be used by the vehicle. It is very useful when you would like to simulate other ground vehicles than planes. See the taxiway definitions in the ESE Files Description. If the value there and this with bitwise AND is 0 the taxiway is not used by this vehicle.
  • object extent - The size of the vehicle. This value is used to detect collision on the ground. Set to 0 to disable this feature.

Aircraft Performance Data

EuroScope already contains performance data file for several planes (A124, A30B, A306, A310, A318, A319, A320, A321, A332, A333, A342, A343, A345, A346, A3ST, A748, AAS, AC11, AC6T, AC90, AC95, AEST, AJET, AN12, AN24, AN26, AN72, AN74, AS32, ASTR, AT43, AT45, AT72, ATLA, ATP, B190B350, B461, B462, B463, B52, B703, B712, B721, B722, B732, B733, B734, B735, B736, B737, B738, B739, B741, B742, B743, B744, B74S, B752, B753, B762, B763, B764, B772, B773, BA11, BE10, BE20, BE30, BE33, BE36, BE40, BE50, BE55, BE58, BE60, BE76, BE95, BE99, BE9L, BE9T, BN2, BN2P, BN2T, C5, C12, C17, C130, C135, C141, C160, C172, C182, C206, C208, C210, C25A, C25B, C295, C303, C30J, C310, C340, C404, C414, C421, C425, C441, C500, C501, C510, C525, C550, C551, C560, C56X, C650, C680, C72R, C750, CL30, CL60, CN35, CRJ1, CRJ2, CRJ7, CRJ9, CVLT, D228, D328, DA42, DC3, DC6, DC85, DC86, DC87, DC9, DC93, DC94, DC10, DHC6, DHC7, DH8A, DH8B, DH8C, DH8D, E3TF, E3CF, E6, E110, E120, E121, E135, E145, E170, E195, EC35, F15, F16, F18, F117, F27, F28, F50, F70, F100, F406, FA10, FA20, FA50, F900, F2TH, G150, G159, G222, GA7, GALX, GL5T, GLEX, GLF2, GLF3, GLF4, GLF5, GY80, HARR, HAWK, H25A, H25B, H25C, H47, IL62, IL76, IL96, J328, JAGR, JS20, JS31, JS32, JS41, K35E, K35R, KC10, L101, L188, L410, LJ24, LJ31, LJ35, LJ45, LJ55, LJ60, M20P, M20T, MD11, MD80, MD81, MD82, MD83, MD87, MD88, MD90, MU2, MU30, NIM, P3, P68, P180, PA24, PA27, PA28, P28A, P28R, P28T, PA30, P31T, PA31, PA32, P32R, P32T, PA34, PA44, PA46, P46T, PAY1, PAY2, PAY3, PAY4, PC7, PC9, PC12, PRM1, RJ70, RJ85, RJ1H, S601, SB20, SBR1, SF34, SH33, SH36, SR20, SR22, SW2, SW3, SW4, T134, T154, T204, TBM7, TOR, TRIN, TRIS, TUCA, VC10, YK42) hidden in the code.

But you are able to override the default values and define planes not listed above. Use the following lines. The first line defines the type name. The next lines describe the capabilities. After the PERFLINE you must specify the following values: flight level, climb IAS, cruise IAS, descent IAS, climb Mach, cruise Mach, descent Mach, max climb rate, max descent rate.


Previous: ESE Files Description Actual: Scenario File Next: Interaction with VRC/ASRC
Personal tools
Tower view