Création de Mission

Vue d'ensemble

Le but de ce document est d'expliquer comment créer des missions pour le Simulateur de vol X . Une mission est un vol structuré qui peut être une aventure, une classe de travaux dirigés, un essai de connaissance ou l'habileté(la compétence), un tour d'amusement,ou quoi que le créateur peut imaginer. Ces missions sont stockées dans des fichiers XML et sont faites disponibles à l'utilisateur par le menu de Missions de Simulateur de vol X .

La création de Missions implique l'utilisation de l'Outil de Placement d'Objet, qui est puissant, mais pas l'outil le plus facile ou le plus évident pour utiliser.

La section de Classe de travaux dirigés de ce document explique comment installer l'outil, comment créer une mission simple l'utilisant et comment ajouter que la Mission pour qu'il montre dans le Simulateur de vol X .

La section de Référence de ce document explique toutes les options disponibles pour faire des missions plus complexes et impliquées .

Table of Contents

Installation

L'outil lui-même est codé dans Object_Placement.dll. Peut Object_Placement.dll être trouvé dans le Simulateur de vol de Microsoft X\SDK\Mission la liste d'adresses de Kit de Création .

Installer le dll , le fichier dll.xml dans le Le dossier devrait contenir les lignes hardies suivantes (si le fichier dll.xml existe déjà dans ce dossier), ou le fichier dll.xml devrait contenir tout suivant (si le fichier dll.xml n'existe pas déjà à l'emplacement juste).

<?xml version="1.0" encoding="Windows-1252"?>

<SimBase.Document Type="Launch" version="1,0">
<Descr>Launch</Descr>
<Filename>dll.xml</Filename>
<Disabled>False</Disabled>
<ManualLoad>False</ManualLoad>


<Launch.Addon>
<Name>Object Placement Tool </Name>
<Disabled>False</Disabled>
<Path>..\Microsoft Flight Simulator X SDK\SDK\Mission Creation Kit\Object_Placement.dll</Path>
</Launch.Addon>

 

</SimBase.Document>


Notez que les entrées Mises hors de service doivent être Fausses et que le Chemin est absolu ou quant à l'installation le Simulateur de vol de Microsoft X le dossier. Le chemin donné ci-dessus changera si le SDK ou le Simulateur de vol n'ont pas été installés à leurs dossiers de défaut. S'il y a d'autre addons qui doit être chargé en plus de l'outil de Placement d'Objet, donc ils auront aussi besoin C'est toute l'installation qui est nécessaire.

Mise à l'épreuve sur une installation couronnée de succès

Vous saurez que le Simulateur de vol a correctement installé l'outil quand vous mettez en marche le Simulateur de vol . Premièrement il y aura une fenêtre diagnostique pour SimConnect qui devrait annoncer que le dll a été lancé. Deuxièmement l'outil sera disponible dans le menu d'Outils de Simulateur de vol .
Assurez que le Simulateur de vol court dans le mode de Fenêtres et non le plein mode d'écran (vous pouvez basculer entre ces modes en appuyant Alt-Enter).

Si vous obtenez un message d'erreur dans la fenêtre diagnostique SimConnect , vérifiez le fichier SimConnect.xml pour le chemin correct à l'outil et vérifiez l'outil est où est devrait être.

Si l'outil a été installé correctement, cliquetant sur le Placement d'Objet dans le menu d'Outils vous donnera le dialogue ci-dessous :

Recommendation
À cause de la taille des dialogues, il peut être plus facile de créer des missions utilisant des écrans duels : un contenant les dialogues d'outil et l'autre exposition le terrain où les objets de Mission sont placés. Si vous utilisez un petit moniteur simple, vous devrez continuer à déplacer les dialogues d'outil de la voie de correctement placer vos objets.
 

 

Simulateur de vol Proche pour le moment. Le premier interviennent la création d'une mission est fait à l'extérieur du programme .


Classe de travaux dirigés : Création d'une Mission

Cette section passe tous les pas nécessaires de créer un décollage simple, exécuter une tâche simple et l'atterrissage de la mission.

Pas 1 : Concevez la Mission

des designers de mission expérimentés c'est une très bonne idée de concevoir la mission dans un certain détail avant même le départ d'utiliser l'outil pour le créer. Cependant pour des nouveaux venus à l'outil c'est plus facile simplement de commencer par un contour(plan) de base. Pour les buts de cette classe de travaux dirigés dans la façon d'utiliserl'outil, le contour(plan) de notre mission est :
  1. Mouche un Cessna de Champ(Domaine) de Boeing
  2. Atteignez une certaine altitude et une vitesse (1000 pieds et 80 noeuds)
  3. Achevez un modèle de trafic gauche ou juste
  4. La terre en arrière au Champ(Domaine) de Boeing, essayant d'atterrir sur le numéro(nombre) de piste de décollage et d'atterrissage
  5. Quand l'avion a atterri, la mission est finie
La mission sera simplement appelée MissionCreationTutorial .

L'ayant choisi finalement l'étape(la scène) suivante doit faire un peu de travail préparatoire avant le travail l'outil. Le simulateur de vol charge en haut les missions qui sont dans le Simulateur de vol de Microsoft X/missions la liste d'adresses, si le début en ajoutant un sous-répertoire à ces Missions appelées dans le progrès et un sous-répertoire à cette Classe de travaux dirigés de Création appelée.

Ajoutez maintenant trois fichiers à la liste d'adresses de Classe de travaux dirigés de Création : deuxfichiers d'images et un HTML mettant au courant fichier. Les deux fichiers d'image devraient être carrés et apparaîtront dans la liste de Missions de Simulateur de vol . Le premier sera utilisé avant que la mission n'ait été achevée par l'utilisateur et le deuxième pour quand la mission a été achevée. Les images devraient être 380 pixels larges par 232 pixels dans la hauteur et 256 couleur ou 5-6-5 format (pour utiliser l'utilité Imagetool pour convertir 24 particules bmp des fichiers à 5-6-5 format.). L'image devrait donner une certaine idée de ce que la mission est de. Pour notre classe de travaux dirigés nous utiliserons une image simple d'un Cessna :



Le fichier de briefing devrait être un fichier de HTML décrivant la mission. Vous ne serez pas probablement capables d'achever le fichier de briefing jusqu'à ce que la mission finalesoit achevée et évaluée, mais pour le moment utiliser une des images et notre description de mission. Par exemple :


Mission Creation Tutorial

La mouche un Cessna du Champ(Domaine) de Boeing, atteignez une certaine altitude et une vitesse (1000 pieds et 80 noeuds), atterrissez ensuite en arrière au Champ(Domaine) de Boeing.




Dans le résumé la liste d'adresses de Classe de travaux dirigés de Création contient maintenant trois fichiers :

Pas 2 : Créez la Mission Metadata

Le pas suivant doit créer metadata pour la mission. Un peu de cette information est simplement pour votre utilisation propre dans l'organisation et le recouvrement des missions sur lesquellesvous travaillez. Démarrage Simulateur de vol de nouveau et élite VOL LIBRE. Car l'avion choisit le Cessna C172P Skyhawk et pour l'aéroport choisissent le Roi de Champ(Domaine) de Boeing Co Intl. Choisissez alors la Mouche Maintenant et le clic sur l'Outilde Placement d'Objet du menu d'outils.

N l'étiquette de Mission principale, cliquent d'abord la Nouvelle Mission entre alors à un nom appropriéet à une description. Entrez  à la Classe de travaux dirigés de Création de Mission pour le nom et un certain texte approprié pour la description. Ceux-ci n'apparaissent pas quand la mission est dirigée, mais est simplement pour votre utilisation propre dans le catalogage et le maintien de vos missions propres. Ensuite le clic sur l'étiquette d'Objets, cela vous donnera l'écran suivant :



Le clic sur le bouton d'Add, ensuite dans la Première baisse(goutte) inscrit en bas (activé en cliquetant dans la boîte) choisissent MissionObject . Le clic dans la Deuxième boîte pour montrer la baisse(goutte) en bas la liste d'objets de mission et choisit ScenarioMetadata . Le clic sur Ajoute de nouveau et le dialogue devrait y ressembler :


Note
Si vous obtenez le message d'erreur "Vous devez regarder ou tout près de la raison(terre)" - utilisent le chapeau allument le levier de commande pour baisser les cheveuxmutuels(de mauvaise humeur) verts pour qu'ils indiquent à la raison(terre). Cela peut être nécessaire bien que l'objet étant entré ne soit pas approprié à aucun emplacement de raison(terre) particulier.

Le pas suivant doit ajouter les valeurs appropriées pour les propriétés du metadata . Éditer n'importe quelle valeur double cliquent sur l'entrée dans la boîte de Valeur. Pour notre mission simple, entrez  à la Mission dans ScenarioType ,  Seattle dans LocationDesc , choisissez le Débutant pour le niveau d'habileté(de compétence) et  entrez à 15 minutes pour EstimatedTime . Le DifficultyLevel peut être n'importe quelle valeur d'entier et est utilisé pour trier la liste de missions par la difficulté - l'apparition la plus facile d'abord. Laissez(quittez-le) à 0 pour que la mission apparaisse en haut de la liste chaque fois que vous commencez le Simulateur de vol , pour la convenance. Quand vous avez achevé la création de la mission, s'il doit être utilisé par d'autres, comparer ensuite la difficulté (et la valeur de DifficultyLevel ) avec d'autres missions et le changer ensuite à une valeur appropriée.

UncompletedImage se réfère au bitmap qui doit être montré avant que la mission n'ait été achevée par l'utilisateur, tapez donc Cessna_Incomplete.jpg ici et évidemment le CompletedImage se réfère au bitmap qui sera utilisé quand la mission a été achevée, tapez donc Cessna_Complete.jpg . Pour MissionBrief tapent MissionCreationTutorial . HTML . Il est important de ne pas ajouter un nom de fichier au metadata jusqu'à ce que ce fichier acutally existe, autrement l'outil peut s'effondrer. C'est pourquoi nous avons créé le fichier de briefing et reflétons d'abord.

Laissez(Quittez) les messages de texte et CategoryRef inchangé pour le moment.   

Sauvez maintenant de la mission, en retournant à l'étiquette de Mission et le déclic Sauvent(Économisent) la Mission. Le défaut doit sauver(économiser) le fichier de mission dans vos Mes Fichiers de Simulateur Documents\Flight X la liste d'adresses, mais naviguer au lieu de cela au Simulateur de vol de Microsoft X\missions\Missions dans la liste d'adresses de Classe de travaux dirigés Progress\Creation et sauver(économiser) la missionlà avec le nom de fichier MissionCreationTutorial . L'économie(le sauvetage) d'une mission rédigera les détails de la mission d'un fichier XML . Si vous ouvrez le fichier qui a juste été sauvé(économisé)cela devrait y sembler semblable :

 

  <?xml version="1.0" encoding="Windows-1252" ?>
 <SimBase.Document Type="MissionFile" version="1,0">
    <Descr>This is a mission created simply to explain the use of the Object Placement Tool.</Descr>
      <Filename>C:\Program Files\Microsoft Games\Microsoft Flight Simulator X\missions\Missions in Progress\Creation Tutorial\MissionCreationTutorial.xml</Filename>
     <Title>Mission Creation Tutorial</Title>
    <WorldBase.Flight>
    <SimMissionUI.ScenarioMetadata InstanceId="{871EB828-3439-4C4E-8BDA-4DDEAD4C9B2E}">
          <Descr>ScenarioMetadata1</Descr>
          <ScenarioType>Mission</ScenarioType>
          <LocationDescr>Seattle</LocationDescr>
          <DifficultyLevel>0</DifficultyLevel>
          <EstimatedTime>15 minutes</EstimatedTime>
  <UncompletedImage>Cessna_Incomplete.jpg</UncompletedImage>
  <CompletedImage>Cessna_Complete.jpg</CompletedImage>
  <MissionBrief>MissionCreationTutorial.HTML</MissionBrief>
  </SimMissionUI.ScenarioMetadata>
  </WorldBase.Flight>
  <MissionBuilder.MissionBuilder />
</SimBase.Document>

 

Maintenant est un bon temps pour entrer à la catégorie de votre mission. La catégorie (fait référence par  un GUID dans la propriété CategoryRef du metadata ) fera(sera) idenfity la mission comme un de la liste suivante :

Mettre la catégorie GUID dans votre coupe(diminution) de metadata et coller la valeur de ce fichier de Catégorie . Nous utiliserons la catégorie de Classe de travaux dirigés pour cette mission. Typiquement un outil commele Bloc-notes est utilisé pour faire cette sorte de d'édition aux données de mission. Assurez-vous pour inclure les parenthèses {} quand vous coupez et collez le GUID .

Création de Nouvelles Catégories
Il est possible de créer vos catégories propres. Pour faire cela crée un nouveau fichier et y ajoute le texte approprié et les entrées GUID . Le fichier devrait être placé dans le Simulateur de vol de Microsoft X/categories le dossier. Référez-vous à la section de Conseils de la documentation de Vue d'ensemble SDK pour l'informationsur la façon de produire votre GUIDs propre. 

Le format d'un nouveau fichier de catégories suit, ajouter tant

<?xml version="1.0" encoding="UTF-16" ?>
- <SimBase.Document Type="AceXML" version="1,0" id="FSCategories">
<Descr>AceXML Document</Descr>
<Filename>YourFSCategories.xml</Filename>

 

- <SimMissionUI.ScenarioCategory id="{GUID}">
<Descr>Description of your new category.</Descr>
<Title>Title of your new category </Title>
<PreviewImage>banner_image.bmp</PreviewImage>
</SimMissionUI.ScenarioCategory>

 

</SimBase.Document>



L'image de bannière devrait être 335 pixels larges par 75 pixels dans la hauteur et il devrait aussi être placé dans le Simulateur de vol de Microsoft X/categories le dossier .
References

Pas 3 : Liez la Mission d'un Fichier de Vol

Le pas suivant doit lier la mission que nous venons de commencer à un fichier de vol. C'est les vols qui sont chargés dans le Simulateur de vol , pas des missions, donc nous devons attacher les deux. Si vous n'avez pas fait si déjà, au début de Pas 2, avez fondé l'emplacement de départ dans le Simulateur de vol , créez à savoir un vol avec votre avion choisi à l'aéroport choisi. Pour cette mission type, nous utilisons un Cessna à l'aéroport de Champ(Domaine) de Boeing.

Ayant placé votre avion à l'emplacement juste, choisit simplement Sauvent(Économisent) le Vol du menu de Vols et le sauvent(l'économisent) de. Nommez le fichier sauvé(économisé) MissionCreationTutorial . Maintenant Simulateur de vol proche.

Allez ensuite aux Mes Fichiers de Simulateur Documents\Flight X la liste d'adresses et coupez et la pâte (ou le mouvement) le fichier de vol et le fichier météorologique du vol que vous avez juste sauvé(économisé) à l'emplacement où vous avez sauvé(économisé) la mission. Dans notreexemple, la mission a été sauvée(économisée) aux Missions dans la liste d'adresses de Classe de travaux dirigés Progress\Creation , que, après le déplacement du vol etdes fichiers météorologiques, doit contenir maintenant six fichiers :
Dans la liste d'adresses de Classe de travaux dirigés de Création , ouvrez le fichier de vol ( MissionCreationTutorial . FLT ) dans Bloc-notes.


La première section d'un fichier de vol devrait être [Principale] . Sous cela devrait être le Titre = et la Description =. C'est le texte qui apparaîtra comme le titre et la description pour la mission dans le menu de Missions (avec le fichier d'image a créé plus tôt), éditez donc le texte, ajoutant peut-être des espaces, pour qu'ilsoit ce que vous voulez. Par exemple :

[Main]
Title=Mission Creation Tutorial
Description=Take off and fly!

Allez maintenant à la même fin du fichier et tapez l'entrée de section suivante

[ObjectFile]
File=MissionCreationTutorial

Notez que l'extension de fichier xml n'est pas ajoutée au nom de fichier et qu'il n'y a aucun espace autour l'égale des signes. Cela lie la mission du fichier de vol.

Sauvez maintenant du fichier de vol.

Pas 4 : Essai sur création couronnée de succès de la Mission

Le pas suivant doit simplement évaluer ce que nous avons fait jusqu'ici. Le démarrage le Simulateur de vol , choisissez des Missions dans le menu de main gauche et le contrôle(chèque) que la Classe de travaux dirigés de Création de Mission a apparu avec l'image correcteet le texte.

Choisissez la mission. La première chose qui devrait apparaître est le fichier de briefing court que nous avons créé. Cliquez alors sur la Mouche Maintenant. Vous devriez être assis sur la piste de décollageet d'atterrissage dans un Cessna au Champ(Domaine) de Boeing. Si tout est bien le Vol de Fin d'élite. Une Fin de dialogue de Mission devrait apparaître, mais sans aucun but ou récompense, comme nous n'avons encore ajouté aucun à notre mission.

Si tout cela apparaît correctement alors les premiers pas sont complets, si pas examinent le xml et les fichiers de vol pour vérifier pour des erreurs.

Pas 5 : Enregistrez l'Audio pour la Mission

Vous pouvez bien sûr enregistrer l'audio pour votre mission à tout moment, mais comme vous allez commencer à ajouter le dialogue et d'autres actions à la mission, pourriez maintenant être un bon temps pour le faire. Chaque morceau de texte parlé, par un copilote, ATC , l'instructeur, le passager, ou quiconque, devrait être enregistré, probablement dans mono. Aussi, n'importe quel bruitage spécial devrait être créé aussi, qui pourrait être dans le son mono ou stéréo comme approprié.

La plupart des fichiers du son(sains) devraient être créés comme 22KHz la vague mono (.wav) des fichiers. Il n'y a aucune raison le prélèvement d'échantillons à un taux plus haut comme le moteur du son(sain) fera(sera) downsample de tels fichiers à 22KHz. MME-ADPCM la compression est une option, mais n'est pas exigée. Le contenu typiquement audio semblera mieux non comprimé, mais cela utilisera environ quatre fois l'espace de rangement.

Vous wiill doit probablement revisiter vos enregistrements du son(sains) pendant la mise à l'épreuve de votre mission, mais l'ayant les enregistrements pratiques augmenterez maintenant la valeur de cette mise à l'épreuve.

Créez un sous-répertoire de votre liste d'adresses de mission appelée le son et déplacez tous les enregistrementsdans cette liste d'adresses.

Pour notre mission simple ajoutent à la liste d'adresses du son(saine) avec les enregistrements suivants :
Bien sûr une mission réelle aura beaucoup plus d'enregistrements, y compris le bon conseil pour quand le participant ne fait pas si bien.

Note
Le moteur audio de Simulateur de vol ne soutient pas pré rendu 5.1 entourent le son (six fichiers de vague de canal), mais rendra des sons mono (non stéréo) dans l'emplacement 3D correct et rendra dans 5.1 entourent le son si un tel système est installé. Cependant cela ne s'applique pas aux sons enregistrés pour des missions,  donc la mission audio est limitée à mono et stéréo.

Pas 6 : Présentez la Mission de l'Utilisateur

Assurez que vous avez le Simulateur de vol en haut et la course(direction). Cliquez d'abord sur desFixations, alors le Général, choisissez ensuite l'Exposition Captioning la boîte de contrôle(chèque), comme indiquéci-dessous. Cela assurera que vous pouvez les deux voir le texte de dialogue aussi bien qu'entendre le fichier du son(sain). Par défaut, l'Exposition Captioning la boîte de contrôle(chèque) est laissée(quittée)incontrôlée.

 

 

Quand vous l'avez fait, assurez-vous que  les changements de réalisme se Permettant pendant la boîte de contrôle(chèque) de Missions sont choisis - cela fera l'addition de détentes et des actions plus faciles. Maintenant le clic sur la Classe de travaux dirigés de Création de Missiondans la liste de Missions et clique ensuite Vont au Briefing . Quand le document de briefing apparaît, la Mouche de clic ! . Ouvrez alors l'Outil de Placement d'Objet.

La première chose que la plupart des missions feront est présentent la mission de l'utilisateur avec un certain discours et texte. Le texte apparaîtra sur l'écran le même temps que le texte est rendu par le système audio. Le premier pas doit ajouter les actions de dialogue. Cela en cliquetant sur Ajoute, choisissant l'Action dans la Première boîte, alors DialogAction dans la Deuxième boîte et entre ensuite au Texte et aux propriétés SoundFileName comme approprié :



Répétez ce processus d'ajouter des actions de Dialogue pour tous les cinq enregistrements que vous avez faits pour cette mission. Dans chaque cas vous devriez seulement taper dans le Texte et les propriétés SoundFileName . Remarquez comment chaque action est ajoutée avec un numéro(nombre) dans Toute la liste d'Articles.

Le pas suivant doit ajouter une détente de minuteur, qui amorcera(introduira) le premier de nos actions de dialogue.

Pour faire cela va à l'étiquette d'Objet de l'outil, le clic Ajoute, choisit ensuite la Détente de la Première boîte et TimerTrigger de la Deuxième boîte. Le clic Ajoute de nouveau et vous verrez la liste de propriétés associées à une détente de minuteur :



Il est préférable de laisser l'utilisateur attendre quelques secondes avant la présentation de la mission de l'utilisateur, changez donc la valeur de StopTime à 5.0 . Laissez(quittez) le StartTime à 0.0 , ainsi les démarrages de minuteurquand le vol est chargé. Les actions sont amorcées(introduites) par des détentes de minuteur quand le temps d'arrêt est atteint, donc ces deux valeurs amorceront(introduiront) le texte et le discours 5 secondes dans la mission.

La propriété OneShot le jeu à Vrai signifie simplement que l'action devrait seulement être renvoyée(tirée) une fois (ce n'est pas très important pour des détentesde minuteur, qui sont seulement renvoyées(tirées) une fois, mais vous devrez vous décider avec d'autres détentes si vous voulez qu'ils continuent à renvoyer(tirer) leurs actions si un utilisateur continue à les déclencher). Activé devrait être Vrai - cela signifie que cette détente doit être considérée actif et n'attend pas un autre événement avant qu'il ne doive devenir actif. Laissez(quittez) les autres propriétés comme ils sont.

Note

Toute la boîte d'Articles, dans le coin juste supérieur du dialogue, contient maintenant l'article complémentaire que nous avons ajouté. Le déclic sur n'importe quel article dans cette boîtemontera cet article et ses propriétés aux boîtes ci-dessous.

 

Nous n'avons pas fini encore, comme nous n'avons pas encore lié la détente de minuteur et l'action de dialogue. Faites-le en cliquetant sur le Jeu de Propriété pour la propriété d'Actions. Cela montera une liste d'articles dans la boîte d'Éléments avec laquelle cette détente pourrait être liée. Le double-clic sur DialogAction1 dans la boîte d'Éléments pour lier la détente et l'action. On le montrera tant par un + le signe ajouté au nom dans la boîte d'Éléments, qu'aussi une entrée dans la boîte de Références, comme indiqué ci-dessous :


C'est tout ce que nous devons faire pour présenter notre mission.

Retournez à l'étiquette de Missions et sauvez de la mission. Sortez alors le vol commence la mission de nouveau, attend cinq secondes et vous devriez les deux voir et entendre le texte  Bienvenu au Champ(Domaine) de Boeing Partent(Décollent) quand vous êtes prêts . Si vous faites, donc tout est bien, sinon, retournez et vérifiez les propriétés pour la détente et l'action.

C'est un des exemples les plus simples d'une détente et d'une action, mais ce processus de lier ces deux éléments d'une mission s'applique partout dans l'outil.

Notes
La propriété Fermée au loquet apparaît dans toutes les détentes, mais ce n'est pas une valeur qui est mise en créant une mission. Fermé au loquet sera mis à Vrai quand une détente tire, ainsi si une mission est sauvée(économisée) d'à mi-chemin et rechargée plus tard, le système aura enregistré où l'utilisateur est dans la mission. Les actions dans une mission sont faites la queue l'un après l'autre comme ils sont renvoyés(tirés).

 

 
 
 
 
 
Les actions de dialogue ne passent pas de traitement à l'action suivante jusqu'au fichier de vague attaché (s'il y a un) a achevé le jeu. Il peut aussi y avoir un retard complémentaire supplémentaire à la fin d'une action de dialogue en entrant à une valeurdans la propriété DelaySeconds pour l'action. Cela doit assurer à l'utilisateur tous les deux ont le temps pour lire le texte et-ou entendre le fichier de vague, mais aussi le temps supplémentaire répondre à n'importe quelle demande que ce discours a faite, comme l'action suivante peut bien évaluer sur cette réponse.
References

Pas 7 : Ajoutez une Détente de Propriété, ou deux

S'il n'est pas toujours chargé, rechargez la mission et ouvrez l'Outil de Placement d'Objet.

Toute notre mission fait jusqu'ici est demandent à l'utilisateur de partir(décoller). Pour leur donner l'étape(la scène) suivante dans la mission, nous pouvons leur donner un peu plus de détails juste après que l'avion a pris. Pour le faire nous pouvons utiliser une détente de propriété et le lier avec notre deuxième action de dialogue.

Le clic Ajoute, choisit ensuite la Détente et  PropertyTrigger . Une détente de propriété est celui qui évalue une ou plusieurs conditions, aller typiquement à toute vitesse ou l'altitude de l'avion, mais il y a beaucoup de centaines d'autres possibilités.

Dans la boîte de Propriétés de la détente de propriété, assurez Activé est Vrai et le clic sur le Jeu de Propriété pour des Actions. Alors le double-clic sur DialogAction2 (dans la liste d'Éléments) pour le lier avec la détente de propriété. Alors double-clic sur le Jeu de Propriété pour la propriété de Condition. Cela montera le Rédacteur Conditionnel la boîte de dialogue. Le clic Ajoute le Terme et choisit Simvar . AltitudeAMSL pour le côté de main gauche de la condition (LHS) . Laissez(quittez) l'Opérateur comme Plus grand qu'et tapez 50.0 pour le côté droit (RHS) , donc le dialogue y ressemble :



La condition simple à laquelle nous sommes entrés indique que la détente sera renvoyée(tirée) quand l'avion de l'utilisateur est plus de 50 pieds se nivellent en surface . Les unités d'une condition apparaissent sous la propriété Simvar . Si l'unité de mesure pour n'importe quelle variable de simulation n'est pas évidente, référez-vous au document de Variables de Simulation . Cliquez sur OK pour ajouter la condition à la détente.
Notes
Les côtés droits tant que gauches d'une condition peuvent être un de : Propriété, Double, Longue, Non signé, Booléen ou Corde(Série). Si la Propriété est choisie la boîte suivante contiendra [par défaut l'Utilisateur]. [L'utilisateur] se réfère à l'avion de l'utilisateur, évidemment, mais il peut y avoir d'autre avion sous contrôle du composant AI de Simulateur de vol et si cet avion a existé les détentes de propriété pourraient leur être mises aussi. Il y a une question(publication) avec l'Outil de Placement d'Objet que quelques options sont présentées qui n'applique pas simplement donné les choix qui ont été faits. Cela s'applique tant dans le dialogue principal que le Rédacteur Conditionnel. Les designers de mission devraient étudier la Référence d'Objet de Mission et être préparé pour un certain procès(essai) et erreur, dans la création de missions utilisant cet outil. Pour la référence, les propriétés PropertyTrigger2 devraient maintenant y ressembler :




Dans notre mission type nous voulons que l'utilisateur vole jusqu'à une altitude de 1000 pieds, avec une vitesse minimale de 80 noeuds, avant le retour. Pour le faire nous devrions maintenant entrer à une deuxième détente de propriété, cette fois avec deux conditions et bien sûr une liaison au troisième dialogue de discours pour indiquer quand cela a été fait.

Entrez à deux conditions dans le rédacteur de propriété :
Et le clic sur le Jeu de Propriété d'Actions pour se lier avec DialogAction3.
Notes
Dans la première propriété déclenchent l'AltitudeAGL (en surface le niveau) la valeur est utilisée, assurer que l'avion a pris, mais dans la deuxième propriété déclenchent AltitudeAMSL (ci-dessus signifient que le niveau de mer) est plus approprié. Avec des conditions multiples d'habitude ils tous devront être vrais pour la détente de tirer, donc le défaut est pour des conditions d'être ANDed ensemble. Mettez le Terme inscrivent la valeur de boîte d'opérateur à OU si seulement une condition doit être vraie de renvoyer(tirer) la détente. Notez que les conditions impliquant tous les deux OU et ET des opérateurs logiques ne peuvent pas être créées utilisant le Rédacteur de Condition. Il est facilede voir comment tout à fait des conditions complexes pourraient être entrées comme des détentes de propriété. Ils peuventévaluer tant pour le succès que pour déranger des situations comme G excessif force, ptich des angles, la vitesse relative et cetera. Si des conditions multiples sont entrées chacun peut être édité ou supprimé en les choisissant dans la boîte de condition (qui aura le numéro(nombre) de la condition et le numéro(nombre) total de conditions le précédant), comme :


Sauvez de la mission, reprenez-le ensuite et évaluez que les deux actions de dialogue de détente de propriété sont déclenchées aux points appropriés. Remarquezcomment montant simplement au-dessus de 1000 pieds ne renvoient(tirent) pas la deuxième détente de propriété, il estnécessaire d'augmenter la vitesse à 80 noeuds avant qu'il ne tire vraiment .
References

Step 8: Add a Proximity Trigger

A proximity trigger will fire if the specified object (usually the user's aircraft) enters a specified box. The box is defined by a length, width and height, and can be placed anywhere in the world. It is usually most useful to move to the approximate location for the proximity trigger first. The joystick and hat switch can be used to move the cross hairs, you may also want to use the Slew feature to move larger distances. In our example we want to create a proximity trigger at the ideal landing spot on the runway (the runway number). First use the joystick to select the center of the runway number, then click Add and select AreaDefinition and RectangleArea. The length, width and height property values can be edited, so change them to a length and width of 100 (units are in meters), and a height of 20.



The orientation about each axis can also be changed (though is not necessary in this case), and set the Rendered property to True if the box should actually appear in view. Set Rendered to be True for this sample.

The next step is to add the proximity trigger and attach it to this area definition. To do this select Add then select Trigger and ProximityTrigger, then in the Properties box click on Areas, then double click RectangularArea1 in the Elements box. This links the trigger to the area. Also, select the OnEnterActions property and link it to DialogAction4, to link entering the area with the appropriate speech.

For this proximity trigger we do not want it to be activated until the user is airborne, and has completed the previous step (climbed to 1000ft with a speed of 80 knots), so we set the Activated property to False. The next step is to change the activated property to true, at the appropriate time.
Notes
When a mission is saved off, area definitions become locked, and the properties cannot be edited until the Locked box is unchecked. This is to help prevent accidental changes to a carefully placed area.
For future reference, more than one proximity trigger can be attached to a single area definition, and it is also possible to attach proximity triggers to moving objects. This is more advanced than we need for our first mission, but refer to the reference for more information on how to do these things.
Make sure you are saving off the mission regularly.
References

Step 9: Add an Object Activation Action


To link the inactive proximity trigger to the completion of a previous action, go through the following steps.

First, add an ObjectActivationAction to the mission. It only requires a few properties: leave NewObjectState as True, and click on ObjectReferenceList to display a list in the Elements box. Double click on ProximityTrigger4. This means when the object activation action occurs it will activate the proximity trigger.

Next, select PropertyTrigger3 (with the altitude of 1000 feet and speed of 80 knots condition) from the All Items list, and click on Actions. Double click on the ObjectActivationAction5 entry under Elements. PropertyTrigger3 now fires two actions, a dialog action and the object activation action.

The logic here should be fairly clear. The proximity trigger is inactive until the user's aircraft reaches the required altitude and speed. When the aircraft does meet these requirements the proximity trigger becomes active.
Note
A trigger can activate any number of actions.
References

Step 10: Add an Airport Landing Trigger

Many missions will end with a successful landing. Add an AirportLandingTrigger and enter the four digit Airport identification code to identify the correct airport (KSEA for SeatTac International or KBFI for Boeing Field, for example). Again set the Activated property to False. Set the Actions property to trigger DialogAction5, which is the appropriate mission completed text. For this case leave the landing as FullStop (the alternatives are TouchDown and Any), and leave the RunwayFilter entry for now (it is possible to specify which runway must be landed on to fire the trigger).

Go back to the ObjectActivationAction created in Step 9 (click on it in the All Items list) and add the AirportLandingTrigger to the actions that become active when the object activation action fires.

References

Step 11: Add Goals and Rewards


For this mission we might decide that there are two goals, one for the user to enter the proximity trigger box and land on the painted runway number, and the second for a correct landing (coming to a complete stop).

Add goals by clicking Add, then selecting Goal. The goal state should be left as pending. The text entered here will appear in the End Mission dialog, along with the final state of the goal (pending, completed, or failed). Enter two goals, one for landing on the runway number, and another for a correct landing. The text can be Landed on the Painted Number , with an Order number of 1, for the first goal, and Complete Stop, with an Order number of 2, for the second goal.

Next, add a GoalResolutionAction for each goal. The Goals property of this action should be linked in the usual way to the goals themselves. Go to the ProximityTrigger and add the second goal resolution action (Landed on the Painted Number) to its list of actions. Finally go back to the AirportLandingTrigger and add the correct goal resolution action (Complete Stop) to the list of  actions which it fires.

There is currently no concept of an optional goal in the Mission system.

Creating Rewards

Rewards are different from goals, they are persistent and added to the user's pilot records. A reward can be serious in the sense of a certificate for achieving some level of skill, or more trivial, for example a reward for photographing a humpback whale off Hawaii. The rewards that ship with Flight Simulator are integrated into the missions and tutorials that are provided, so it makes most sense to create your own rewards, if you choose to use them.

 

To create the simplest form of reward, go through the following steps:

  1. Create artwork for the reward. Use appropriate art tools to create one detailed piece of art for the reward (300 pixels wide by 370 pixels in height) and one thumbnail piece of art (100 pixels wide by 80 pixels in height). These will be referenced by the reward file and appear on the user's screen when aiming at and achieving the reward. The artwork can be .bmp or .jpg files.
  2. Fill out an xml file that matches the following format.

  3. <?xml version="1.0" encoding="ISO-8859-1" ?>
    - <FSData version="9.0">
    - <Reward rewardId="{GUID}" name="name of the reward" description="description of the reward." type="TROPHY" bitmap = "artwork_small.bmp" rewardDetailBitmap="artwork_large.bmp">
    </Reward>
    </FSData>
  4. Create and enter a GUID for the reward, to be referenced by the mission itself.
  5. Enter a name to appear in Flight Simulator X.
  6. Enter a description to appear when the user selects View details.
  7. Enter a type for the reward, which can be one of: TROPHY, BADGE, MEDAL, CERTIFICATE, POSTCARD or SPECIAL_ITEM.
  8. Enter the filename for the thumbnail piece of art, and the detailed piece of art.
  9. Ensure that both pieces of art and the xml file are in the same folder, then run the command line tool, BGLComp with the xml file as input (entering the command: BGLComp reward.xml). Alternatively drag the reward xml file over the BGLComp icon. The BGLComp tool is in the SDK\Environment Kit\BGLComp SDK folder. This will create a rewards file, with a .rwd extension. Copy the rewards file to the Microsoft Flight Simulator X/rewards folder. This file includes the artwork, so is the only file required.
  10. Add the reward to a mission by selecting its GUID in a Grant Reward action, and then link this action it to the final trigger.

A rewards file can contain any number of rewards, simply by entering as many <Reward> </Reward> entries in the xml file as there are rewards. More complex rewards can be created by adding a <Criteria> section to a reward. The following table shows an example with all the possible criteria.

 

<! An example comment: hours include decimal places, 2.5 hours for example >

 

<Criteria landings="2" differentAirports="2">
<RewardHours hours="10" hoursType="ANY" />
<RewardHours hours="10" hoursType="DAY" />
<RewardHours hours="10" hoursType="NIGHT" />
<RewardHours hours="10" hoursType="VFR" />
<RewardHours hours="10" hoursType="IFR" />
<RewardHours hours="10" hoursType="SAILPLANE" />
<RewardHours hours="10" hoursType="LANDPLANE" />
<RewardHours hours="10" hoursType="SEAPLANE" />
<RewardHours hours="10" hoursType="ROTORCRAFT" />
<RewardHours hours="10" hoursType="MULTI_ENGINE" />
<RewardAirport ident="KORD" />
<RewardAirport ident="KSEA" />
<RewardAirport ident="KBFI" />
<DependantRewardId rewardId="{GUID}" />
<DependantRewardId rewardId="{GUID}" />
</Criteria>

 

The criteria in the above example are not very realistic, they require the user to have completed two landings at two different airports and landed at the list of the three specified (KORD, KSEA, and KBFI). It also requires 10 hours experience in a whole range of situations, and that two other rewards must have been earned before this one can be given. All criteria are logically ANDed to make up the requirement for a reward, and all equals signs should be interpreted as greater than or equal to (in other words, at least 10 hours experience in all the aicraft and situations listed in the example above). The following table gives some more realistic examples:

 

- <Reward rewardId="{GUID}" name="10 hours flying " description="Earn a medal for flying any aircraft for a total of 10 hours flying time." type="MEDAL" bitmap="small.jpg" rewardDetailBitmap="large.jpg">
- <Criteria>
<RewardHours hours="10" hoursType="ANY" />
</Criteria>
</Reward>
- <Reward rewardId="{GUID}" name="15 hours at night " description="Earn a certificate for flying any aircraft for a total of 15 hours flying at night." type="CERTIFICATE" bitmap="small.jpg" rewardDetailBitmap="large.jpg">
- <Criteria>
<RewardHours hours="15" hoursType="NIGHT" />
</Criteria>
</Reward>
- <Reward rewardId="{GUID}" name="25 landings" description="Earn a badge for completing 25 landings." type="BADGE" bitmap="small.jpg" rewardDetailBitmap="large.jpg">
<Criteria landings="25" />
</Reward>
- <Reward rewardId="{GUID}" name="Remote location" description="Earn a postcard for landing on Easter Island." type="POSTCARD" bitmap="small.jpg" rewardDetailBitmap="large.jpg">
- <Criteria>
<RewardAirport ident="SCIP" />
</Criteria>
</Reward>
- <Reward rewardId="{GUID}" name="Busy airports " description="Earn a trophy for landing at 3 of the busiest airports in the world: London Heathrow, Atlanta and Singapore." type="TROPHY" bitmap="small.jpg" rewardDetailBitmap="large.jpg">
- <Criteria>
<RewardAirport ident="EGLL" />
<RewardAirport ident="KATL" />
<RewardAirport ident="WSSS" />
</Criteria>
</Reward>

 

References

Step 12: Test and Refine the Mission

Having completed building the mission, ensure you have saved it all off, and then test it thoroughly. The best designed mission can still exhibit strange behaviour during testing.

There are of course many cases where the mission might inappropriately reward a user. For example, the proximity trigger in our example will still fire correctly if the aircraft is landing upside down, without its gear down, too fast, or whatever. To tighten up a mission you will need to add conditions to many of the triggers, especially the proximity triggers.

This ends the tutorial section of this document. The most popular and useful actions and triggers are covered in the tutorial, but there are many others, and the following reference section describes all the Mission Objects.

 

You can also refer to the missions provided with Flight Simulator (by loading them into the Object Placement Tool, or viewing the XML in an appropriate editor) for examples of how different triggers, actions, goals and rewards can be used. Mission files created using this tool are in an open XML format. Mission files supplied with Flight Simulator X are in a binary format with the .SPB extension. If both are present in the same folder, the .SPB file is read in preference. To help in the understanding of the mission system, the XML files used to create the default missions are supplied in a sub-folder of this SDK.

Creating an SPB file

Mission files can either be in XML or SPB (Sim-Prop Binary) format. The binary format is faster to load that its XML equivalent. To create an SPB file, run the simpropcompiler.exe tool, which is in the SDK\Core Utiliites Kit\SimProp folder. This is a command-line tool, so open a command window, navigate to the SDK\Core Utiliites Kit\SimProp folder, then enter the following command:

 

> Simpropcompiler 2spb –symbols C:\Program Files\Microsoft Games\Microsoft Flight Simulator X\propdefs\*.xml yourMission.xml yourMission.spb

 

Note that file extensions are required for both the input and output filenames. To simply validate the xml file without creating any output file, change the keyword 2spb to validate.

Error Reports

To get more detailed error reports when there is an error in a mission file, make sure the following entry is in the fsx.cfg file, which is in the Documents and Settings\<username>\Application Data\Microsoft\FSX folder.

 

[DEBUG]
ReportLoadErrors=1

 

Mission Object Reference

This section contains a reference of all the properties that apply to each of the Mission Objects.

Actions

An action is a declarative way to cause something to happen in the world.  Examples of actions are playing a sound file, completing an objective, showing text in the adventure window, failing an engine, completing a goal, etc.

Generic Action Properties

All actions include the following properties.

Property Description
id Reserved. Do not edit this field.
Descr The name of the action. The system will generate a name such as DialogAction1, simply be appending the number of the next action to the type of action. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field

Activate Waypoints Action

Waypoints are essential for the movement of certain AI objects. The activate waypoints action provides one or more AI object with a new list of waypoints.
 
Property Description
Generic Action Properties See description above.
ObjectReference
List of one or more AI objects that are to use the new waypoint list.
WaypointList
List of one or more waypoints that are to become active.


Adjust Payload Action


An adjust payload action is used to set, or add to, the weight on a payload station.

Property Description
Generic Action Properties See description above.
ObjectReference
The list of objects to which the payload adjustment applies.
StationIndex
The index number of the station.
AdjustmentType
One of: Set or Add.
Weight The quantitiy of the adjustment.
Units One of: number, feet, g_force, knots, pounds, percent, boolean, degrees or radians.

Attach Droppable Payload Action


An attach droppable payload action is used to change the payload that gets dropped when the user presses a key configured to drop the payload.

Property Description
Generic Action Properties See description above.
PayloadName
The name of the container that becomes the object to be dropped.
PayloadCount
The number of the payload objects that should be attached.
ObjectReferenceList
The objects which are each to get the assigned payload.

Attach Effect Action


The attach effect action attaches a single special effect (such as smoke, fire, contrail etc.) to one or more objects.

Property Description
Generic Action Properties See description above.
EffectName
Filename of special effect.
AttachPointName
The name of the attach point (physical location) of where the effect is to be applied. See the Modeling Tools documentation for information on attach points.
ObjectReferenceList
List of objects that the effect applies to.

Change Object Type Action


A change object type action changes the object the user is in. For example, it can be used to change from one type of aircraft to another.

Property Description
Generic Action Properties See description above.
ObjectType
The ID of the new object.

Count Action

A count action will add the value of the Count property to the list of triggers (which should be Counter triggers). Counter triggers will fire when a certain specified count is reached.
Property Description
Generic Action Properties See description above.
Count
Value to be added to the Counter triggers current counter.
Triggers
List of Counter triggers to have their counts incremented. Note that these must be counter triggers, even though the Object Placement Tool lists other trigger types.

Custom Action

A custom action is used to enable communications between a mission and a SimConnect client application.

 

Property Description
Generic Action Properties See description above.
PayloadString
Text that will be transmitted to the SimConnect client when the action is initiated. The text can be any string that the client might find useful.
WaitForCompletion
Set this to True if a completion message must be received from the SimConnect client, before the mission progresses. Set to False otherwise.

Dialog Action

A dialog action is used to add speech to be rendered over the audio system, and/or text to be displayed on the screen. See the explanation in the tutorial for an example.

Property Description
Generic Action Properties See description above.
Text The text to appear on the screen. Can be left blank.
SoundFileName The wave file to be rendered by the audio system. The file should be in the \sounds directory of the mission. Can be left blank.
DelaySeconds A delay in seconds after the text and audio are rendered. Can be used to allow time for the user to respond to the dialog, before performing another action.

Failure Action


A failure action is used to change the behavior of one of the aircraft's systems. It is possible also to change a failing system's status back to fully functional, by changing its HealthPercent value to 100. Failures only apply to the user aircraft.

Property Description
Generic Action Properties See description above.
System

One of: Engine, EngineFire, Coolant, OilSystem, OilLeak, VacuumSystem, Pitot, Static, ElectricalSystem, Generator, FuelPump, FuelLeak, APU, APUFire, TurbineIgnition, HydraulicPump, HydraulicLeak, LeftMagneto, RightMagneto, Elevator, LeftAileron, RightAileron, Rudder, RearTail, LeftFlap, RightFlap, LeftWing, LeftWingTip, RightWing, RightWingTip, CenterGear, RightGear, LeftGear, AuxGear, LeftBrake, RightBrake, BrakeSystemHydraulicSource, AltitudeIndicator, AirspeedIndicator, Altimeter, DirectionalGyro, Compass, TurnCoordinator, VSI, ComRadios, NavRadios, ADFRadios, or Transponder.

SystemIndex
If an aircraft has multiple systems (usually applies to engines), enter the index of the system that the failure should apply to.
Behavior One of: Failed, Failing, Burn or Leak.
HealthPercent Enter a value of between 0 (complete failure) and 100 (fully functional).

See Also

Goal Resolution Action


The goal resolution action is used to set whether goals have been completed or not. See the explanation in the tutorial for an example.

Property Description
Generic Action Properties See description above.
GoalResolution
Set to completed or failed.
Goals
List of Goal  Objects to have their resolution changed.

Grant Reward Action


The grant reward action rewards the user with a single reward, to be placed in their pilot records. See Creating Rewards for more details.

Property Description
Generic Action Properties See description above.
RewardRef
GUID of the appropriate reward.

Object Activation Action

The object activation action will change the state of  most different types of object, Triggers, AI objects, Scenery objects and some Mission objects. Do not use it for points of interest, use PointOfInterestActivationAction for that particular case.

Property Description
Generic Action Properties See description above.
NewObjectState
Set to True or False.
ObjectReferenceList
List of objects (AI ObjectScenery, Mission Objects and Triggers) to have their status changed.

One Shot Sound Action


The one shot sound action will render a single wave file. Use this for sound effects rather than dialog (use the Dialog action for speech audio).

Property Description
Generic Action Properties See description above.
SoundFileName
The wave file to be rendered. The file should be in the \sounds directory of the mission.

Play Animation Action


The play animation action will initiate an animation sequence on one or more objects.

Property Description
Generic Action Properties See description above.
AnimationGUID
GUID of the animation.
LoopAnimation
Set to True to loop the animation.
ObjectReferenceList
The list of objects that the animation is to apply to.

Play List Action

The play list action will play the specified music items on the adventure music track.  Individual play list items can be set to a random position within the play list.


Property Description
Generic Action Properties See description above.
PlayListItem
Play list item object. To enter a play list, double click on the PlayListItem Property Set, this will bring up an Objects dialog and select New, Insert Before or Insert After to add items to the list. Click OK when there are enough items in the list. This list will then appear in the Property Sets box of the Objects tab. Clicking on any one of these items will bring up the properties for each item.

PlayList Item Object

 

A playlist item is an audio track that forms part of a playlist action.

Property Description
id
Reserved. Do not edit this property.
Descr
The name of the item. The system will generate a name such as PlayListItem1. This name can be edited to help identifiy it further. Make sure though that the name is unique.
SoundFileName
The name of the wave file (typically music track) to be played.
RandomizeInList
Set to True to randomize the playing of this particular track in the playlist.

Point Of Interest Activation Action

A point of interest activation action will change the state of one or more Point of Interest objects. It is very similar to ObjectActivationAction, but also sets the current point of interest to be the one with the lowest cycle order in its list.

 

Property Description
Generic Action Properties See description above.
NewObjectState
Set to True or False.
ObjectReferenceList
List of one or more Point of Interest objects to have their status changed.

Random Action


The random action is used to initiate one action from a list of possibilites.

Property Description
Generic Action Properties See description above.
ProbabilityPercent The probablity that any action at all will fire. Enter 100 to ensure an action will fire.
Actions
List of actions from which one is chosen at random.

ResetTimer Action


The reset timer action is used to set the current time of a list of timers back to their start times.

Property Description
Generic Action Properties See description above.
Triggers
List of Timer Triggers to be reset.

 

Rumble Action

The rumble action is used to initiate rumble in the Universal Controller (typically an XBox controller).

Property Description
Generic Action Properties See description above.
Intensity One of: Off, Low, Med, High
Duration
Duration of the rumble in seconds, or fraction of a second.

Spawn Action

A spawn action will create all the new objects (including AI aircraft, scenery, actions and triggers) specified in a Spawn List object. A spawn action that is called mutliple times will create multiple objects.


Property Description
Generic Action Properties See description above.
SpawnLists
List of one or more Spawn List objects.

Timer Adjust Action

The timer adjust action adds the DeltaTime property value to the timer trigger's internal clock.

Property Description
Generic Action Properties See description above.
DeltaTime
A positive or negative timer adjustment, in seconds.
Triggers
List of Timer Triggers to have the timer adjustment.

AI Object

AI objects are computer controlled vehicles. Four types of vehicle can be controlled by the AI (artificial intelligence) component of Flight Simulator:
  1. Aircraft
  2. Boats
  3. Ground vehicles
  4. Other
AI objects appear under the title PATH_CONTAINER_OBJECTS in the All Items list. If an AI controlled object is added to the mission, the following properties apply to it:

Property Description
Descr The name of the object. The system will generate a name such as Aircraft1 or Ferry1, simply be appending the number of the next object to the type of the object. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field
ContainerTitle The make and model of the aircraft, or type of boat or vehicle. This is the title that is listed in the Aircraft Configuration File.
ContainerID An ID number given to this object. This can be used by ChangeObjectTypeAction to change, for example, the user's aircraft from one type to another.
IsOnGround Set to True or False.
WorldPosition Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
Orientation Heading, Pitch and Bank.
EngineStarted True or False.
IdentificationNumbers An aircraft identifcation number such as NAA000. Not used for ground vehicles or boats.
AIType One of: None, Airplane, Helicopter, WanderBoat, GoundVehicle, FuelTruck, BaggageCart, BaggageLoader, or AirportAmbient.
For ships on a course use GroundVehicle. For small boats on the sea or lakes use WanderBoat.
Only Airplane and GroundVehicle take objects that can be further specified.
GroundVehicleAI If the AIType is GroundVehicle then clicking on this entry will initiate a GroundVehicleAI object. Expand the entry in the Property Sets box to expose the new objects.
AircraftAI If the AIType is Airplane then clicking on this entry will initiate an AircraftAI object. Expand the entry in the Property Sets box to expose the new objects.
Activated Set to True or False. This can be changed during a mission using the Object Activation action.
MDLGuid Optional. If a model GUID is entered here, it will override the models referenced in the aircraft model.cfg file.
LabelMode

One of: UserDefined, On, or Off. If UserDefined is set, the label format will be taken from the user settings in the Settings - Display/Traffic dialog.

AircraftAI Object


AircraftAI objects are referenced by AI Objects.

 

Property Description
Unit_Mode
One of: Sleep, Zombie, Waypoint, Takeoff, Landing, Taxi, Working, Waiting
GroundCruiseSpeed Ground speed in knots.
GroundTurnSpeed Turning speed in knots.
GroundTurnTime Time in seconds to make a 90 degree turn. A recommended minimum turn time is 0.5 seconds.
WaypointList
WaypointList object.
Schedule Used internally only, for saving flight/mission information.
TakeofAI

TakeoffAI object.

Provide this object only if the AircraftAIState is set to SIMPLE_TAKEOFF.

LandingAI

LandingAI object.

Provide this object only if the AircraftAIState is set to SIMPLE_LANDING.

TaxiAI

TaxiAI object.

Provide this object only if the AircraftAIState is set to SIMPLE_TAXI.

ICAOIdent Airport ID, such as PAFA.
AircraftAIState

One of:

SIMPLE_FLIGHT, SIMPLE_TAXI, SIMPLE_LANDING, or SIMPLE_TAKEOFF.

MaxBank The maximum bank angle the aircraft should make, in degrees.
WaypointTouchDistance The distance in meters from a waypoint that is acceptable as having reached the waypoint.
PatternEntry One of: Downwind, Base, or Straight_In.

TakeoffAI Object


Takeoff AI objects are referenced by AircraftAI objects.

 

Property Description
AITakeoffMode
One of: None, Init, Start_Rolling, Rolling, or Airborne.

LandingAI Object

Landing AI objects are referenced by AircraftAI objects.


Property Description
InitialFlaps
A value between 0.0 (for no flaps) and 1.0 (flaps fully extended).
ThresholdLLA

Latitude Longitude and Altitude in feet, of the splot that the aircraft should try to land on. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00

RunwayLength

RunwayAlt
RunwayHeading

ApproachSlope
InitialAlt
MaxInterceptAngle


TaxiAI Object


Taxi AI objects are referenced by AircraftAI objects.

 

Property Description
NextWaypoint
The index in the taxi route of the next waypoint.
CurrentWaypoint
The index in the taxi route of the current waypoint.
CurrentWaypointL
Current waypoint latitude longitude and altitude in feet.
PrevWaypoint
The index in the taxi route of the previous waypoint, or -1 if there is no previous waypoint.
Destination
Destination latitude longitude and altitude in feet.
HoldClearPoint
HoldShortPoint
HoldFlags
HoldStartTime
HasRunwayHeading  
RunwayHeading
IsPushingBack  
PassOnComing  

GroundVehicleAI Object

Ground  vehicle AI objects are for those land or sea vehicles which are to follow a course. The course is made up of a series of waypoints.

Ground vehicle AI objects are referenced by AI Objects.

 

Property Description
GroundCruiseSpeed Ground speed in knots.
GroundTurnSpeed Turning speed in knots.
GroundTurnTime Time in seconds to make a 90 degree turn. A recommended minimum turn time is 0.5 seconds.
WaypointList
WaypointList object.Click on WaypointList in the Property Sets box to open up the properties for a WaypointList object.


Waypoint List Object 


A waypoint list object contains a list of waypoints, and some other general properties for the motion of the AI object.
Waypoint list objects are referenced by Ground vehicle AI objects, Aircraft AI and MSOWaypointController objects.

Property Description
Waypoint
List of one or more Waypoint objects. Click on this entry to open up the Object dialog to add individual waypoints.
WrapWaypoints
Set to True if, after reaching the last waypoint, the first waypoint should become the next in the list.
CurrentWaypoint
The index of the waypoint the AI object is currently aiming for.
BackupToFirst
Set to True if the aircraft should backup to the first waypoint.

Waypoint Object


A waypoint is a location in the world, with a set speed, that an AI object should aim for.
Waypoint objects are referenced by Waypoint list objects.

Property Description
Descr
The name of the waypoint. The system will generate a name such as Waypoint1. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceID
This is the GUID generated to ensure the object has a unique reference. Do not edit this field
SpeedKnots
The desired speed in knots for the object when it passes the waypoint.
WaypointID
An ID number for the waypoint.
WorldPosition Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
AltitudeIsAGL Set to True if the alititude is above ground level, set to False if the altitude is above mean sea level. Note that the Align function of the tool does not preserve this setting correctly.

 

Area Definition Object

Only one type of area definition is supported, RectangleArea, which defines a 3D box, and contains the following properties:

Property Descrption
id Reserved. Do not edit this field.
Descr The name of the object. The system will generate a name such as RectangleArea1, simply be appending the number of the next object to the type of the object. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field
Length Length of the box in meters.
Width Width of the box in meters.
Height Height of the box in meters.
Orientation Heading, Pitch and Bank, or orientations about the three axis, in degrees.
Rendered Set to True if the bounding box is to be rendered on the screen.
AttachedWorldPosition An optional Attached World Position object. This fixes the area definition to a specific point. Leave the AttachedWorldObject blank in this case.
AttachedWorldObject An optional Attached World object. This enables the area definition to be attached to a moving object. Leave the AttachedWorldPosition blank in this case.


Group Object

A group object simply defines a single reference to one or more objects. This is helpful if a selection of object is used a number of times, however, group objects cannot refer to other group objects.

Property Description
Descr The name of the group object. The system will generate a name such as Group1, simply be appending the number of the next group object the word Group. This name can be edited to help identifiy it further. Make sure though that the name is unique.
WorldPosition Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
GroupedObjects List of objects in the group. 


Mission Object

There are five types of Mission Object. Mission objects have the same generic properties as Actions.

Camera Mission Object


Use the camera mission object to place a camera in the world, which can be at a fixed location or attached to another (moving) object. The view from the camera will become the main view for the user.

Property Description
Generic Action Properties See description above.
Activated Set to True or False. This can be changed during a mission using the Object Activation action.
AttachedWorldPosition An optional Attached World Position object. This fixes the camera to a specific point. Leave the AttachedWorldObject blank in this case.
AttachedWorldObject An optional Attached World object. This enables the camera to be attached to a moving object. Leave the AttachedWorldPosition blank in this case.
ObjectReference
This object the camera is looking at.

Attached World Position Object


Attached world position objects are referenced by Area definition objects, Camera mission objects, Picture in Picture view controller mission objects, and Point of interest mission objects.

Property Description
WorldPosition
Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
AltitudeIsAGL
Set to True if the alititude is above ground level, set to False if the altitude is above mean sea level.

Attached World Object


Attached world objects are referenced by Area definition objects, Camera mission objects, Picture in Picture view controller mission objects, and Point of interest mission objects.

Property Description
ObjectReference
The object that is to be attached to.
OffsetXYZ
Four floating point values, containing an offset from the center of the ObjectReference object in the x,y and z directions. The fourth float is unused.


Picture In Picture View Controller Mission Object

A PictureInPictureViewController object adds a small view window and is typically used for a "bomb-cam" - giving a view of or from a falling object.

Property Description
Generic Action Properties See description above.
Condition
Clicking on this will load up the Conditional Editor, to apply conditions to the activation of this mission object.
UseTargetPosition
Set to True or False. True indicates that the camera will try to keep the AttachedWorldObject, if one is set, in view.
AttachedWorldPosition An optional Attached World Position object.This fixes the view controller to a specific point. Leave the AttachedWorldObject blank in this case.
AttachedWorldObjects An optional Attached World object. This enables the view controller to be attached to a moving object. Leave the AttachedWorldPosition blank in this case.
Activated
Set to True or False. This can be changed during a mission using the Object Activation action.
ViewCloseDelay A delay in seconds that will occur before the camera shuts down, in the event that the AttachedWorldObject, if one is set, is removed.
CameraDistance The distance in meters the camera is away from the AttachedWorldObject, if one is set.
CameraOffsetY The height in meters the camera is away from the AttachedWorldObject, if one is set.
CameraPitch The angle in degrees that the camera is facing. A negtive value indicating a downward view.

Point Of Interest Mission Object

Use the point of interest object to highlight a location or other object. The highlight can be, for example, a vertical beam of light pointing at the object. Points of interest are displayed in the mission compass, and can be stepped through according to the cycle order.

Property Description
Generic Action Properties See description above.
Activated Set to True or False. This can be changed during a mission using the Point of Interest Activation action.
SelectedModelGuid
GUID of  the model displayed in the scene when the point of interest is selected in the compass. This can be a vertical beam of light, or another suitable object highlighting model.
UnselectedModelGuid GUID of the model displayed in the scene when the point of interest is not selected in the mission compass. A zero GUID will cause nothing to be rendered, which is the default.
CurrentSelection Set to True if you want this object to be the current selection when the mission starts.
CycleOrder
The cycle order is the order in which points of interest are cycled in the mission compass, the lowest number first.
TargetName The name that is to appear on the mission compass when the object is selected in it.
MinimumModelScale The scale factor to be applied when the object is MinimumScaleDistance away from the view camera.
MinimumScaleDistance If the object is closer than the MinimumScaleDistance to the view camera, it will be scaled by MinimumModelScale.
MaximumModelScale Scale factor to be applied when the object is MaximumScaleDistance away from the view camera.
MaximumScaleDistance The distance beyond which the object is scales by MaximumModelScale.
AttachedWorldPosition An optional Attached World Position object.This fixes the highlight pointer to a specific point. Leave the AttachedWorldObject blank in this case.
AttachedWorldObject An optional Attached World object.This enables the highlight pointer to be attached to a moving object. Leave the AttachedWorldPosition blank in this case.

Note
Between the distances of MinimumModelDistance and MaximumModelDistance the scale factor is interpolated linearly between MinimumModelScale and MaximumModelScale. This feature is used to make the in-scene pointer (for example, the highlight beam) appear larger the further the user is away from the object, and the smaller the closer the user gets to it.

Realism Overrides Mission Object

This object can be used to override the user's realism settings. For the specific properties: User Specified indicates that the user's settings should be used.

Property Description
Generic Action Properties See description above. Note that RealismOverrides objects do not have an InstanceID.
FlyingTips
One of: User Specified, Enable, or Disable
CrashBehavior
One of: User Specified, AutoRecover, ResetFlight or EndFlight.
FlightRealism One of: User Specified, Enforced, or Relaxed.
ATCMenuDisabled Set to True to disable the ATC menu.
UnlimitedFuel One of: User Specified, Limited, or Unlimited.
AircraftLabels One of: User Specified, Enabled, or Disabled

 

Ridge Lift Mission Object

A RidgeLift object is used to simulate the effect of a hill slope on the wind.

 

 

 

Property Description
Generic Action Properties See description above. Note that RealismOverrides objects do not have an InstanceID.
Activated
Set to True or False. This can be changed during a mission using the Object Activation action.
ObjectReference
A reference to an AreaDefinition object that defines a box that is the bounding area of the ridge lift. It is very important that the heading setting of the AreaDefinition points in the same direction as the slope (to the left in the above diagram).
AirObjectModelGuid An optional model GUID. The model will be rendered within the ridge lift box.
ScaleModel Set to True to if the model should be scaled to match the size of the ridge lift box. Set to False to render the model to its own scale.
CoreRateScalar A scalar value that is applied to the wind in the Core area of the ridge lift. A positive value will provide an updraft, a negative value a downdraft. Typically a positive value such as 0.5 would be entered here. So if the wind speed was 8 m/s, an updraft of 4 m/s would be applied.
CoreTurbulence A variation scalar that is applied to the wind speed. For example, if a value of 0.1 is entered, and the wind speed is 8 m/s, the wind speed in the ridge lift Core area will be randomly varying between 7.2 and 8.8 m/s.
SinkRateScalar A scalar value that is applied to the wind in the Sink area of the ridge lift. A positive value will provide an updraft, a negative value a downdraft. Typically a negative value such as 0.5 would be entered here. So if the wind speed was 8 m/s, an downdraft of 4 m/s would be applied.
SinkTurbulence A variation scalar that is applied to the wind speed. For example, if a value of 0.1 is entered, and the wind speed is 8 m/s, the wind speed in the ridge lift Sink area will be randomly varying between 7.2 and 8.8 m/s.

 

Scenario Metadata Mission Object

The scenario metadata provides information that the mission system uses to place the mission appropriately in the list of missions presented to the user. See the explanation in the tutorial for an example.

Property Description
Generic Action Properties See description above.
ScenarioType
Text to describe the scenario. This is for your own use and does not appear on the screen.
SkillLevel
One of:: Beginner, Intermediate, Advanced, or Expert.
LocationDescr Enter a text string that describes the location.
DifficultyLevel An integer determining the order in which the mission will appear after sorting. The lower the number the earlier it will appear in the list. Refer to the difficulty level numbers provided with other missions to determine the appropriate number here.
EstimatedTime
Enter a text string that estimates how long the mission will take.
UncompletedImage Filename for a bitmap containing the image to appear on the screen in the image list, when the mission has not been completed. Should be 380 pixels wide by 232 pixels in height, either 256 color or 5-6-5 format. Use the Imagetool utility to convert 24 bit bmp files to 5-6-5 format.
CompletedImage Filename for a bitmap containing the image to appear on the screen in the image list, after the mission has been completed at least once. Should be 380 pixels wide by 232 pixels in height, either 256 color or 5-6-5 format.
ExitMissionImage Filename for a bitmap containing the image to appear in the End Mission dialog. Should be 86 pixels wide by 86 pixels in height, either 256 color or 5-6-5 format.
MissionBrief Filename of an HTML file containing the mission briefing. The file can contain images (such as maps) and text describing the stages and goals of the mission.
AbbreviatedMissionBrief Short version of the mission brief, used when the mission is being repeatedly played by the user.
SuccessMessage The message that will be displayed once the mission ends and the user has completed the mission objectives. In this case the UncompletedImage will be replaced by the Completed image in the Missions list.
FailureMessage The message that will be displayed once the mission ends and the user has failed the mission.
UserCrashMessage The message that will be displayed once the mission ends and if the user has crashed.
CategoryRef To set the category GUID in your metadata cut and paste the value out of this Category file. Categories include Tutorial, Just For Fun, Airline Pilot, etc.

 

Thermal Mission Object

A thermal object can be used to simulate atmospheric effects, including thermals and downdrafts. Refer also to the Weather Systems documentation.

 

 

 

Property Description
Generic Action Properties See description above. Note that RealismOverrides objects do not have an InstanceID.
Activated
Set to True or False. This can be changed during a mission using the Object Activation action.
ObjectReference
A reference to an AreaDefinition object that defines a box that is the bounding area of the thermal. Note that this box defines the position of the thermal, including its starting height above the ground, and the height of the thermal.
AirObjectModelGuid An optional model GUID. The model will be rendered within the thermal box.
ScaleModel Set to True to if the model should be scaled to match the size of the thermal box. Set to False to render the model to its own scale.
SinkTransitionSize The width in meters of the transition layer between the Sink and the atmosphere outside of the thermal. Half of the width of this transition will be outside the radius of the Sink layer, and half within.
SinkLayerSize The width in meters of the Sink layer.
CoreTransitionSize The width in meters of the transition layer between the Core and the Sink of the thermal. Half of the width of this transition will be outside the Core, and half within.
CoreSize The radius in meters of the Core of the thermal.
BaseHeight The size of the transition layer, in meters, at the base of the thermal. The default is 50m. This is not the height of the thermal above the ground.
TopHeight The size of the transition layer, in meters, at the top of the thermal. The default is 50m. This is not the height of the thermal.
SinkRate The lift value, in meters per second, within the Sink layer. A positive value will provide an updraft, a negative value a downdraft.
SinkTurbulence A variation in meters per second that is applied to the SinkRate. For example, if a value of 1.5 is entered, and the SinkRate is -3 m/s, the actual sink rate applied will be randomly varying between -1.5 m/s and -4.5 m/s.
CoreRate The lift value, in meters per second, within the Core layer. A positive value will provide an updraft, a negative value a downdraft.
CoreTurbulence A variation in meters per second that is applied to the CoreRate. For example, if a value of 1.5 is entered, and the CoreRate is 5 m/s, the actual core rate applied will be randomly varying between 3.5 m/s and 6.5 m/s.

 

Scenery Objects

Scenery objects can be added to the world, to appear only when the mission is being undertaken. Scenery objects take the following properties:

Property Description
Descr The name of the scenery object. The system will generate a name based on the type of object, simply be appending the number of the next scenery object to the name of the scenery. This name can be edited to help identifiy it further. Make sure though that the name is unique.
WorldPosition Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
Orientation Heading, Pitch and Bank, or orientations about the three axis, in degrees.
MDLGuid GUID of the object model, from the list of Library Objects.
AltitudeIsAGL Set to True if the alititude in WorldPosition is above ground level, set to False if the altitude is above mean sea level.
Scale A scaling factor can be applied to the model. The default is 1.000 (no scaling).
ImageComplexity The minimum scenery complexity setting the user must have set in order for this object to be rendered. One of: VerySparse, Sparse, Normal, Dense, VeryDense, ExtremelyDense.
Effect Reserved for internal use, when saving off a mission/flight file.
ModelAnimation Reserved for internal use, when saving off a mission/flight file.
Activated Set to True or False. This can be changed during a mission using the Object Activation action.

 

Mobile Scenery Objects

Mobile scenery objects can be added to the world, to appear only when the mission is being undertaken. Mobile scenery objects take the following properties:

Property Description
InstanceID
This is the GUID generated to ensure the object has a unique reference. Do not edit this field
Activated Set to True or False. This can be changed during a mission using the Object Activation action.
ModelID GUID of the object model.
WorldPosition Latitude, longitude, and altitude in feet. For example:
N22° 21' 44.68",E114° 1' 15.01",+000000.00
Orientation Heading, Pitch and Bank, or orientations about the three axis, in degrees.
IsOnGround True or False.
SpeedKnots The speed of the scenery object, in knots.
MSOWaypointController An MSOWaypointController object.

 

MSOWaypointController Object

The MSO (Moving Scenery Object) waypoint controller has the following properties.

 

Property Description
AccelKnots
The accelertion that will always be used to increase or decrease the speed of the scenery object, in knots per second.
GroundCruiseSpeed Ground speed in knots.
GroundTurnSpeed Turning speed in knots.
GroundTurnTime Time in seconds to make a 90 degree turn. A recommended minimum turn time is 0.5 seconds.
WaypointList A Waypoint object list.

 

Spawn List

A spawn list is a list of objects (AI aircraft, scenery objects, triggers, and actions) that should only appear in the mission when a certain stage in the mission has been reached. Spawn lists are initiated by Spawn actions. If the spawn action is called more than once, then multiple objects are created.

 

Property Description
id Reserved. Do not edit this field.
Descr The name of the spawn list. The system will generate a name such as SpawnList1. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field
Objects The list of objects to be created. Click on Property Set for the Objects to bring up the list of objects in the Property Sets box.

Triggers

Triggers initiate actions. There are eleven different types of triggers. When they are active, they will fire whenever the appropriate conditions are met. When a trigger is deactivated it is not evaluating its conditions to decide whether it should fire its actions.

Generic Trigger Properties

All triggers include the following properties (except where noted in the descriptions below).

Property Description
id Reserved. Do not edit this field.
Descr The name of the trigger. The system will generate a name such as AirportLandingTrigger1, simply be appending the number of the next trigger to the type of trigger. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field
Activated Set to True or False. This value can be changed during the mission with the Object activation action.
Latched This will be False at the start of a mission and set to True when the trigger fires. Do not edit this property.
OneShot Set to True if the trigger should only fire once during the mission. Note a few triggers do not contain this property, these are noted in the descriptions for those triggers.
Actions List of one or more actions to initiate when the trigger is fired. Note a few triggers do not contain this property, these are noted in the descriptions for those triggers.

Airport Landing Trigger


An airport landing trigger is fired when the user's aircraft (not AI controlled aircraft) lands on a runway.

Property Description
Generic Trigger Properties
See description above.
AirportIdent The airport identification code, such as KSEA for SeaTac International.
RunwayFilter A RunwayFilter object. Click on the AirportLandingTrigger entry in the Property Sets box to show the RunwayFilter entry, and click on the RunwayFilter to bring up its properties.
LandingType
One of: FullStop, TouchDown or Any.

RunwayFilter Object

 

A runway filter object can be used to specify exactly which runway an aircraft is to land on.

 

Property Description
RunwayNumber
Runway number, leave as 0 if any runway is acceptable. Runway numbers can be from 0 to 36, or one of: North, NorthEast, East, SouthEast, South, SouthWest, West or NorthWest.
RunwayDesignator
One of: None, Left, Right, Center, Water, A, or B.


Area Landing Trigger

An area landing trigger is fired when the user's aircraft (not AI controlled aircraft) lands on one in a specified list of areas.

Property Description
Generic Trigger Properties
See description above.
Areas List of areas which are to fire the trigger. These areas are defined as Area Definition Objects. If no areas are defined, the user can land anywhere and the trigger will fire.
LandingType
One of: FullStop, TouchDown or Any.

Counter Trigger

A counter trigger will fire when it is counter reaches a specified limit. The counter is incremented by  Count Actions.

 

Property Description
Generic Trigger Properties
See description above.
StartCount
Integer indicating the count to start at.
StopCount
Integer indicating when the count stops and the trigger fires.
Counter
The current value of the counter.

Menu Prompt Trigger

A menu prompt trigger will create a menu of options for the user. For some missions this can be as simple as the option to continue, and the option to turn back.

 

Property Description
Generic Trigger Properties
See description above. There is no Actions property for a Menu Prompt trigger.
Text
The text to precede the list of menu options. The maximum length of this text is equivalent to 37 "M"s.
MenuItem
A list of menu items.Clicking on the MenuItem Property Set will bring up the Objects dialog. Click New to add as many menu items as you need. The menu items will appear in the Property Sets box of the Objects tab of the main Object Placement Tool dialog, and clicking on them will bring up their properties.

MenuItem Object

 

Menu item objects form the options for a Menu Prompt trigger.

 

Property Description
Descr
The name of the menu item. The system will generate a name such as MenuItem1. This name can be edited to help identifiy it further. Make sure though that the name is unique.
Text
The text for the menu item. The maximum length of this text is equivalent to 40 "M"s.
Actions
The list of actions to perform if the menu item is selected by the user.


Parking Trigger

A parking trigger will fire when the user has reached the parking spot assigned by the ATC at the airport specified.

Property Description
Generic Trigger Properties
See description above.
AirportIdent
The airport identification code, such as KSEA for SeaTac International.

Property Trigger

A property trigger fires when one or more conditions are met. These conditions can be based on aircraft speed, altitude, failure of components, or a whole host of other simulation variables. See the explanation in the tutorial for an example.

Property Description
Generic Trigger Properties
See description above. Property triggers are only ever fired once, and do not have a OneShot property value.
Condition
One or more conditions, created using the Condtional Editor, which can be a list of logical AND, or a list of logical OR, conditions. Click on the Property Set for Condition to bring up the Conditional Editor dialog.

 

Note
There is an issue with the Ground Speed property. It cannot be tested to being equal to zero in a condition, so mission designers should check for ground speed being less than 1kt to detect a "stopped" aircraft (or other object).

Proximity Trigger

A proximity trigger is fired when the specified object, usually the users aircraft, enters a given box. See the explanation in the tutorial for an example.

Property Description
Generic Trigger Properties
See description above. The proximity trigger does not include the Actions property, as greater flexibility is provided by additional properties.
ObjectFilter

This can be one of: User, Reference or Anything.

The default is User, which means only the user aircraft can fire the trigger. If it is set to Reference, then only the objects listed for OnEnterFilter and OnExitFilter can fire the trigger. If it is set to Anything then any aircraft can fire the trigger. If it is set to User or Anything then OnEnterFilter and OnExitFilter are ignored.

OnEnterActions
List of actions to be triggered when a specified object enters the box, and the OnEnterConditions are met.
OnEnterCondition List of conditions that must be met for the OnEnterActions to be initiiated.
OnEnterFilter List of objects that will fire the OnEnterActions on entering the box, if the OnEnterConditions are met.
OnExitActions
List of actions to be triggered when a specified object leaves the box, if the OnExitConditions are met.
OnExitCondition List of conditions that must be met for the OnExitActions to be initiated.
OnExitFilter List of objects that will fire the OnExitActions on leaving the box, if the OnExitConditions are met.
Areas List of one or more 3D box areas that the trigger applies to. These are set up as AreaDefinition objects.

Note

If a proximity trigger has its OneShot property set to True, and it has on-enter and on-exit actions (or on-enter and on-exit conditions) the trigger will deactivate itself on the first set of actions. So in other words, when the on-enter actions fire, the proximity trigger will be deactivated and the on-exit actions will never fire.

So if you are going to use both on-enter and on-exit actions or conditions, or any combination, you must set the trigger so that OneShot is set to False.

Timer Trigger

A timer trigger fires when the given number of seconds has elapsed. See the explanation in the tutorial for an example.

Property Description
Generic Trigger Properties
See description above.
CurrentTime
Current amount of time, in seconds, left before the trigger fires. Do not set this property.
StartTime
The time, in seconds, when the timer is to start.
StopTime
The time, in seconds, when the timer is to stop, and fire any actions linked to the trigger.
OnScreenTimer
Set to True if an onscreen timer is to be rendered. Note that there can only be one onscreen timer (so if a new one is opened, it will replace any existing one).

Goal Object

There is only one type of goal, and a mission can include one or more goals. See the explanation in the tutorial for an example.

Property Description
id Reserved. Do not edit this field.
Descr The name of the goal. The system will generate a name such as Goal1. This name can be edited to help identifiy it further. Make sure though that the name is unique.
InstanceId This is the GUID generated to ensure the object has a unique reference. Do not edit this field
Activated Set to True or False.This can be changed during a mission using the Goal Resolution action.
GoalState One of: pending, completed, or failed.
Text The text that will appear in the End Mission dialog, along with the final GoalState.
Order The order in which the goals are to appear in the End Mission dialog, starting with 0 for the first.

 

Disabled Traffic Airports Object

A disabled airport will not be involved in any AI traffic, either as a starting point or a destination.

Property Description
AirportIdent
The airport identification code, such as KSEA for SeaTac International.



 

© 2006 Microsoft Corporation. All rights reserved.

~~@~~