# SimConnect_AICreateParkedATCAircraft_EX1 The **SimConnect\_AICreateParkedATCAircraft** function is used to create an AI controlled aircraft that is currently parked and does not have a flight plan. This function can be used with both *legacy* SimObjects, and **modular** SimObjects.   ##### Syntax ``` cpp HRESULT SimConnect_AICreateParkedATCAircraft_EX1( HANDLE hSimConnect, const char* szContainerTitle, const char* szLivery, const char* szTailNumber, const char* szAirportID, SIMCONNECT_DATA_REQUEST_ID RequestID ); ```   ##### Parameters
ParameterDescriptionType
hSimConnectHandle to a SimConnect object.Integer
szContainerTitle

Null-terminated string containing the container title. The container title is found in the title parameter of the aircraft.cfg file, or alternatively, you can find it from the list found in the Aircraft Capture Tool.

IMPORTANT! This title must be in an aircraft Preset.You may also retrieve the information with SimConnect using the SimConnect_EnumerateSimObjectsAndLiveries function.

Examples of aircraft titles:

  1. title=Boeing 747-8f Asobo
  2. title=DA62 Asobo
  3. title=VL3 Asobo
String
szLivery

Null-terminated string containing the livery name. This field is only required when checking modular SimObjects, since their liveries are dynamically handled and do not have a unique title parameter like legacy aircraft.

This parameter can be set to either the name of the livery as defined in the name parameter of the livery.cfg, or to the folder name of the livery in the package. Note that you can also get the livery name using the SimConnect_EnumerateSimObjectsAndLiveries function.

The function will check for the folder first, then the parameter name second, and if the given name is not found in either location, then the default livery will be used.

String
szTailNumberNull-terminated string containing the tail number. This should have a maximum of 12 characters.String
szAirportIDNull-terminated string containing the airport ID. This is the ICAO code string, for example, KSEA for SeaTac International.String
RequestIDSpecifies the client defined request ID.Integer
  ##### Return Values The function returns an **HRESULT**. Possible values include, but are not limited to, those in the following table. {{< table-wrapper >}} | Return value | Description | |--------------|-------------------------| | S\_OK | The function succeeded. | | E\_FAIL | The function failed. | {{< /table-wrapper >}}   ##### Remarks Calling this function is no guarantee that there is sufficient parking space at the specified airport. An error will be returned if there is insufficient parking space, and an aircraft will not be created. The following exceptions can be created by this function (refer to the [SIMCONNECT\_EXCEPTION](../structures-and-enumerations/simconnect-exception/) enum for more details): - `SIMCONNECT_EXCEPTION_OBJECT_OUTSIDE_REALITY_BUBBLE` - `SIMCONNECT_EXCEPTION_OBJECT_CONTAINER` - `SIMCONNECT_EXCEPTION_OBJECT_AI` - `SIMCONNECT_EXCEPTION_OBJECT_ATC` - `SIMCONNECT_EXCEPTION_OBJECT_SCHEDULE` - `SIMCONNECT_EXCEPTION_CREATE_OBJECT_FAILED`   After creating an aircraft with this function, a call to [SimConnect\_AISetAircraftFlightPlan](simconnect-aisetaircraftflightplan/) will set the aircraft in motion.   When allocating a parking space to an aircraft, the simulation uses a radius based on half the wingspan defined in the `[AIRPLANE_GEOMETRY]` section of the `flight_model.cfg`.   Refer also to the remarks for [SimConnect\_AICreateEnrouteATCAircraft\_EX1](simconnect-aicreateenrouteatcaircraft-ex1/).