Instruction pour l'utilisation Editor / Défense usine

De Warthunder Wiki FR
Aller à : navigation, rechercher
        

Création de la mission

Ouvrez l'éditeur et ouvrez le niveau de Stalingrad que le projet. Après cela, ouvrez l'onglet « Mission Editor » sur la barre d'outils, trouver le bouton « Nouvelle mission ... » et cliquez dessus. Maintenant, vous devez ouvrir la fenêtre des propriétés de la mission. Pour ce faire, cliquez sur les « Propriétés et Trigger/MissionObj informations ». Une fois que vous cliquez dessus, deux fenêtres seront open:'Properties’ et « Trigger / Mission Obj. Info'. Dans la fenêtre « Propriétés », cliquez sur la section «Paramètres Mission pour l'ouvrir. Dans cette section, trouvez la section « étoiles » et ouvrir ainsi. Vous verrez les paramètres de date et d'heure pour le début de la mission. Entrez 9 dans le champ « mois », 15 dans le champ « jour », 12 dans le domaine « temps » et 1942 dans le champ « année ». Cela rendra le début de la mission le 15 Septembre 1942 à 00 heures

Fermez la section « étoiles » et ouvrir la section « mission » situé au-dessous. Si vous ne pouvez pas voir cette section, faites défiler la fenêtre « Propriétés » à l'aide vers le bas ou la molette de votre souris. Dans la section « mission », vous devez remplir plusieurs fields:

  • Dans le champ « nom », entrez un nom pour la mission en anglais
  • Dans le champ « niveau », choisissez le niveau de la mission utilisera. Pour cette mission, choisissez « » stalingrad
  • Dans le champ « type », vous devez indiquer le type de la mission. Ce tutoriel ne touche que sur le type « singleMission », choisissez donc que l'on
  • Le champ « restoreType » définit ce qui se passe au joueur après son avion est détruit. La valeur des « tentatives » permet à l'avion de faire plusieurs tentatives pour mener à bien la mission après avoir été détruit, jusqu'à ce que les tentatives Courez la mission échoue. La valeur de « tacticalControl » permet au joueur de passer à l'avion suivant dans l'aile si son avion actuel est détruit aussi longtemps qu'il ya au moins un avion encore actif dans l'aile du joueur
  • Dans le champ « campagne », vous devez choisir quelle campagne militaire cette mission appartient. Depuis la bataille de Stalingrad a eu lieu sur le front de l'Est, choisissez « Est »
  • Le champ « environnement » définit le type de ciel et l'intensité de l'éclairage. Nous vous recommandons de régler cette variable en fonction du champ « temps » qui a été précédemment définie. Puisque nous sommes entrés 12 dans ce domaine, nous devons entrer « jour » dans « l'environnement »
  • Le champ « météo » est responsable des conditions météorologiques sur la mission. Sélectionnez la valeur « floue

Fermez la « mission » et les sections «Paramètres Mission et aller à la « Mission / Déclencheurs Obj. section « Navigation située en dessous. Ce sera votre section principale de cette fenêtre, et désormais, pour simplifier, cette section sera appelée la « liste de base ».

La section se compose d'une fenêtre avec deux actuellement vides lists:'Triggers’ et « objectifs de la mission ». En dessous de la fenêtre sont plusieurs buttons:

  • « Trigger » crée un nouveau déclencheur
  • « Mission Obj » crée un nouvel objectif de mission
  • « Copier » et « Coller » sont utilisés pour copier un élément de la liste avec toutes les conditions à l'intérieur et le mettre dans un nouvel endroit
  • « Del » est utilisé pour supprimer un élément de la liste
  • « Up » et « Down » vous permettent de déplacer un élément de la liste vers le bas ou vers le haut dans l'arborescence de la liste.

Cliquez sur le bouton « Trigger ». Un nouvel élément est apparu dans l'arbre Déclencheurs appelé « Trigger_01 ». Dans la fenêtre suivante, intitulée « Trigger / Mission Obj. Info », changer son nom dans le « » champ « Nom mission_start ». Plus bas dans la même fenêtre, vous pouvez voir le champ « Elements », dans lequel il y a trois trees:'événements actuellement vides, qui influe sur la façon dont cette works; 'Conditions de déclenchement, ce qui influence qui conditionnent est nécessaire pour activer les actions du trigger; and », ce qui influence ce qui devrait se produire exactement quand la condition d'exécution de déclenchement est atteint. Dans le cas où la condition de déclenchement n'est pas satisfaite, le déclencheur peut être appelé à nouveau selon ce qui est écrit dans son arbre « » Événements. Après le déclenchement est remplie, il cesse d'être appelé. A partir de maintenant, notre déclencheur a un événement « periodicEvent » avec une valeur « temps » à 1. Cela signifie que le déclencheur essaiera d'exécuter chaque seconde. Sélectionnons cet événement et appuyez sur le bouton « Supprimer » en bas de la fenêtre « éléments ». Après la suppression de l'événement, nous avons un déclencheur absolument vide, mais nous avons besoin de ce déclencheur spécifiquement pour exécuter au début de la mission. Pour ce faire, nous avons besoin d'ajouter un nouvel événement en cliquant sur le bouton correspondant. Cliquez sur le bouton « événement » et, dans la fenêtre qui, sélectionnez « initMission ».

Création du lecteur

Création du lecteur signifie la création de son avion et d'autres instructions pour le jeu de ce que le joueur avion volera. Une mission sans ces deux conditions remplies ne peut pas être lancé.


Tout d'abord, nous allons créer l'avion du joueur. Pour ce faire, cliquez sur le champ dans le bouton « Créer unité » sur la barre d'outils éditeur de mission, d'abord en sélectionnant « armada » à droite du bouton. Placez partout l'avion du joueur sur la carte, puis sélectionnez-le et cliquez sur « Afficher les accessoires de / objet cacher. panneau'. Après avoir cliqué sur ce bouton, la fenêtre Propriétés de l'objet s'ouvre. Nous aurons besoin de changer plusieurs paramètres it:

  • Dans le champ « nom », entrez « joueur ». Le jeu plus tard reconnaître l'avion du joueur par ce nom.
  • Dans le champ « class », sélectionnez « yak-1b ». Nous avons donnant au joueur un Yak-1B à contrôler.
  • Dans le champ « arme », choisissez « Yak1b_default ».

Plus bas dans cette fenêtre est la section « Propriétés », où nous devons également remplir plusieurs fields:

  • Définissez le champ « armée » à 1. En règle générale, les avions de joueurs et les unités appartiennent à l'armée 1, alors que les avions ennemis et les unités appartiennent à l'armée 2.
  • Définissez le champ « count » à 4. Cela signifie que le joueur dispose de 4 avions sous son contrôle, y compris l'avion du joueur. En d'autres termes, le joueur lui-même et 3 avions de soutien seront présents sur le champ de bataille.
  • Appuyez sur le « + numInWing » bouton situé sous le champ « count » et, dans la fenêtre qui, entrez la valeur 2. Cela signifie que les avions sous le contrôle du joueur sont divisés en paires.

Maintenant, nous devons aller à la fenêtre Propriétés, qui ouvre après avoir cliqué sur le bouton « Propriétés et Trigger/MissionObj Info » situé sur la barre d'outils de la Mission Editor. Nous nous intéressons à la section intitulée player_teamA. Dans le domaine de l'aile, appuyez sur la <none> et, dans la fenêtre qui apparaît, sélectionnez « joueur ». Cela indique au jeu qui à considérer le joueur. Vous pouvez maintenant enregistrer la mission en cliquant sur le bouton Enregistrer la mission, et le lancer en cliquant sur le bouton Exécuter la mission. Lors de l'enregistrement de la mission, il est préférable que le nom du fichier de la mission pour correspondre à son titre inscrit dans le champ Nom. Après la mission est lancée, vous vous voyez voler un combattant de Yak-1B, et trois autres du même volerez derrière vous.

Création de l'aérodrome

Faisons les choses plus difficiles en faisant le joueur le décollage de l'aérodrome. Pour ce faire, nous devons créer l'aérodrome lui-même. Pour créer l'aérodrome, allez dans l'onglet « Paysage » sur la barre d'outils et cliquez sur le bouton « Select objet par son nom ». Dans la fenêtre qui, entrez « air », choisissez « stalingrad_airfield_2_009 » dans la liste qui apparaît, cliquez sur le bouton OK pour fermer la fenêtre, puis appuyez sur la touche Z. La caméra de l'éditeur se déplacera pour montrer l'aérodrome sélectionné. Maintenant, retournez à l'onglet Mission Editor dans la barre d'outils et cliquez sur le bouton « Créer zone de boîte ». Avec cela, créer une zone rectangulaire d'une taille correspondant approximativement à la taille de l'aérodrome. Après avoir créé la zone, ouvrez la fenêtre « Propriétés de l'objet » en appuyant sur le bouton « Afficher le panneau des accessoires / objet cacher ». Dans la fenêtre des paramètres, modifiez le paramètre « nom » à « airfield_area ». Après sa création, « airfield_area » sera très probablement placé à un angle à l'aérodrome et devra être tourné. Pour ce faire, sélectionnez la zone nouvellement créée et appuyez sur la touche Z pour faire bouger la caméra à l'objet. Maintenant, appuyez sur le bouton « Rotation » pour passer en mode rotation et commencer à tourner autour de l'arc vert pour faire le tour de la zone dans la direction de l'aérodrome. Une fois que vous avez terminé faire tourner l'objet, appuyez sur le bouton « Move ». Déplacer l'objet afin qu'il se trouve là où il faut sur le terrain d'aviation. Si l'objet se révèle trop grand ou trop petit, vous pouvez modifier sa taille. Pour ce faire, appuyez sur le bouton « Scale » et changer la taille de l'objet sur l'un de ses axes. zone logique de l'aérodrome a été créé. Maintenant, nous devons indiquer le début et la fin de l'aérodrome. Pour ce faire, utilisez « Créer zone sphère » pour créer deux zones. Placez une au début de l'aérodrome et un à la fin. Les deux zones doivent être dans « airfield_area ». Appuyez sur le bouton « Afficher le panneau des accessoires d'objet cacher / » et, dans la fenêtre « Propriétés de l'objet », renommer la première zone à « airfield_start », et le second à « airfield_end ». Maintenant, nous devons créer des points pour l'avion et ses alliés du joueur à comparaître à. En utilisant la même « Créer zone sphère » bouton, créer quatre zones situées à l'intérieur « airfield_area », entre « airfield_start » et « airfield_end » et plus proche de « airfield_start ». Modifiez les noms des nouvelles zones à « spawn01 » - « spawn04 ».

Faire l'avion du joueur apparaît sur l'aérodrome

Le terrain d'aviation est fait. Maintenant, nous devons faire est que le joueur commence le jeu pas dans l'air, mais sur le terrain d'aviation.

Pour ce faire, sélectionnez le déclencheur « de mission_start » et appuyez sur le bouton « action » pour ajouter une nouvelle action. Choisissez « addterrain d'aviation » dans la liste. Cette action a plusieurs paramètres qui doivent être edited:

  • Définissez le champ « runwayStart » à « airfield_start ».
  • Définir le champ « runwayEnd » à « airfield_end ».
  • Le champ « runawayWidth » définit la largeur du terrain d'aviation. Le réglage recommandé est de 10 mètres.
  • Dans le champ « armée », choisir quelle armée ce terrain appartient. Étant donné que le joueur apparaîtra sur elle, qui appartient à l'armée 1, nous choisissons 1 ici.
  • En cliquant sur le « + Spawnpoint » bouton, il faut ajouter les zones créées précédemment avec les noms de spawn01 '- » spawn04’ .
  • Le bouton « + visibleOnHud » est utilisé pour activer ou désactiver la case à cocher qui est responsable de l'affichage de l'aérodrome sur le radar.

Il y a juste une touche de finition restant avant les avions du joueur peuvent apparaître sur le terrain d'aviation. Ajoutons une autre action, en choisissant « spawnOnterrain d'aviation » dans la liste. Cette action nécessite aussi plusieurs paramètres pour être configured:

  • Dans le champ « runwayName », définir le point de départ de l'aérodrome de « airfield_start ».
  • Le bouton '+ objets de nous permet d'indiquer exactement qui doit être placé sur ce terrain d'aviation. Dans la fenêtre qui apparaît, sélectionnez « joueur ».

Maintenant sauver la mission et le lancer pour le tester.


objectif Take-off

Maintenant que le joueur est sur le terrain d'aviation, il serait logique de lui donner la première objective:to le décollage. Pour ce faire, appuyez sur le bouton « Mission Obj » dans la liste de base, et dans la fenêtre qui apparaît, sélectionnez « abstractMissionObjective ». Un nouvel objectif de la mission sera créée appelée « MissionObj_01 ». Seulement trois choses dans ses propriétés d'intérêt us:

  • Le champ « nom », dans lequel vous devez indiquer le nom de l'objectif. Entrez « take_off ».
  • Le champ « Activé » avec une case à cocher est activée, ce qui signifie que lorsque le déclencheur est appelé, l'objectif sera automatiquement attribué. Étant donné que le déclencheur est appelé au début de la mission, et nous voulons que le joueur reçoive immédiatement l'objectif, nous laisserons ce tic tac.
  • Le champ « IsPrimary » a la case à cocher est activée, ce qui signifie que cet objectif sera le principal. Décochant cette case à cocher la tâche peut être considérée comme un objectif supplémentaire. Laissez-le vérifier.

Maintenant, dans le dossier où vous avez enregistré la mission, vous devez créer un fichier texte avec le même nom que le fichier de la mission, mais avec l'extension « csv ». Par exemple, dans cet exemple, la mission est enregistrée dans le fichier « sample01_stalingrad.blk ». Cela signifie que vous devez créer le fichier « sample01_stalingrad.csv ». Ouvrez le fichier créé et enregistrez-le avec le codage UTF-8. Maintenant, ajoutez une ligne au File:"take_off"; "Take off"; "Взлетите". La ligne se compose de trois parts:

  • "take_off" est l'identifiant de la ligne. Il doit correspondre au nom que vous avez donné l'objectif de la mission.
  • "Take off" est le texte objectif en anglais. Vous pouvez laisser les guillemets vident ici si vous ne voulez pas inclure le texte anglais pour une raison quelconque.
  • "Взлетите" est le texte objectif Russien.

Les trois parties sont entre guillemets et séparés par le ; character. Enregistrez le fichier une fois et fermez-le. Enregistrer la mission et le lancer. Maintenant, dès que le joueur commence la mission, le nouvel objectif « décollage » doit être attribué.

Vérification de la réalisation de l'objectif de take-off

Si vous avez coché la mission, alors vous avez probablement remarqué que, après le décollage, l'objectif de take-off est resté dans le journal et son statut n'a pas changé. Pour résoudre ces problèmes, nous devons créer un nouveau déclencheur et l'appeler « check_for_takeoff ». Depuis le déclenchement doit commencer la vérification juste après le début de la mission, nous allons laisser la case « Activé » cochée. L'intervalle de vérification de la gâchette de 1 seconde nous convient également, donc nous allons laisser « » inchangée Événements ainsi. Mais nous avons besoin d'ajouter un chèque si le joueur a décollé ou non. Pour ce faire, ajoutez une nouvelle condition à la détente nouvellement créé, sélectionner « unitWhenStatus » dans la liste et la configuration comme so:

  • Dans le champ « objet », sélectionnez « joueur ».
  • Dans le « object_type » champ, sélectionnez « isInAir ».
  • Laissez le champ « » check_objects réglé sur « tout ». Cela permet la vérification de terminer, même si un seul avion a décollé. Considérant que le joueur prend en premier et les autres avions dans son aile attendent leur tour, c'est la bonne décision.

Maintenant, nous allons ajouter une nouvelle action sur la gâchette qui va changer le statut de l'objectif de « complet ». Pour ce faire, sélectionnez « moSetObjectiveStatus » dans la liste des « actions » avec le parameters:

  • Dans le champ « cible », sélectionnez « take_off ».
  • Dans le champ « état », sélectionnez 2, ce qui signifie que l'objectif a été achevé avec succès.

Enregistrer et vérifier si l'objectif est terminée après que l'avion décolle.


Création d'un point de cheminement de la route

Le joueur a pris son envol, et maintenant il est temps de fournir un point de passage. Pour ce faire, sélectionnez « Créer zone point » de la barre d'outils Mission Editor, trouver l'usine près de Stalingrad sur la carte et placez une zone directement au-dessus de l'usine à une hauteur de 2000 mètres. Renommer la zone à « factory_point ». Maintenant, nous devons montrer en quelque sorte ce point au joueur afin qu'il sache où voler à. Affichage sur le terrain ne serait pas juste, puisque nous avons déjà donné le joueur l'objectif de décollage. Mais après que le joueur est dans l'air et a terminé le premier objectif, il sera temps de fournir un nouvel objectif de mission. Alors, allons à la gâchette de « check_for_takeoff » et ajouter une nouvelle action à elle, en sélectionnant « missionMarkAsWaypoint » pour la liste, et sa mise en place comme so:

  • Dans le champ « cible », indique la zone à marquer pour le joueur - la zone « de factory_point ».
  • Laissez le champ « visible » a permis de faire en sorte que le joueur voit une représentation visuelle du point de passage.
  • Le champ « primaire » indique que ce point de passage est le même point de passage, le joueur doit voler dans le but d'atteindre l'objectif actuel.

Objectif pour atteindre le point de passage

Nous avons montré le joueur le point de passage qu'il doit atteindre. Maintenant, il est temps d'assigner un objectif à afficher dans le journal. Pour ce faire, ouvrez notre fichier csv et ajouter une ligne à la it:"reach_first_waypoint"; "Reach checkpoint"; "Проследуйте к отмеченной зоне". Enregistrez le fichier et ajouter le nouvel objectif de la mission de notre mission. Pour ce faire, tout comme la première fois, mais changer le nom de « reach_first_waypoint » et décocher la case à côté de la « Activé » champ, étant donné que nous ne voulons pas que l'objectif à afficher dès que la mission commence. Lorsque vous avez fait tout cela, aller à la détente « de check_for_takeoff ». Comme vous pouvez le voir, dans ce déclencheur que nous avons déjà modifié le statut d'un objectif. Par conséquent, si nous attribuons immédiatement un nouveau objectif, les messages sur l'écran se situera au-dessus de l'autre, qui ne sera pas l'air bien. Il serait bon de créer une pause entre ces deux événements. Une nouvelle action appelée « attendre » va nous aider à faire cela. Ajouter un et définir son champ « temps » à 3. Maintenant que nous avons créé la pause nous avons besoin, nous allons donner au joueur le nouvel objectif. Pour ce faire, ajoutez une autre action, en choisissant « moAddMissionObjective » dans la liste et définissant le champ « cible » à notre « reach_first_point ». Enregistrer la mission et vérifier si elle fonctionne.

Vérifier si le point de passage a été atteint

Étant donné que nous avons assigné un objectif de voler vers un point de passage, il faut vérifier si le point de passage a été atteint. Pour ce faire, créez un nouveau déclencheur appelé « check_for_reach_point ». Étant donné que l'objectif d'atteindre le point n'est pas affecté tout de suite, le contrôle doit pas non plus commencer tout de suite, mais plutôt commencer après que le joueur reçoit l'objectif. Cela signifie que nous Décochez l'option « Activé » dans notre déclencheur. Maintenant, ajoutez une nouvelle condition à la détente qui va vérifier si le joueur a atteint un point donné. Sélectionnez « unitDistanceBetween » de la liste des conditions de et donner des paramètres tels que so:

  • Dans le champ « objet », sélectionnez « joueur ».
  • Dans le champ « cible », sélectionnez « factory_point ».
  • Dans le champ « valeur », indique une distance de 2000 mètres.
  • Laissez le champ « mathématique » comme « 2D », ce qui signifie que pour que la condition soit atteinte, la distance entre « objet » et « cible » doit être d'au moins 2.000 mètres sur un axe quelconque. Si vous choisissez « 3D », cela signifie qu'une vérification réussie nécessiterait à la fois l'objet et l'objectif d'être sur un seul plan horizontal.

La condition de vérification a été fournie. Maintenant il est temps de fournir une réaction. Pour ce faire, ajoutez une nouvelle action et sélectionnez le désormais familier « moSetObjectiveStatus ». Définir « cible » à « reach_first_point » et « statut » à 2, pour l'achèvement objectif avec succès. Depuis le déclenchement de contrôle n'est pas appelé automatiquement, nous devons appeler nous-mêmes de la gâchette qui assigne l'objectif d'atteindre le point de passage. Aller à la gâchette de « check_for_takeoff » et ajouter une nouvelle action à elle, le choix déclencheur « triggerEnable » dans la liste et la mise en « cible » au « check_for_reach_point ».

La touche finale est d'arrêter le point de passage d'apparaître après est atteinte. Pour ce faire, allez à la « check_for_reach_point » déclencheur et ajouter une nouvelle action « missionMarkAsWaypoint », la mise en « cible » au « factory_point » et en décochant la case « visible ». Enregistrer la mission et vérifier que tout fonctionne comme prévu.


Création d'bombardiers ennemis

Il est temps de créer les bombardiers ennemis. Pour ce faire, cliquez sur le « Créer unité » bouton dans la barre d'outils sur l'onglet éditeur de mission, d'abord faire en sorte que le champ à droite est réglé sur « l'armada ». Maintenant, placez un avion à quelques kilomètres de Stalingrad à une hauteur de 1500 mètres et l'appeler « enemy_bombers ». Dans le champ « classe », définissez le type de l'avion pour « ju88a-4 » et lui donner les armes par défaut. Assurez-vous que le champ du joueur « armée » champ ne correspond pas à la « armée » et définir le nombre d'avions champ ( « count ») à 24. Cliquez sur « + numInWing » icône située en dessous du « count » et mettre à 3, ce qui signifie que les 24 bombardiers seront divisés en groupes de 3.


Création des combattants ennemis

Maintenant, nous allons créer les combattants d'escorte. Vous pouvez utiliser le bouton « Créer unité » touche à nouveau, mais vous pouvez sélectionner à la place les bombardiers déjà créés, cliquez sur le « mouvement » et, en maintenant la touche Maj enfoncée, faites glisser un avion le long de la flèche verte vers le haut de 500 mètres. Dans la fenêtre qui ouvre, donne l'avion une nouvelle name:'enemy_fighters’. Sélectionnez l'avion que vous avez obtenu et définir sa « classe » à « bf-109f-4 » avec des armes par défaut. Set « count » à 6 et de réduire la valeur « numInWing » à 2.


l'unification logique des avions ennemis

Maintenant que nous avons créé les bombardiers et chasseurs d'escorte, nous avons deux forces. Nous allons devoir effectuer plusieurs actions identiques pour chaque force, il serait bon de les unifier. Pour ce faire, utilisez le bouton « Créer unité », tout d'abord faire en sorte que le champ à droite est réglé sur « équipe », pour créer une escouade près des avions ennemis. Appelez-le « enemy_squad ». Dans les propriétés de l'escouade fenêtre, vous devez configurer « squad_members », ajoutant d'abord « enemy_bombers », puis « enemy_fighters ».


Mettre les avions ennemis pour dormir

Les avions ennemis seront créés automatiquement au début de la mission, mais nous ne les ont besoin pendant un certain temps. Comme ils ont été laissés à la merci du sort, les avions vont probablement mourir en provoquant une collision dans le sol ou l'autre, ou ils volent juste au loin dans une direction inconnue. Pour que cela ne se produit pas, il faut les mettre pour dormir et les réveiller quand nous en avons besoin.

Aller à la « mission_start » déclencheur et ajouter une nouvelle action à elle, en choisissant « unitPutToSleep » dans la liste et en définissant sa « cible » à la création récente « enemy_squad ». Comme vous pouvez le voir, nous fonctionnons sur un seul objet, mais de mettre à la fois les bombardiers et les combattants pour dormir. Bientôt, lorsque nous créons une équipe de taille importante, vous serez en mesure d'apprécier la commodité de travailler avec eux.


Création d'objectifs pour la course à la bombe usine Stalingrad

Pour les bombardiers d'avoir quelque chose à la bombe, nous avons besoin d'ajouter des cibles pour eux. Pour ce faire, déplacez l'appareil photo à l'usine près de Stalingrad, et appuyez sur le bouton « Créer unité », tout d'abord faire en sorte que le champ à droite est réglé sur « structures ». Placez la structure sur le toit d'un des bâtiments de l'usine. Changer le nom de la structure « bomb_target01 ». Set « classe » à « factice » et assurez-vous de définir la « armée » à l'armée du joueur (1). Maintenant, nous allons faire une copie de cette structure tout comme nous avons fait des copies des avions quand nous créions les combattants d'escorte pour les bombardiers. Nous allons placer ces copies sur les toits des bâtiments d'usine. Ne pas le faire - nous avons besoin de pas plus de 16 cibles, étant donné que la capacité d'un groupe est limité à 16 unités. Maintenant, sélectionnez toutes les structures que vous avez créées et les élever par 100 mètres. Après cela, appuyez sur le bouton « unité Drop » situé sur la barre d'outils Mission Editor. Cela placera les structures sélectionnées sur la surface du niveau, de sorte que les bombardiers peuvent les détruire.


Création anti-air batteries

Pour faciliter, Plaçons le travail du joueur plusieurs batteries anti-air autour de l'usine. Pour ce faire, utilisez le « Créer unité » touche à nouveau, d'abord faire en sorte que le champ à droite est réglé sur « air_defence ». Plaçons une batterie de anti-air à côté de l'usine et le configurer. Définissez le champ champ « classe » à « ussr_37mm_61k », le champ de l'armée »à la même que celle du joueur, et la « précision » à 0,3 - après tout, nous ne voulons pas que ces armes anti-air à faire tout le travail du joueur pour leur. Copiez le canon anti-air résultant à plusieurs reprises et placez les copies autour de l'usine.

La combinaison de cibles et d'armes

Depuis que nous avons fini avec beaucoup de cibles pour nos bombardiers et plusieurs canons anti-air, ce serait bien de les combiner en équipes. Créer deux nouvelles équipes appelées « bomb_targets » et « air_defence ». Déplacer toutes les structures de la première équipe et toutes les batteries anti-air à la seconde.


Se réveiller les avions ennemis

Tous les préparatifs sont terminés. Maintenant, nous devons réveiller les avions ennemis et les envoyer sur leur chemin à l'usine. Pour ce faire, allez à la gâchette de « check_for_reach_point » et ajouter une nouvelle action à elle, en choisissant « unitWakeUp » dans la liste. Set « cible » à « enemy_squad ». Les avions ennemis ont pris conscience, et ils ont besoin d'un emploi. Ce serait une bonne idée de les envoyer à l'usine, ce qui se fait en ajoutant une autre action à la détente actuelle. Sélectionnez « unitMoveTo » dans la liste et lui donner la parameters: suivante

  • Définissez le champ « objet » à « enemy_squad ».
  • Définissez le champ « cible » à « factory_point ».
  • Définissez le champ « vitesse » à 300. Cela est fait pour se assurer que tous les avions mis hors à la même vitesse et les combattants ne se séparent pas des bombardiers.
  • Trouver le champ « shouldKeepFormation » et l'activer. Cela permet aux avions de maintenir leur formation pendant qu'ils volent.

Configuration des paramètres supplémentaires pour les avions ennemis

Faisons en sorte que l'efficacité des avions ennemis dépendent de l'efficacité des actions du joueur. Dans le déclencheur « de check_for_reach_point », ajoutez une commande « » unitSetProperties, réglage « objet » à « enemy_bombers ». Développez la section « plan » situé au-dessus, la section « targetDeviation » en elle. Définir le champ « déclencheur » de cette section aux « limites » « bombes » et mis à 0-2,5. Ajouter un autre « targetDeviation », mais définissez le champ « déclencheur » à « canonnier », définissant son paramètre « limites » à la même valeur que les bombes. Ajouter la même commande avec les mêmes paramètres pour les combattants ennemis. Seulement définir le « objet » pour « unitSetProperties » à « enemy_fighters » et le champ « déclencheur » de la section « targetDeviation » à « mitrailleuse ».


objectif de défense de l'usine

Maintenant, nous allons donner au joueur son prochain objectif. Pour ce faire, ajoutez une ligne à notre csv File:"bombers_engaged"; "Defend l'usine contre l'ennemi bombers"; "Защитите завод от атак вражеских бомбардировщиков". Dans la mission elle-même, ajouter une nouvelle case « Objectif de la mission » appelé « bombers_engaged » et décochez la case « Activé », puisque nous voulons que cet objectif apparaisse dans le journal à un moment précis. Maintenant, allez à la gâchette « check_for_reach_point ». Comme vous pouvez le voir, les opérations pour modifier l'état des objectifs ont déjà eu lieu, et cela signifie que, avant l'attribution d'un nouvel objectif, nous avons besoin de faire une pause afin que les messages ne semblent pas au-dessus de l'autre. Ajouter une nouvelle action « d'attente » pendant 3 secondes. Après la pause, ajouter une nouvelle action, en choisissant « moAddMissionObjective » dans la liste et en définissant sa « cible » à « bombers_engaged ».

Le marquage des bombardiers comme cibles

Maintenant, nous pouvons marquer les bombardiers ennemis comme les cibles de l'objectif et de fournir également des informations sur les bombardiers en bas de l'écran, de sorte que le joueur peut voir combien il y a. Pour ce faire, ajoutez une nouvelle action sur la gâchette « de check_for_reach_point », sélection

Affichage d'un compteur de bombardier

Pour permettre au joueur de voir combien de bombardiers sont à gauche, nous devons créer un nouveau déclencheur "de update_indicator. Ce déclencheur doit être appelé une fois par seconde et ne doit pas fermer après avoir été remplie, mais continuer à fonctionner à la place. Cela signifie que le compteur de bombardier va changer une fois par seconde. Comment peut-on ne this?

Tout d'abord, créer un déclencheur de « update_indicator » et décocher la case « Activé », puisque nous ne voulons pas que le compteur affiche au début de la mission. Cependant, nous avons besoin de cocher la case à côté de « enableAfterComplete », qui permet la détente de continuer à travailler jusqu'à ce que nous le mettre hors de nous.

Maintenant, nous allons ajouter une nouvelle action à ce déclencheur, sélectionner « missionSetTargetsIndicator » dans la liste et en lui donnant le parameters:

  • Définissez le champ « cible » à « enemy_bombers ».
  • Laissez le jeu de champ « target_type » à « isAlive », puisque nous devons montrer le nombre de bombardiers encore en vie.
  • Définissez le champ « icône » pour « air » pour faire une icône d'avion apparaissent sur le compteur.
  • Définir le champ « icon_army » à l'indice de l'armée que les bombardiers appartiennent.

Maintenant, allez à la gâchette de « check_for_reach_point » et utiliser une action « enableTrigger » pour appeler le déclencheur de « update_indicator ».

Affichage d'un bâtiment d'usine comptoir

Cependant, nous sommes également intéressés à des informations sur la réussite de la défense de l'usine est. A cet effet, nous allons introduire un compteur pour les bâtiments intacts. Cela permettra au joueur d'évaluer leur efficacité au cours de la mission. Pour ce faire, ajoutez un nouveau déclencheur action « missionSetTargetsIndicator » au « de update_indicator » déjà existant et lui donner la parameters: suivante

  • Définissez le champ « cible » à « bomb_targets ».
  • Leave « isAlive » dans le champ « target_type », puisque nous devons montrer le nombre de bâtiments encore intacts.
  • Définissez le champ « icône » de « bâtiment » pour faire une icône de construction apparaissent sur le comptoir.
  • Définir le champ « icon_army » à l'index de l'armée que le joueur appartient.

Enregistrer et assurez-vous que tout fonctionne.


Vérifier si tous les bombardiers ont été tués

Le joueur peut détruire tous les bombardiers ennemis avant qu'ils atteignent l'usine. Cela signifie que dès que le joueur reçoit l'objectif de défendre l'usine, nous devons commencer à vérifier le nombre de bombardiers restants.

Pour ce faire, créez un nouveau déclencheur « check_for_mission_completed » et cochez la case « Activé ». Dans le domaine des « événements » de ce déclencheur, le changement « periodicEvent », la mise en « temps » à 20 secondes pour que la vérification de la destruction de tous les bombardiers n'est pas appelé très souvent.

Aller à la gâchette « check_for_reach_point ». Dans la liste de ce déclencheur d'actions que nous avons créé, il y a déjà un « triggerEnable ». Sélectionnez-le et ajoutez un autre appel argument:a pour le déclencheur « check_for_mission_completed ». Retour à la gâchette « check_for_mission_completed » et ajouter une condition à cocher « unitWhenStatus », le réglage de la parameters:

  • Définir « cible » pour les allemands bombardiers-'enemy_bombers.
  • Set « object_type » à « isKilled ».
  • Set « check_object » à « tous ».

Cela permettra à la gâchette pour activer que si tous les bombardiers sont détruits.

Ajouter une nouvelle action, la sélection « missionCompleted » dans la liste. Maintenant, si tous les bombardiers sont détruits, la mission sera terminée. Mais si le dernier bombardier meurt tout comme l'objectif de défendre l'usine est failed? Le jeu va d'abord nous dire que la mission a été échoué, et qu'il est terminé. Pour que cela ne se produit pas, nous allons ajouter un autre « condition':'misObjStatus ». Définir « cible » à la « bombers_engaged » objective et « statut » à « notFailed ». This means that apart from destroying all the bombers, the status of the defense objective will also be checked, and the mission will be failed if that objective is failed.


Checking the open factory defense objective

What will happen if the mission ends, but the objective to defend the factory hasn’t ended yet? It would seem logical to add the end of the objective to the trigger that checks whether all the bombers have been killed. But what if the last bomber dies after the defense objective is complete? Will the player see a second notification that the mission is complete? That’s not ideal. To solve it, let’s create a trigger that will check whether the factory defense objective is active, and if it is, mark it completed.

Create a ‘check_for_defense_completion’ trigger and tick the ‘Enabled’ box. The only check condition in this trigger will be for the status of the objective to defend the factory. Add a ‘misObjStatus’ condition. Set ‘target’ to ‘bombers_engaged’ and ‘status’ to ‘notFailed’. This means we’re checking whether the objective to defend the factory has been failed. And if it isn’t failed, we complete an action which we’ll add right now. This will be an ‘moSetObjectiveStatus’ action, with ‘target’ set to ‘bombers_engaged’ and ‘status’ to 2, which means the objective is complete

Now let’s call this trigger from the trigger that checks whether all the bombers have been destroyed. To do this, add a ‘triggerEnable’ action to the ‘check_for_mission_completed’ trigger, setting its ‘target’ to our ‘check_for_defense_completion’ trigger. Using the ‘Up’ button placed below the list of all the actions, put ‘triggerEnable’ one line above ‘missionCompleted’. Now we need to make a pause between displaying the objective status as complete and ending the mission. Add a ‘wait’ action for 3 seconds and place it between ‘triggerEnable’ and ‘missionCompleted’.

If you play the mission now, you’ll probably feel like it’s too short. Let’s let the player play around a little. To do this, add a new ‘wait’ action to the ‘check_for_mission_failed’ trigger and set it to 120. Place it after ‘triggerDisable’, but before all the other actions. This means that if the bombing run is unsuccessful and the factory survives it, a 2-minute pause will take place before the mission ends and the objective is marked as completed. This is more than enough for the player to shoot down a few more enemy airplanes. At the same time, if the player destroys all the enemy bombers, the ‘check_for_mission_completion’ trigger will be fulfilled, and the mission will end before the 2 minutes is up.


Checking whether the enemy airplanes have reached the factory

It’s time to check whether the enemy bombers have reached the factory and whether it’s time to start bombing it. To do this, create a new ‘check_for_bombers_near_factory’ trigger and uncheck the ‘Enabled’ box. Create ‘unitDistanceBetween’ as the condition and set it up like so:

  • Set ‘object’ to ‘enemy_bombers’.
  • Set ‘target’ to ‘factory_point’.
  • Set ‘value’ to 5,000 meters.
  • Set ‘math’ to ‘2D’.

Go to the ‘check_for_reach_point’ trigger and add a call for the ‘check_for_bombers_near_factory’ trigger to the already existing ‘triggerEnable’.


Assigning a bombing objective to the enemy bombers

We just created a trigger that checks whether the bombers have reached their target, and now we need to assign them an objective to attack the factory. Add a new action to this trigger, selecting ‘unitAttackTarget’ from the list and setting it up like so:

  • Set ‘object’ to ‘enemy_bombers’.
  • Set ‘target’ to ‘bomb_targets’.
  • Press the ‘+ firerandom’ button and tick the box, which allows the bombers to attack targets at random rather than based on a list.

Evacuating the bombers

To make sure the bombers don’t keep flying over the factory after their ammo is depleted, we need to give them a command to withdraw. First, we’ll need to create an evacuation point. Using the ‘Create point zone’ button found in the Mission Editor’s toolbar, create a new zone roughly at the bombers’ initial position. Raise it to a height of 500 meters and call it ‘evacuate_point’.

Now go to the ‘check_for_bombers_near_factory’ trigger and add a ‘unitMoveTo’ action to it, setting it up like so:

  • Set ‘object’ to ‘enemy_bombers’.
  • Set ‘target’ to ‘evacuate_point’.
  • Leave ‘speed’ unchanged—each airplane will fly at its maximum possible speed.
  • Find ‘shouldKeepFormation’ and make sure the box is unchecked. This allows the airplanes to fly chaotically, creating the illusion that they’re fleeing.

Place this action one line above ‘unitAttackTarget’. As a result of this, the bombers will get an order to evacuate after reaching the factory, along with an order to attack. Since the order to attack has priority, they’ll first attack the target and, when they run out of ammunition, they’ll start to flee in panic.

Determining the end of the bombing run

Now it’s time to enable the check for whether the German bombers have reached their target and destroyed the factory. However, we won’t be assessing the success of the bombing run while it’s still happening, but instead after it’s done. How do we determine whether the bombing run is done or not? To do this, let’s create a trigger called ‘check_for_bombing_end’ and uncheck its ‘Enabled’ box. Now add a check condition, choosing ‘unitWhenStatus’ from the list and configuring it like so:

  • Set ‘object’ to ‘enemy_bombers’.
  • Set ‘object_type’ to ‘nobombes’.
  • Set ‘check_object’ to ‘all’.

We’ve just created a check which will be fulfilled if all the German bombers run out of bombs. Since bombs need time to reach the ground, let’s change the frequency of this check from 1 second to 120 seconds. To do this, select ‘periodicEvent’ in the trigger’s ‘événements’ tree and change its ‘time’ parameter from 1 to 120.

Add a call for this trigger to the ‘check_for_bombers_near_factory’ trigger using ‘triggerEnable’.

Checking the success of the bombing run

The time the bomb run ends is now known to us—now we need to assess its results. To do this, create two new triggers called ‘check_for_mission_failure’ and ‘check_for_mission_failure’. Uncheck ‘Enabled’ in both triggers. Go to the ‘check_for_bombing_end’ trigger and, using a ‘triggerEnable’ action, call both the newly created triggers. This means that as soon as the bombing run reaches its end, we’ll perform both checks.

Go to the ‘check_for_mission_failure’ trigger and add a condition to it, choosing ‘unitWhenCountMatches’ from the list and configuring it like so:

  • Set ‘object’ to ‘bomb_targets’
  • Set ‘object_type’ to ‘isAlive’
  • Set ‘func’ to ‘less’
  • Set ‘value’ to 8

This condition will check all the structures in the ‘bomb_targets’ squad, and if there are fewer than 8 left, it will execute an action. Let’s add an action to block the activation of the ‘check_for_mission_failure’ trigger, since we no longer need it—we’ve already determined that the bombing run was successful and the factory was destroyed. Add a ‘triggerDisable’, setting its ‘target’ to ‘check_for_mission_failure’.

Go to the ‘check_for_mission_failure’ trigger and add a condition to it, choosing ‘unitWhenCountMatches’ from the list and configuring it like so:

  • Set ‘object’ to ‘bomb_targets’
  • Set ‘object_type’ to ‘isAlive’
  • Set ‘func’ to ‘noLess’
  • Set ‘value’ to 8

This condition will check all the structures in the ‘bomb_targets’ squad, and if they number at least 8, it will execute an action. Let’s add an action to block the activation of the ‘check_for_mission_failure’ trigger, since we no longer need it—we’ve already determined that the bombing run was unsuccessful and the factory was saved. Add a ‘triggerDisable’, setting its ‘target’ to ‘check_for_mission_failure’. Return to the ‘check_for_mission_failure’ trigger and add a new action which will mark the player’s primary objective—defending the factory—failed. Choose ‘moSetObjectiveStatus’ from the list, setting ‘target’ to ‘bombers_engaged’ and ‘status’ to 3, which means the mission is failed. Now add a ‘wait’ action for 3 seconds and end the list by adding ‘missionFailed’. As a result, if the bombing run ends with the factory having less than 8 buildings left, the mission to defend the factory is considered failed, and 3 seconds later, the mission itself is failed. Now it’s time to finish off the logic of the ‘check_for_mission_failure’ trigger. Add ‘moSetObjectiveStatus’ to it, setting ‘target’ to ‘bombers_engaged’ and ‘status’ to 2, which means the mission is complete. Now add a ‘wait’ action for 3 seconds and end the list by adding ‘missionCompleted’. As a result, if the bombing run ends with the factory having at least 8 buildings left, the mission to defend the factory is considered complete, and 3 seconds later, the mission itself is completed.

Assigning an objective to the enemy fighters to protect the bombers

If you’ve already tried playing the mission you’ve created, you probably noticed that the escort fighters react to the player’s airplanes with complete indifference. It’s time to fix that. Let’s create a new ‘check_for_player_near_bombers’ trigger and uncheck its ‘Enabled’ box. Let’s add a new condition to this trigger, choosing ‘unitDistanceBetween’ from the list and configuring it like so:

  • Set ‘object’ to ‘player’
  • Set ‘target’ to ‘enemy_bombers’
  • Set ‘value’ to 3,000 meters
  • Set ‘math’ to ‘2D’

Now we’ll add an action that will make the escort airplanes attack the player’s airplanes. Add a ‘unitAttackTarget’ action and configure it:

  • Set ‘object’ to ‘enemy_bombers’
  • Set ‘target’ to ‘player’
  • Check the ‘fireRandom’ box
  • Check the ‘playerAttracted’ box
  • Set ‘playerAttractedCount’ to 2
  • Set ‘playerAttractedEffRate’ to 0.7

This means that when the player comes within 3,000 meters of the bombers, the enemy fighters will attack his airplanes, choosing targets among them at random. At the same time, a minimum of 2 escort fighters will always attack the player’s airplane, and they will fire with 70% accuracy. Add a call for this trigger to the ‘check_for_reach_point’ trigger, using the ‘triggerEnable’ which is already there.