<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
<!--
 /* Style Definitions */

p,div
	{mso-style-name:Text;
	margin-top:0pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
li
	{mso-style-name:Text;
	margin-top:2pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p.Link, div.link
	{mso-style-name:Link;
	margin-top:0pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:#3366FF;}
li.Link
	{mso-style-name:Link;
	margin-top:0pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	color:#3366FF;}
h1
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0pt;
	margin-bottom:12.0pt;
	margin-left:0pt;
	text-align:left;
	line-height:150%;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:20.0pt;
	font-family:Arial;
	color:black;
	mso-bidi-font-style:italic;}
h2
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0pt;
	margin-bottom:12.0pt;
	margin-left:0pt;
	text-align:left;
	line-height:150%;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:18.0pt;
	font-family:Arial;
	color:#000033;
	mso-bidi-font-style:italic;}
h3
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0pt;
	margin-bottom:9.0pt;
	margin-left:0pt;
	text-align:left;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:16.0pt;
	mso-bidi-font-size:13.0pt;
	font-family:Arial;
	color:#0000cc;}
h4
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0pt;
	margin-bottom:5.0pt;
	margin-left:0pt;
	text-align:left;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:13.0pt;
	mso-bidi-font-size:13.0pt;
	font-family:Arial;
	color:#00aa00;}
h5
	{mso-style-next:Normal;
	margin-top:3.0pt;
	margin-right:0pt;
	margin-bottom:3.0pt;
	margin-left:0pt;
	text-align:left;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:Arial;
	color:#000000;}
h6
	{mso-style-next:Normal;
	margin-top:3.0pt;
	margin-right:0pt;
	margin-bottom:3.0pt;
	margin-left:0pt;
	text-align:left;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:Arial;
	color:#aa0000;}
CODE
	{mso-style-name:Code;
	margin:0pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:"Courier New";
	color:#000000;}
A:Hover
	{color:#00aa00;}
BODY
	{margin-left:30pt;
	background:#f5f5f5;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}

table
	{class:T1;
	style:border:medium none;
	border-collapse:collapse;
	border:5;
	background-color:#FFFF99;
	border-color:#CC0000;
	border-style:inset;
	width:670;
	text-align:left;}

tr	{vertical-align:top;}

-->
</style>

<title>Untitled Document</title>
</head>

<body>
<p><img src="Images/fsx-banner747.jpg" width="800" height="200" /></p>
<h1>Traffic Toolbox</h1>
<h2>Overview</h2>
<p>The Traffic Toolbox is a set of tools and utilities that  allow you to view and customize the AI (&ldquo;artificial intelligence&rdquo; or  computer-controlled) aircraft and boat traffic in <i>Microsoft &reg; Flight Simulator X</i>.</p>
<ul>
  <li><a href="#Setup">Setup</a></li>
  <li><a href="#TrafficSettings"> Traffic Settings</a></li>
  <li><a href="#TrafficExplorer"> Traffic Explorer</a></li>
  <li><a href="#TrafficMap"> Traffic Map</a></li>
  <li><a href="#DumpAirportList"> Dump Airport List</a></li>
  <li><a href="#TheTrafficDatabaseBuilderUtility">Traffic Database Builder</a></li>
</ul>
<h2>Setup<a name="Setup" id="Setup"></a></h2>
<p>Four tools (Traffic Settings, Traffic Explorer, Traffic Map, and Dump Airport List) are coded in the TrafficToolbox.dll (available in the same folder as this document, <i>SDK\Environment Kit\Traffic Toolbox SDK</i>).</p>
<p>&nbsp;</p>
<p>To install the dll, the dll.xml file  in the   <i>&lt;Drive&gt;:\Documents and   Settings\&lt;alias&gt;\Application   Data\Microsoft\FSX</i> folder should contain the following bold lines (if the file already exists in this folder), or the dll.xml file should contain all the following (if the dll.xml file does not already exist at the right location). A sample dll.xml file is available in the same folder as this document.:</p>
<p>&nbsp;</p>
<table width="800" border="1" cellspacing="2" cellpadding="4">
  <tr>
    <td><p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;Windows-1252&quot; ?&gt; <br />
        - &lt;SimBase.Document Type=&quot;Launch&quot; version=&quot;1,0&quot;&gt;<br />
&lt;Descr&gt;Launch&lt;/Descr&gt; <br />
&lt;Filename&gt;dll.xml&lt;/Filename&gt; <br />
&lt;Disabled&gt;False&lt;/Disabled&gt; <br />
&lt;Launch.ManualLoad&gt;False&lt;/Launch.ManualLoad&gt; </p>
      <p><br />
        <b>- &lt;Launch.Addon&gt;<br />
&lt;Name&gt;Traffic Toolbox&lt;/Name&gt; <br />
&lt;Disabled&gt;False&lt;/Disabled&gt; <br />
&lt;Path&gt;..\Microsoft&nbsp;Flight&nbsp;Simulator&nbsp;X&nbsp;SDK\SDK\Environment&nbsp;Kit\Traffic&nbsp;Toolbox&nbsp;SDK\traffictoolbox.dll&lt;/Path&gt;<br />
&lt;/Launch.Addon&gt;</b></p>
      <p><br />
  &lt;/SimBase.Document&gt;</p></td>
  </tr>
</table>
<p>&nbsp; </p>
<p>Note that the Path is relative to the installation <i>Microsoft Flight Simulator X</i> folder. The path given above will change if the SDK or <i>Flight Simulator</i> were not installed to their default folders. If the dll is installed correctly, the tools should appear in the <i>Tools-&gt;Traffic  Toolbox</i> menu in <i>Flight Simulator</i>.</p>
<p>&nbsp;</p>
<p>The Traffic Database Builder  is a standalone utility that must be run from the command prompt.</p>
<h2><a name="TrafficSettings">Traffic Settings</a></h2>
<p>The Traffic Settings dialog duplicates many of the settings  in the <i>Settings-&gt;Traffic</i> dialog in <i>Flight Simulato</i>r, but also  exposes some additional functionality.&nbsp;</p>
<p>&nbsp;</p>
<p><img src="Images\TrafficSettings.jpg"/></p>
<p>&nbsp;</p>
<p>The Traffic Settings dialog within <i>Flight Simulator</i> gives the following options:</p>
<p>&nbsp;</p>
<p><img src="Images/TrafficSettingsDialog.JPG" width="800" height="600" /> </p>
<h2><a name = "TrafficExplorer">Traffic Explorer</a></h2>
<p>The Traffic Explorer dialog shows a list of all of the  active aircraft in <i>Flight Simulator</i>, including the user aircraft. It also shows all the active AI controlled boat traffic, though the UI refers to all objects as &quot;aircraft&quot;. </p>
<p>&nbsp;</p>
<p><img src="Images\TrafficExplorer.jpg"/></p>
<p>&nbsp;</p>
<p>Each column in the dialog represents a particular property of  an aircraft.&nbsp; To add or remove columns,  right click on the column header and select from the list of available columns  to display.&nbsp; To change the order of the  columns, click on a column and drag it to the desired position.&nbsp; To sort the list of aircraft by the values in  a specific column, click the column header.</p>
<p>&nbsp;</p>
<p>Each row in the dialog corresponds to a single  aircraft.&nbsp; By right clicking on a row in  the dialog, you can select from a list of actions available for that aircraft.&nbsp; Available actions include:</p>
<p>&nbsp;</p>
<p><strong>Create&hellip;</strong> Allows you to create AI aircraft that can be assigned an  existing flight plan, and can be positioned in-flight along the flight planned  route. You can elect to create aircraft that bypass Air Traffic Control interaction.&nbsp; User created aircraft that bypass ATC and  that do not use a flight plan will more reliably&nbsp; respond to actions initiated via many of the  options below, like <em>Takeoff</em>, <em>Set Waypoint</em>, <em>Stick and Rudder</em>, and <em>Land</em>. The following example creates an Airbus A321 at Seatac airport:<br />
  <br />
  <img src="Images/CreateAircraft.JPG" width="357" height="581" />  <br />
  &nbsp;<br />
<strong>View</strong> - Centers the view on the selected AI aircraft.</p>
<p>&nbsp;</p>
<p><strong>Set Flight Plan&hellip;</strong> Allows you to assign an existing flight plan to  the selected aircraft.</p>
<p>&nbsp;</p>
<p><strong>Touch and Go</strong> &ndash; You can force the selected aircraft to perform touch  and goes upon arrival at the destination airport.</p>
<p>&nbsp;</p>
<p><strong>Set Position&hellip;</strong> Set selected aircraft to user aircraft location,  camera location, manually entered lat/lon/alt coordinates, selected airport,  etc.<br />
  &nbsp;<br />
  <strong>Takeoff&hellip;</strong> Used in combination with <em>Enable Simulation</em> and <em>Set  Position</em>, allows you to place selected aircraft at a desired airport and on  a desired runway for immediate liftoff and climb. </p>
<p>&nbsp;</p>
<p><strong>Set Waypoint&hellip;</strong> Send or divert aircraft to a waypoint or lat/lon/alt  position.&nbsp; Aircraft orientation, throttle  position, and initial speed can also be applied.</p>
<p>&nbsp;</p>
<p><strong>Warp to Next Waypoint</strong> &ndash; Quickly re-position selected aircraft over  the next waypoint on its flight plan. </p>
<p>&nbsp;</p>
<p><strong>Stick and Rudder&hellip;</strong> &nbsp;Best when  used with newly created aircraft that bypass ATC and utilize a flight  plan.&nbsp; Allows you to provide precise,  basic flight control inputs (heading, altitude, airspeed, etc.) without need of  hands-on keyboard and/or device inputs.</p>
<p>&nbsp;</p>
<p><strong>Land&hellip;</strong> Used with <em>Enable  Simulation,</em> and allows you to divert an enroute aircraft to a desired  airport and runway for landing. </p>
<p>&nbsp;</p>
<p><strong>Send Key Event&hellip;</strong> Send applicable key events to the selected aircraft  to affect systems or functionality normally accessible when flying user  aircraft (lights, gear, flaps, spoilers, engine, smoke, start/stop, etc.). </p>
<p>&nbsp;</p>
<p><strong>Enable Simulation</strong> &ndash; When unchecked, disables simulation and places  the aircraft in a sleep-like (frozen) state. <em>Enable Simulation</em> must be checked in order for many of the  right-click options to take effect.</p>
<p>&nbsp;</p>
<p><strong>Enable Slew</strong> &ndash; When checked (in combination with <em>Enable Simulation</em> and <em>Enable UserInput),</em> allows you to slew  the selected aircraft.</p>
<p>&nbsp;</p>
<p><strong>Enable UserInput</strong> &ndash; When checked (in combination with <em>Enable Simulation</em>) allows you to control  (fly) selected aircraft via keyboard or joystick inputs.</p>
<p>&nbsp;</p>
<p><strong>Delete </strong>- Removes the aircraft from the Flight Simulator world. </p>
<p>&nbsp;</p>
<h2><a name="TrafficMap">Traffic Map</a></h2>
<p>The Traffic Map displays a top-down display of the positions  of the active aircraft in the <i>Flight Simulator</i> world.&nbsp; By default, the map is centered on the  aircraft currently in view in the main 3D window.&nbsp; To center the map on another aircraft click  on its entry. This tool also shows the active boat traffic. </p>
<p>&nbsp;</p>
<p><img src="Images\TrafficMap.jpg"/></p>
<h2><a name="DumpAirportList"></a>Dump Airport List</h2>
<p>The Dump Airport List menu option opens a dialog box which  may be used to create a list of airports suitable for use with the /Airports  parameter of the <a href="#TheTrafficDatabaseBuilderUtility">Traffic Database Builder</a> utility.&nbsp;The airport list file, and log file if a filename is entered, will be placed by default in the <i>Microsoft Flight Simulator X</i> folder (the default names are airport_list and airport_list_log). This tool is not used at all for boat traffic. </p>
<p>&nbsp;</p>
<p><img src="Images\TrafficDump.jpg" alt="1"/></p>
<p>&nbsp;</p>
<p>The airport list file will contain information on every airport in <i>Flight Simulator</i> (over 24,000), for example: </p>
<p>&nbsp;</p>
<table class="T1" cellspacing="2" cellpadding="4">
  <tr>
    <td><h5>Airport entry </h5></td>
    <td><h5>Description</h5></td>
  </tr>
  <tr>
    <td><p>      KSEA,47.448999994,-122.309305519,132.0,B,10,1.00,United States<br />
      {<br />
      RUNWAY,11894,150,HARD<br />
      RUNWAY,9421,150,HARD<br />
      PARKING,18.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,10.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,14.0,RAMP<br />
      PARKING,50.0,CARGO<br />
      PARKING,50.0,CARGO<br />
      PARKING,10.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,50.0,CARGO<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,36.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,14.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,14.0,RAMP<br />
      PARKING,10.0,RAMP<br />
      PARKING,10.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,18.0,RAMP<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,23.0,GATE<br />
      PARKING,18.0,GATE<br />
      PARKING,18.0,GATE<br />
      }</p>
    <p></p></td>
    <td><p>The ICAO code identifies SeaTac airport, followed by:</p>
      <p><br />
      Latitude = airport latitude in decimal degrees</p>
      <p><br />
        Longitude = airport longitude in decimal degrees<br />
      </p>
      <p>Altitude = airport altitude in meters above mean sea level<br />
      </p>
      <p>AirspaceClass = airport's ICAO airspace class: B, C, D, or G<br />
      </p>
      <p>NumApproachFreqs = number of ATC approach control frequencies</p>
      <p>&nbsp;</p>
      <p>Traffic scalar factor = number in range from 0.01 to 1.00 that determines busyness of airport. </p>
      <p>&nbsp;</p>
      <p>Country = country name used to determine the style of tail numbers used on the aircraft. <br />
      </p>
      <p>For each RUNWAY entry: </p>
      <p>&nbsp;   </p>
      <p>Length = runway length in feet<br />
      </p>
      <p>Width = runway width in feet<br />
      </p>
      <p>SurfaceType = runway surface type, one of: <br />
      HARD = paved runways<br />
      SOFT = unpaved runways such as turf, dirt, or gravel<br />
             WATER = water runway for seaplanes<br />
             SNOW = snow runway for ski-equipped aircraft<br />
      </p>
      <p>For each PARKING entry: </p>
      <p>&nbsp;</p>
      <p>Radius = parking space radius in meters (this determines the maximum size of  aircraft that can park in this slot, note the fs10.AircraftTypes.csv file, described below, has this information for each aircraft). <br />
      </p>
      <p>ParkingType = parking space type, one of: <br />
         RAMP = general aviation ramp<br />
             CARGO = cargo loading area<br />
         GATE = airline gate</p>
      <p>        DOCK = seaplane dock<br />
        MIL_CARGO = military cargo loading area<br />
        MIL_COMBAT = miltary combat aircraft parking area</p></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>The log file will contain information on airports where the data might not be complete. For example: </p>
<p>&nbsp;</p>
<p><i>ABCD</i> has no hold short points</p>
<p><i>ABCD</i> has no runways</p>
<p>&nbsp;</p>
<p>where <i>ABCD</i> is the ICAO code for the airport. </p>
<h2><a name="TheTrafficDatabaseBuilderUtility">The Traffic Database Builder Utility</a></h2>
<p>You  can use the TrafficDatabaseBuilder utility to customize the types of aircraft  and routes flown by the AI (&ldquo;artificial intelligence&rdquo; or computer-controlled)  pilots and ship's captains in <i>Microsoft&reg; Flight Simulator X</i>.&nbsp; For  example, you can adjust the traffic that flies into and out of an airport or a  set of airports to match actual airline schedules. To use this tool, you should  understand how to edit text files and use commands and parameters in a  command-line interface.</p>
<p>&nbsp;</p>
<p>The  easiest way to use the TrafficDatabaseBuilder is to let it automatically  schedule the aircraft and routes for you, which will quickly fill the skies and  airports with traffic.&nbsp; However, if you  want to have aircraft fly specific routes and schedules, you&rsquo;ll need to  manually create schedules, which is a bit more difficult and time consuming.&nbsp; </p>
<p>&nbsp;</p>
<p>If  you choose the automatic option, the maximum amount of traffic is determined by  the number of airports and parking spaces.&nbsp;  Each parking space has a radius and classification that determine what  types of aircraft can use it.&nbsp; Airports  with gate parking spaces serve airliners, and airports with mostly ramp parking  spaces primarily serve general aviation traffic.&nbsp; When scheduling parking spaces, the  TrafficDatabaseBuilder assumes that a parking space will be occupied for a  minimum of 45 minutes.</p>
<p>&nbsp;</p>
<p>The  schedules and routes processed by the TrafficDatabaseBuilder are written into a  file called a traffic database.&nbsp; The default  traffic database files are named trafficAircraftnnnnnn.bgl for aircraft traffic, and trafficBoatsnnnnnn.bgl for sea traffic, and both are located in the <i>\scenery\World\scenery </i>folder of your<i> Flight Simulator</i> installation.&nbsp; You can give your own traffic databases any  name you desire as long as they have the .bgl extension and are located in one  of the active scenery directories.&nbsp; </p>
<p>&nbsp;</p>
<p>You  can replace the default traffic database or just augment it with your own  databases.&nbsp; You can create and use as  many traffic database files as you want. Be aware that the result of using multiple  simultaneous traffic databases is cumulative, and can result in a lot of traffic.<strong></strong></p>
<p>&nbsp;</p>
<p>TrafficDatabaseBuilder.exe  displays the following command line help if you run it with no command line  arguments:</p>
<p>&nbsp;</p>
<table class="T1" cellspacing="2" cellpadding="4">
  <tr>
    <td><p><img src="Images/TrafficDatabaseBuilder options.JPG" width="640" height="357" /></p>
    </td>
  </tr>
</table>
<h4>/Output parameter</h4>
<p>The  required <strong>/Output</strong> parameter tells the  TrafficDatabaseBuilder the name of the file into which to write the traffic  database, for example <em>Traffic.bgl</em>.&nbsp; It must have a .bgl file extension.</p>
<h4>/Airports parameter</h4>
  <p>The   <strong>/Airports</strong> parameter  provides the TrafficDatabaseBuilder with the list of airports that are usable  by AI aircraft. The FS10.Airports.dat file contains the default list of AI-capable  airports that shipped with <i>Flight Simulator X </i>. Multiple airport lists may be  combined by repeating the <strong>/Airports</strong> parameter once for each list. If an airport is present in more than one list,  the last occurrence of the airport is preserved and all prior duplicates are  discarded. The format of an airports file is shown for the <a href="#DumpAirportList">Dump Airport List</a> tool, and for an example see <a href="#ToCustomizetheAirportList">To Customize the Airport List</a>. </p>
  <h4>/AircraftTypes parameter</h4>
  <p>Use  the  <strong>/AircraftTypes</strong> parameter to provide the TrafficDatabaseBuilder with one or more lists of  aircraft types that may appear as AI aircraft. The default aircraft type list  is contained in the fs10.AircraftTypes file. For the file format and an example, see <a href="#ToCustomizetheAircraftList">To Customize the Aircraft  List</a>.</p>
  <h4>/Countries</h4>
  <p>This file provides the tail number format descriptions for each country or region. The file is a comma delimited text file.</p>
  <p>&nbsp; </p>
  <table class= "T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><h5>Format</h5></td>
      <td><h5>Description</h5></td>
    </tr>
    <tr>
      <td>United States	N####*<br />
        Nauru	C2-@@*<br />
        Micronesia	V6-@@@<br />
      Papua New Guinea	P2-@@@<br /></td>
      <td><p>Any fixed digit or letter or hyphen will appear in the tail number.</p>
      <p>&nbsp;</p>
      <p>@ = randomly chosen  letter other than &lsquo;O&rsquo; or &lsquo;I&rsquo;</p>
      <p>&nbsp;</p>
      <p># = randomly chosen digit: 0-9</p>
      <p>&nbsp;</p>
      <p>* = random    letter or digit, other than letters &lsquo;O&rsquo; or &lsquo;I&rsquo;</p>
      </td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <h4>/BoatTerminals</h4>
  <p>This file provides the list of boat terminals. The file is a comma delimited text file (see the example <a href="terminals.csv">terminals.csv</a>). </p>
  <p>&nbsp;</p>
  <p>Boat traffic schedules cannot currently be customized. New boat types, routes and terminals can be added, but it is up to the auto-scheduler within <i>Flight Simulator</i> to actually schedule boat traffic. The terminal IDs can be any unique number within the terminals.csv file, and then those numbers are used in the routes.csv file. There is no table of IDs corresponding to actual ports, it is the list of lat/lon waypoints that determines the route taken by the ships.</p>
  <p>&nbsp;</p>
  <table class="T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><h5>Format</h5></td>
      <td><h5>Description</h5></td>
    </tr>
    <tr>
      <td>3370	5	CARGO|OIL<br />
        5520	5	CARGO|OIL<br />
        7640	5	CARGO|OIL<br />
        8595	5	CARGO|CRUISE|OIL<br />
        8640	5	CARGO|CRUISE|OIL<br />
      8860	5	CARGO|CRUISE|OIL<br /></td>
      <td><p>The first number is a unique ID for the terminal.</p>
      <p>&nbsp;</p>
      <p>The single digit, 5 in these examples, is the capacity of the terminal (in ships).</p>
      <p>&nbsp;</p>
      <p>The third entry is one or more of:</p>
      <p>&nbsp;</p>
      <p>CARGO, OIL, CRUISE, FERRY   </p></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <h4>/BoatRoutes</h4>
  <p>This file provides a list of boat routes, defined by the terminal IDs and a list of lat/lon waypoints.  The file is a comma delimited text file (see the example <a href="routes.csv">routes.csv</a>). </p>
  <p>&nbsp; </p>
  <table class"T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><h5>Format</h5></td>
      <td><h5>Description</h5></td>
    </tr>
    <tr>
      <td><p># ID of route, Terminal from ID, Terminal to ID</p>
        <p># route  </p>
        <p>2167	501149	501150<br />
        { <br />
        49.56965958	-54.40669057 <br />
        49.55174963	-54.48902969 <br />
        49.57014958	-54.30605962 <br />
        49.57087965	-54.30308958 <br />
        49.57229971	-54.30131965 <br />
      } <br />
      </p></td>
      <td><p>The first number is the route ID, the second two the terminals (departing from, and destination).</p>
      <p>&nbsp;</p>
      <p>Within the brackets are the latitude and longitude of the waypoints of the route.  </p></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <h4>/BoatTypes</h4>
  <p>This file contains the types of boats, and the routes that they might follow: </p>
  <p>&nbsp;</p>
  <table class="T1" cellspacing="2" cellpadding="4">
    <tr>
      <td width="407"><h5>Format</h5></td>
      <td width="235"><h5>Description</h5></td>
    </tr>
    <tr>
      <td>        <p># Format is:</p>
        <p># typeKey title speed routeTypes AutoSchedule?  </p>
        <p>&nbsp;</p>
        <p>CargoB	cargoB	25	CARGO	yes<br />
          <br />
        supertanker_02_sm	VEH_water_supertanker_02_sm	25	OIL	yes</p>
        <p><br />
          Ferry1	ferry1	20	FERRY	yes<br />
          <br />
          cruise_linerA_sm	cruise_linerA_sm	20	CRUISE	yes<br />
          <br />
          cruiseship2_sm	VEH_water_cruiseship2_sm	20	CRUISE	yes<br />
        </p></td>
      <td>   <p>typeKey = a unique keyword used to identify this type of ship (max 15 chars) </p>
        <p><br />
          title = the title string from sim.cfg <br />
        </p>
        <p>speed = cruising speed in knots <br />
        </p>
        <p>routeTypes = one or more of: OIL|CRUISE|CARGO|FERRY<br />
        </p>
      <p>AutoSchedule? = automatically generate schedules for this boat type (yes/no) </p></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <h4>/Schedules parameter</a> </h4>
  <p>The   <strong>/Schedules</strong> parameter allows  you to manually specify one or more lists of routes and schedules flown by AI  aircraft. Since the TrafficDatabaseBuilder can automatically generate routes  and schedules, you normally don&rsquo;t need to use the <strong>/Schedules</strong> parameter. However, the <strong>/Schedules</strong> parameter can be particularly useful if you want to emulate  the routes and schedules of real airlines. For the file format and an example, see <a href="#ToCustomizetheAIAircraftRoutes">To Customize the AI Aircraft Routes</a>. </p>
  <h4>/AutoSchedule parameter</h4>
  <p>The   <strong>/AutoSchedule</strong> parameter allows  you to control whether the TrafficDatabaseBuilder automatically generates AI  traffic routes and schedules. The default is &ldquo;yes.&rdquo; You can use /<b>AutoRoute</b>=no  in conjunction with the <strong>/Schedules</strong> parameter if you want to see only AI traffic for which you&rsquo;ve created routes  and schedules.</p>
  <h4>/Log parameter</a></h4>
  <p>The   <strong>/Log </strong>parameter directs the  TrafficDatabaseBuilder to print any status, warning, or error messages to a  file of your choosing, in addition to printing them to the screen.<strong> </strong></p>
  <h4>/Quiet parameter</h4>
  <p>The   <strong>/Quiet=yes </strong>parameter may be  used to prevent the TrafficDatabaseBuilder from printing any output messages to  the command window.&nbsp; The default behavior  of the TrafficDatabaseBuilder is to print all status, warning, and error  messages to the command window, which is equivalent to <strong>/Quiet=no</strong>.<strong> </strong></p>
  <h4>/StatsDir parameter</h4>
  <p>If  you use the  <strong>/StatsDir </strong>parameter,  the TrafficDatabaseBuilder outputs a collection of statistical data files to  the directory you specified. Perhaps the most useful of these data files is  AirportSchedule.txt, which contains arrival and departure schedules for each  airport visited by AI traffic.  &nbsp;</p>
  <h3>Sample Traffic Database Builder Tasks</h3>
  <p>The following gives some example uses of the TrafficDatabaseBuilder tool. </p>
  <h4><strong>1. To Build a Traffic Database using the  Default Aircraft</strong> and Default Airports </h4>
  <p>Type the following command:</p>
  <p>&nbsp;</p>
  <p><b>TrafficDatabaseBuilder  /Airports=fs10.Airports.dat /AircraftTypes=fs10.AircraftTypes.csv /Output=traffic.bgl</b></p>
  <p>&nbsp;</p>
  <p>Then copy the new traffic.bgl file to the <i>scenery\World\scenery</i> directory of the folder where you installed <i>Flight Simulator</i>, and remove the default trafficAircraftnnnnnn.bgl file. </p>
  <h4><strong>2. To Customize the Airport List</strong><a name="ToCustomizetheAirportList"></a></h4>
  <p>The only safe customizations to make to the airport list are to remove airports, and to remove particular parking spots from within an airport. <i>Flight Simulator</i> does not use this list to create airport data, so the adding or changing of data will result in some strange and probably unwanted behavior. If you do not want any light  aircraft to fly to a particular airport, then you could delete all  of the RAMP parking spaces and then the traffic database builder will not schedule any aircraft to use them. The best method of deleting a parking entry is to comment it out. For example, to disallow any light aircraft to use SeaTac airport, and to prevent any aircraft using Dallas/Fort Worth, then enter the following command:</p>
  <p>&nbsp;</p>
  <p><b>TrafficDatabaseBuilder  /Airports=fs10.Airports.dat /Airports=customairports.dat  /Output=trafficAircraft.bgl</b></p>
  <p>&nbsp; </p>
  <p>where the file customairports.dat contains the following:</p>
  <p>&nbsp;</p>
  <table class="T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><p># delete Dallas/Fort Worth Airport from the list. This is done simply by entering the ICAO code, with no</p>
          <p># other information</p>
        <p> <br />
          KDFW</p>
        <p>&nbsp;</p>
        <p># Prevent AI aircraft from using general aviation parking spaces at Seattle-Tacoma Intl. </p>
        <p>&nbsp;</p>
        <p>KSEA,47.448999994,-122.309305519,132.0,B,10,1.00,United States<br />
          {<br />
          RUNWAY,11894,150,HARD<br />
          RUNWAY,9421,150,HARD<br />
          PARKING,18.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,36.0,GATE<br />
          # PARKING,10.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          # PARKING,14.0,RAMP<br />
          PARKING,50.0,CARGO<br />
          PARKING,50.0,CARGO<br />
          # PARKING,10.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          PARKING,50.0,CARGO<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,36.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          # PARKING,18.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          # PARKING,14.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          # PARKING,14.0,RAMP<br />
          # PARKING,10.0,RAMP<br />
          # PARKING,10.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          # PARKING,18.0,RAMP<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,23.0,GATE<br />
          PARKING,18.0,GATE<br />
          PARKING,18.0,GATE<br />
          }</p></td>
    </tr>
  </table>
  <p>&nbsp; </p>
  <h4><strong>3. To Customize the Aircraft List</strong><a name="ToCustomizetheAircraftList" id="ToCustomizetheAircraftList"></a></h4>
  <p>To add addition aircraft types, defined in the file CustomAircraftTypes.csv, type the following command:</p>
  <p>&nbsp;</p>
  <p><b>TrafficDatabaseBuilder  /Airports=fs10.Airports.dat /AircraftTypes=fs10.AircraftTypes.csv /AircraftTypes=CustomAircraftTypes.csv /Output=traffic.bgl</b></p>
  <p>&nbsp;</p>
  <p>If the <i>only</i> aircraft types to use for AI traffic are in the CustomAircraftTypes.csv file, then type:</p>
  <p>&nbsp;</p>
  <p><b>TrafficDatabaseBuilder  /Airports=fs10.Airports.dat  /AircraftTypes=CustomAircraftTypes.csv /Output=traffic.bgl</b> </p>
  <p>&nbsp;</p>
  <p>The format of aircraft type information files is as follows:</p>
  <p>&nbsp;</p>
  <table class="T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><h5>Format</h5></td>
      <td><h5>Description</h5></td>
    </tr>
    <tr>
      <td><p>typeKey,Title,Cruise,minAlt,maxAlt,minRange,maxRange,minRwyLen,runwayTypes, radius,parkingTypes,IFR%,AutoRoute?,TouchAndGo?<br />
        </p>
        <p># Examples</p>
        <p> <br />
        BE58,Beech&nbsp;Baron&nbsp;58,200,40,120,50,661,4000,HARD,7,RAMP,50,yes,no</p>
        <p><br />
        B350,Beech&nbsp;King&nbsp;Air&nbsp;350,315,150,250,100,1298,4000,HARD,11,RAMP,75,yes,no</p>
        <p><br />
          B734-0,Boeing&nbsp;737-400,477,250,350,200,2248,6426,HARD,22,GATE,100,yes,no<br />
          <br />
        </p></td>
      <td><p>   typeKey = a unique keyword used to identify this type of aircraft (max 15 chars)</p>
        <p><br />
          title = the aircraft title string from aircraft.cfg<br />
        </p>
        <p>speed = cruising speed in knots true airspeed (KTAS)<br />
        </p>
        <p>minAlt maxAlt = minimum and maximum cruise flight levels in hundreds of feet<br />
        </p>
        <p>minRange maxRange = minimum and maximum range in nautical miles<br />
        </p>
        <p>minRwyLen = minimum runway length in feet required by this aircraft<br />
        </p>
        <p>runwayTypes = HARD|SOFT|WATER|SNOW (one or more)<br />
        </p>
        <p>radius = minimum parking radius in meters required by this aircraft<br />
          parkingTypes = RAMP|CARGO|GATE|DOCK|MIL_CARGO|MIL_COMBAT (one or more)<br />
        </p>
        <p>IFR% = probability of this aircraft flying IFR (0 - 100)<br />
        </p>
        <p>AutoRoute? = automatically generate route for this aircraft (yes/no)<br />
        </p>
        <p>TouchAndGo? = allow touch and goes when automatically generating routes (yes/no)</p>
        <p>&nbsp;</p></td>
    </tr>
  </table>
  <p>&nbsp; </p>
  <h4><strong>4. To Customize the AI Aircraft Routes</strong><a name="ToCustomizetheAIAircraftRoutes" id="ToCustomizetheAIAircraftRoutes"></a></h4>
  <p>To restrict aircraft routes to only those defined in the CustomAircraftSchedules.dat file, type </p>
  <p>&nbsp;</p>
  <p><b>TrafficDatabaseBuilder  /Airports=fs10.Airports.dat /Schedules=CustomAircraftSchedules.dat /AutoSchedule=No /Output=traffic.bgl</b></p>

  <p>&nbsp;</p>
  <p>Remove the <b>/AutoSchedule</b> parameter, or set it to <b>Yes</b>, to add these routes to the auto-generated schedules.</p>
  <p>&nbsp; </p>
  <p>The format of a Schedules data file is as follows:</p>
  <p>&nbsp;</p>
  <table width="763" cellpadding="4" cellspacing="2" class="T1">
    <tr>
      <td width="456"><h5>Format </h5></td>
      <td width="283"><h5>Description</h5></td>
    </tr>
    <tr>
      <td>   <p># For each scheduled flight enter the following data:</p>
        <p>&nbsp; </p>
        <p>typeKey,tailNumber,trafficDensity,repeatEvery,flightRules<br />
           {<br />
               departureTime,destinationAirportId,flightLevel[,flightNumber][,circuitEndTime]<br />
               departureTime,destinationAirportId,flightLevel[,flightNumber][,circuitEndTime]<br />
        # enter as many departures as required </p>
        <p>}<br />
        </p></td>
      <td>   <p>typeKey = one of the typeKeys from fs10.AircraftTypes.csv</p>
        <p><br />
        tailNumber = unique aircraft tail number</p>
        <p>&nbsp;        </p>
        <p>trafficDensity = minimum traffic density required (1 to 100)</p>
        <p>&nbsp;        </p>
        <p>repeatEvery = ONE_HOUR, TWO_HOURS, FOUR_HOURS, SIX_HOURS, EIGHT_HOURS, TWELVE_HOURS, ONE_DAY, ONE_WEEK</p>
        <p>&nbsp;</p>
        <p>flightRules = IFR or VFR </p>
        <p>&nbsp;</p>
        <p>departureTime = DHHMM, where D = optional day of the week (0=Sunday, 1=Monday, etc) and 
        HHMM = zulu hour and minute of the day</p>
        <p>&nbsp;        </p>
        <p>destinationAirportId = destination airport ICAO identifier</p>
        <p>&nbsp;        </p>
        <p>flightLevel = the flight level, for example 20 = 20,000 feet </p>
        <p>&nbsp;</p>
        <p>flightNumber = optional airline flight number</p>
        <p>&nbsp;      </p>
        <p>circuitEndTime = optional time to stop flying circuits at the destination</p></td>
    </tr>
</table>
  <p>&nbsp;</p>
  <p>Routes with two or more destinations are circular.  The origin of each  leg is inferred from the previous destination.  Since routes are circular, the origin of the first leg is inferred from the destination of the last  leg in the route.  Aircraft whose route includes only a single airport must fly circuits by specifying a circuitEndTime.  When choosing departure times, you must allow enough time to travel the  great circle route of the previous leg at the aircraft's cruise airspeed  plus 45 minutes.  The extra 45 minutes is required to compensate for  uncertainties due to winds aloft, ATC vectoring, and taxi time before  takeoff and after landing.</p>
  <p>&nbsp;</p>
  <p>To make an aircraft fly circuits at the destination, specify a  circuitEndTime for that leg.  If the circuitEndTime is less than ten minutes before the departure time of the next leg, the aircraft will  not park but will fly circuits until the next departure time and then fly on to the next destination. The TrafficDatabaseBuilder will not allow you to schedule more than three aircraft at a time to be doing circuits  at an airport to keep the traffic pattern from becoming overly congested. </p>
  <p>&nbsp;</p>
  <p>For example, the following CustomAircraftSchedules.dat file shows some sample airline and general aviation custom schedules: </p>
  <p>&nbsp;</p>
  <table class="T1" cellspacing="2" cellpadding="4">
    <tr>
      <td><p># Aircraft type:   DH8A-1<br />
        # Tail number:     N681UA<br />
        # Traffic density: 66%<br />
        # Repeats every:   four hours<br />
        # Flight rules:    IFR<br />
        # Schedule:<br />
        # Time   Departure  Destination  Altitude  FlightNumber<br />
        # 0130Z  KEUG       KSEA         FL240     5220<br />
        # 0330Z  KSEA       KEUG         FL230     5221</p>
        <p>&nbsp;</p>
        <p>DH8A-1,N681UA,66,FOUR_HOURS,IFR<br />
          {<br />
          0130,KSEA,240,5220<br />
          0330,KEUG,230,5221<br />
          }</p>
        <p>&nbsp;</p>
        <p># Aircraft type:   B734-0<br />
          # Tail number:     C-ABCD<br />
          # Traffic density: 33%<br />
          # Repeats every:   day<br />
          # Flight rules:    IFR<br />
          # Schedule:<br />
          # Time   Departure  Destination  Altitude  FlightNumber<br />
          # 1900Z  KEUG       KSEA         120       (none)<br />
          # 2100Z  KSEA       KSFF         130<br />
          # 2300Z  KSFF       KBOI         130<br />
          # 0100Z  KBOI       KRDD         120<br />
          # 0300Z  KMFR       KEUG         120</p>
        <p><br />
          B734-0,C-ABCD,33,ONE_DAY,IFR<br />
          {<br />
          1900,KSEA,120<br />
          2100,KGEG,130<br />
          2300,KBOI,130<br />
          0100,KMFR,120<br />
          0300,KEUG,120<br />
          }</p>
        <p>&nbsp;</p>
        <p># Aircraft type:   C182-0<br />
          # Tail number:     G-ASDF<br />
          # Traffic density: 33%<br />
          # Repeats every:   week<br />
          # Flight rules:    VFR<br />
          # Schedule:<br />
          # Day  Time   Departure  Destination  Altitude  FlightNumber  Circuits?<br />
          # Sat  1901Z  KEUG       KSLE         65        (none)        until Sat 2000Z<br />
          # Sat  2000Z  KSLE       KEUG         55                      none</p>
        <p>&nbsp;</p>
        <p>C182-0,G-ASDF,33,ONE_WEEK,VFR<br />
          {<br />
          61901,KSLE,65,,62000<br />
          62000,KEUG,55<br />
          }</p>
        <p>&nbsp;</p>
        <p># Aircraft type:   C172-1<br />
          # Tail number:     N172SP<br />
          # Traffic density: 33%<br />
          # Repeats every:   hour<br />
          # Flight rules:    VFR<br />
          # Schedule:<br />
          # Time   Departure  Destination  Altitude  FlightNumber  Circuits?<br />
          # 0010Z  KEUG       KEUG         12        (none)        until 0045Z</p>
        <p>&nbsp;</p>
        <p>C172-1,N172SP,33,ONE_HOUR,VFR<br />
          {<br />
          0010,KEUG,12,,0045<br />
      }</p></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <h4>Limitations</h4>
  <ul>
  <li>Randomly generated aircraft routes are limited  to round trips between a single pair of airports. However, manually created  routes may have multiple legs.</li>
  <li>All routes between airports are direct. This  limitation applies to both random and manually created routes. To minimize the  chance of AI aircraft flying into terrain, the TrafficDatabaseBuilder uses a  course grid of minimum safe altitudes. Routes whose altitudes are found to be  below the minimum safe altitude are adjusted upwards as necessary. If an  aircraft is unable to fly at the minimum safe altitude for a route, that  aircraft/route combination is rejected.</li>
  <li>The TrafficDatabaseBuilder will not allow an  airport&rsquo;s parking spaces to be overscheduled. If you attempt to schedule too  many aircraft at an airport simultaneously, the extra aircraft will not get added  to the database.</li>
  <li> If you  install new airports or modify existing ones, you will need to update  fs10.Airports.dat to reflect the changes, using the <a href="#DumpAirportList">Dump   Airport List</a> tool..</li>
  <li>Moving parts such as landing gear and control  surfaces may not animate correctly on older (pre-<i>Flight Simulator 2004</i>) add-on aircraft used as AI traffic.  Moving parts on newer aircraft should  function properly when used as AI traffic.  </li>
</ul>
  <h4>Questions and Answers</h4>
  <p>&nbsp;</p>
<p><strong>Q:&nbsp; Is it possible to assign an aircraft to only  fly from airport A to airport B instead of a round trip?</strong></p>
<p>A:&nbsp;&nbsp; No. One of  the design goals of the AI traffic system was that aircraft should not appear  or disappear suddenly while in view. To meet that requirement, all routes must  be round-trip so that the aircraft's position in the world can be accounted for  at all times.</p>
<p>&nbsp;</p>
<p><strong>Q:&nbsp; Where is the departure airport defined in the  custom routes file? You have a destination airport, and even a departure time  and frequency. But how do you associate the structure with a particular  airport?</strong></p>
<p>A:&nbsp;&nbsp; All routes  are round-trip, so the departure location is the same as the previous arrival  location. Also, the departure location of the first leg is the same as the  arrival location of the last leg. For example, in the schedule below the  departure and destination locations are noted in parenthesis after each line of  the schedule.<br />
    <br />
  B734-0,N12345,33,ONE_DAY,IFR<br />
  {<br />
  &nbsp; 1900,KSEA,120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>(depart at 1900Z  from KEUG to KSEA at 12,000 feet)</em><br />
  &nbsp; 2100,KSFF,130&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>(depart at 2100Z  from KSEA to KSFF at 13,000 feet)</em><br />
  &nbsp; 2300,KBOI,130&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>(depart at 2300Z  from KSFF to KBOI at 13,000 feet)</em><br />
  &nbsp; 0100,KRDD,120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>(depart at 0100Z  from KBOI to KRDD at 12,000 feet)</em><br />
  &nbsp; 0300,KEUG,120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>(depart at 0300Z  from KRDD to KEUG at 12,000 feet)</em><br />
  }</p>
<p><strong>Q:&nbsp; Why does the TrafficDatabaseBuilder generate  an error message if I schedule an aircraft to depart within 45 minutes of the  time it arrived at an airport?</strong></p>
<p>A:&nbsp;&nbsp; The  TrafficDatabaseBuilder enforces a minimum aircraft turnaround time of 45  minutes. A bit of flexibility is needed in the schedule to account for  uncertainties due to winds aloft, approach vectoring, taxiing, obtaining  takeoff clearances, etc. This flexibility in the schedule helps to ensure that  if you follow an AI aircraft through its complete route that it would never get  too far off schedule. Staying reasonably close to schedule is important because  at 100 percent traffic density, Flight Simulator utilizes nearly 100 percent of  the available airport parking. If the schedules were constructed inflexibly, airports  and parking spaces would frequently be over-utilized, creating traffic jams.</p>
<p>&nbsp;</p>
<p><strong>Q:&nbsp; When I try to add a custom route I get an  error message that the Zulu hour must be between 0 and 3.</strong></p>
<p>A:&nbsp;&nbsp; If your  route repeats every four hours, then the times you input must be between 0000Z  and 0359Z inclusive. Likewise, if your route repeats every eight hours, the  times you input must be between 0000Z and 0759Z inclusive, and so on.</p>
<p>&nbsp;</p>
<p><strong>Q:&nbsp; What is the departure time in  CustomSchedules.dat? Is it when the aircraft begins to taxi or when it takes off?</strong></p>
<p>A:&nbsp;&nbsp; The departure time used by the TrafficDatabaseBuilder is the time  at which an aircraft begins the process of leaving the parking space by either  pushing back, starting the engines, or calling for an IFR clearance. Takeoff  usually occurs within ten minutes after the departure time.</p>
<p>&nbsp;</p>
<p><strong>Q:&nbsp; Is  there a limit to the number of aircraft present at an airport ?</strong></p>
<p>A:&nbsp;&nbsp; Yes. Airport traffic is limited by the number  (and size) of parking spaces available at the airport. The largest parking space  of each type (ramp, cargo, gate, etc.) is always reserved for the user aircraft  and the rest may be allocated to AI traffic.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">&copy; 2006 Microsoft Corporation. All rights reserved. </p>
<p align="center">~~@~~ </p>
<p align="center">&nbsp;</p>
</body>
</html>
