Anleitung zur Verwendung von Editor / Fabrik Defense



        

Erstellen der Mission

Öffnen Sie den Editor und öffnen Sie die Ebene ‚Stalingrad‘, wie das Projekt. Danach öffnen die Registerkarte ‚Mission Editor‘ auf der Symbolleiste, die finden ‚Neue Mission ...‘ Taste und klicken Sie darauf. Nun müssen Sie die Mission Eigenschaften-Fenster öffnen. Um dies zu tun, klicken Sie auf die ‚Eigenschaften und Trigger/MissionObj Info‘ -Taste. Nachdem Sie es klicken, zwei Fenster wird open:'Properties’ und ‚Trigger-/ Mission Obj. Info'. Im Fenster ‚Eigenschaften‘, klicken Sie auf den Abschnitt ‚Mission Einstellungen‘ zu öffnen. In diesem Abschnitt finden Sie im Abschnitt ‚Stars‘ und es auch öffnen. Hier finden Sie die Datums- und Uhrzeiteinstellungen für den Start der Mission zu sehen. Geben Sie 9 im ‚Monat‘ Feld 15 in dem ‚Tag‘ Feld 12 in dem ‚Zeit‘ Feld und 1942 in dem ‚Jahr‘ Feld. Dadurch wird den Missionsstart am 15. September macht 1942 bei 00.00

Schließen Sie die ‚Stars‘ Abschnitt und öffnen Sie die ‚Mission‘ Abschnitt weiter unten befindet. Wenn Sie diesen Abschnitt nicht sehen können, scrollen Sie die ‚Eigenschaften‘ Fenster nach unten oder oben Mausrad verwenden. In der ‚Mission‘ Abschnitt, müssen Sie in mehreren fields: füllen

  • Im Bereich ‚Name‘ einen Namen für die Mission in Englisch eingeben
  • Im Bereich ‚Ebene‘, wählen Sie die Ebene wird die Mission verwenden. Für diese Mission wählen ‚Stalingrad‘
  • Im Feld ‚Typ‘, müssen Sie die Mission des Typs anzuzeigen. Dieses Tutorial berührt nur auf den 'singleMission Lettern, so wählt, dass man
  • Der ‚restoreType‘ Feld definiert, was den Spieler passiert, nachdem sein Flugzeug zerstört wird. Der Wert von ‚Versuchen‘ ermöglicht es das Flugzeug mehr Versuche zu machen, um die Mission abzuschließen, nachdem zerstört, bis die Versuche liefen und die Mission fehlschlägt. Der Wert von ‚tacticalControl‘ erlaubt es der Spieler auf das nächste Flugzeug in dem Flügel zu wechseln, wenn sein aktuelles Flugzeug so lange zerstört wird, da es zumindest ein Flugzeug nach wie vor aktiv in dem Spieler Flügel
  • Im Bereich ‚Kampagne‘, müssen Sie diese Mission, die militärische Kampagne wählen gehört. Seit der Schlacht um Stalingrad Platz an der Ostfront hat, wählen Sie bitte ‚östlichen‘
  • Die ‚Umwelt‘ Feld definiert den Typ des Himmels und der Beleuchtungsstärke. Wir empfehlen, diese Variable auf der Grundlage der ‚Zeit‘ Feld, die zuvor eingestellt wurde. Da wir 12 in das Feld eingegeben, sollten wir ‚Tag‘ in ‚Umwelt‘ eingeben
  • Das ‚Wetter‘ Feld ist für die Wetterbedingungen auf der Mission verantwortlich. Wählen Sie den Wert ‚dunstig

Schließen Sie die ‚Mission‘ und ‚Mission Einstellungen‘ Abschnitte und gehen auf die ‚Trigger / Mission Obj. Navigation‘Abschnitt unterhalb befindet. Dies wird Ihr Hauptteil des Fensters sein, und von jetzt an, die Einfachheit halber, wird dieser Abschnitt der ‚Trigger-Liste‘ bezeichnet werden.

Der Abschnitt besteht aus einem Fenster mit zwei derzeit leer lists:'Triggers’ und ‚Mission Zielen‘. Unter dem Fenster sind mehrere buttons:

  • ‚Trigger‘ schafft einen neuen Trigger
  • ‚Mission Obj‘ erstellt ein neues Missionsziel
  • ‚Kopieren‘ und ‚Einfügen‘ werden verwendet, um ein Element aus der Liste zu kopieren all Bedingungen innerhalb und legen es irgendwo neu
  • ‚Del‘ wird verwendet, um ein Element aus der Liste löschen
  • ‚Up‘ und ‚Down‘ können Sie ein Listenelement nach unten oder oben in der Liste Baum bewegen.

Klicken Sie auf den ‚Trigger‘ Taste. Ein neues Element ist in dem Trigger Baum namens ‚Trigger_01‘ erscheint. Im nächsten Fenster, mit dem Titel ‚Trigger-/ Mission Obj. Info‘, ändern Sie seinen Namen im Feld‚Name‘auf‚mission_start‘. Weiter unten im gleichen Fenster können Sie das ‚Element‘ Feld sehen, in dem es drei derzeit leer trees:'Geschehen ‚das beeinflusst, wie diese Trigger works; 'Conditions', die Einflüsse, die Bedingung erforderlich sind, um den trigger; and‘ Aktionen zu aktivieren ‘, das, was genau beeinflusst passieren soll, wenn die Ausführungsbedingung des Triggers erfüllt ist. In den Fällen, wenn die Triggerbedingung nicht erfüllt ist, kann der Auslöser erneut aufgerufen wird nach dem, was in seinem ‚Geschehen‘ Baum geschrieben. Nachdem der Trigger erfüllt ist, stoppt es aufgerufen wird. Dies bedeutet, Ab sofort hat unser Trigger ein Ereignis mit einem Wert ‚Zeit‘ auf 1 gesetzt ‚periodicEvent‘, dass der Auslöser wird versuchen, jede Sekunde auszuführen. Lassen Sie uns dieses Ereignis und drücken Sie die Schaltfläche ‚Löschen‘ am unteren Rand des Fensters ‚Elements‘. Nachdem das Ereignis zu löschen, haben wir einen absolut leeren Auslöser, aber wir müssen diese Trigger speziell zu Beginn der Mission auszuführen. Um dies zu tun, müssen wir durch Klicken auf die entsprechende Schaltfläche, um ein neues Ereignis hinzuzufügen. Klicken Sie auf das ‚Ereignis‘ Taste und im angezeigten Fenster wählen Sie ‚initMission‘.

Erstellen der Spieler

den Spieler schaffen heißt sein Flugzeug und weitere Anweisungen, um das Spiel zu schaffen, was das Flugzeug die Spieler fliegen werden. Eine Mission ohne beide erfüllt diesen Bedingungen kann nicht gestartet werden.


Lassen Sie uns zunächst das Flugzeug des Spielers erstellen. Dazu klicken Sie auf die ‚Create Einheit‘ Schaltfläche in der Symbolleiste Mission Editor, ersten ‚Armada‘ im Feld rechts neben der Schaltfläche auswählen. Legen Sie das Flugzeug des Spielers überall auf der Karte, und wählen Sie es und klicken Sie auf ‚Show / hide Objekt Requisiten. Panel‘. Nach dem Anklicken dieser Schaltfläche wird das Objekteigenschaften-Fenster. Wir müssen mehrere Parameter in it: ändern

  • Im Feld ‚Name‘ geben Sie ‚Spieler‘. Das Spiel später das Flugzeug des Spielers mit diesem Namen erkennen.
  • In der ‚Klasse‘ Feld, wählen Sie ‚yak-1b‘. Wir haben geben dem Spieler eine Yak-1B zu steuern.
  • In der ‚Waffe‘ Feld, wählen Sie bitte ‚Yak1b_default‘.

Unten in diesem Fenster nach unten ist der Abschnitt ‚Eigenschaften‘, wo wir auch in mehreren fields: ausfüllen müssen

  • Das ‚Armee‘ Feld 1. In der Regel setzen, Spieler Flugzeuge und Einheiten gehören zur Armee 1, während feindliche Flugzeuge und Einheiten Armee 2 gehören.
  • Die ‚count‘ Feld auf 4. Diese bedeuten, dass der Spieler vier Flugzeuge unter seiner Kontrolle hat, einschließlich des Flugzeugs des Spielers. Mit anderen Worten, wird der Spieler selbst und 3 Unterstützung Flugzeuge auf dem Schlachtfeld vorhanden sein.
  • Drücken Sie die Taste rechts unter dem Feld ‚Anzahl‘ liegt ‚+ numInWing‘ und in dem resultierenden Fenster geben Sie den Wert als 2. Diese bedeuten, dass die Flugzeuge unter der Kontrolle der Spieler in Zweiergruppen aufgeteilt sind.

Jetzt müssen wir auf das Fenster Eigenschaften gehen, die nach dem Einschalten des ‚Eigenschaften und Trigger/MissionObj Info‘ -Taste auf der Symbolleiste des Mission-Editor befindet sich öffnet klicken. Wir interessieren uns für den Abschnitt mit dem Titel player_teamA. Im Flügel Feld, drücken Sie die <none> Taste und im angezeigten Fenster wählen Sie ‚Player‘. Dies teilt dem Spiel, der den Spieler zu berücksichtigen. Jetzt können Sie die Mission speichern, indem Sie die Save Mission Schaltfläche klicken, und starten Sie es, indem Sie die Run Mission Schaltfläche klicken. Wenn die Mission zu speichern, ist es vorzuziehen, die Dateinamen zu seinem Titel im Namensfeld eingegeben entsprechen der Mission. Nach der Einleitung der Mission, sehen Sie sich selbst ein Yak-1B Kämpfer fliegen, und drei weitere von der gleichen hinter Ihnen fliegen.

Erstellen des Flugplatzes

Lassen Sie uns, indem der Spieler starten vom Flugplatz Dinge erschweren. Um dies zu tun, müssen wir den Flugplatz selbst erstellen. gehen auf den Flugplatz zu erstellen, auf die ‚Landschaft‘ Registerkarte in der Symbolleiste und klicken Sie auf das ‚Select-Objekt mit Namen‘ Button. Im resultierenden Fenster geben Sie ‚Luft‘, wählen Sie bitte ‚stalingrad_airfield_2_009‘ aus der Liste, die, klicken Sie auf die Schaltfläche OK, um das Fenster zu schließen, drücken Sie dann die Z-Taste erscheint. Der Kamera-Editor bewegt den ausgewählten Flugplatz zu zeigen. Nun kehren Sie auf die Registerkarte Mission Editor auf der Symbolleiste und klicken Sie auf den ‚Create Feld Zone‘ Button. Unter Verwendung dieser, Erstellen einer rechteckigen Zone mit einer Größe auf die Größe des Flugplatzes in etwa entspricht. Nachdem die Erstellung der Zone, öffnen Sie das Fenster ‚Objekteigenschaften‘, indem Sie die ‚Show / Objekt Requisiten verstecken Panel‘ Drücken der Taste. Im Parameterfenster, ändern Sie den ‚name‘ Parameter auf ‚airfield_area‘. Nach seiner Gründung ‚airfield_area‘ wird höchstwahrscheinlich in einem Winkel zum Flugplatz gebracht wird und wird eingeschaltet haben. Dazu wählen Sie die neu erstellte Zone und drücken Sie die Z-Taste die Kamerabewegung zum Objekt zu machen. Drücken Sie nun die Taste ‚Drehen‘ in Drehmodus zu gehen und starten Sie es um den grünen Bogen drehen, um die Zone wiederum in Richtung des Flugplatzes zu machen. Nachdem Sie das Objekt fertig sind Drehen, drücken Sie die ‚Move‘ Taste. Verschieben Sie das Objekt, so dass es, wo es sollte auf dem Flugplatz sitzt. Wenn das Objekt zu groß stellt sich heraus, oder zu klein ist, können Sie seine Größe ändern. Dazu drücken Sie die "Scale-Taste und die Größe des Objekts ändern auf einer seiner Achsen. Der Flugplatz des logischen Bereich geschaffen. Jetzt müssen wir den Anfang und das Ende des Flugplatzes an. Um dies zu tun, verwenden Sie ‚Create Kugel Zone‘ zwei Zonen zu schaffen. Legen Sie eine zu Beginn des Flugplatzes und eine am Ende. Beide Zonen sind innerhalb von ‚airfield_area‘ sein. Drücken Sie die ‚Show / ausblenden Objekt Requisiten Panel‘ -Taste und im Objekteigenschaften-Fenster, benennen Sie die erste Zone zu ‚airfield_start‘ und die zweite zu ‚airfield_end‘. Jetzt müssen wir einige Punkte für den Spieler Flugzeug und Verbündeten schaffen zu erscheinen. Unter Verwendung der gleichen ‚Create sphere Zone‘ Taste, erzeugen vier Zonen im Inneren ‚airfield_area‘, zwischen ‚airfield_start‘ und ‚airfield_end‘ und näher zu ‚airfield_start‘. Ändern Sie die Namen der neuen Zonen zu ‚spawn01‘ - ‚spawn04‘.

Herstellung des Flugzeug des Spielers auf dem Flugplatz erscheinen

Der Flugplatz ist fertig. Jetzt müssen wir machen, ist, dass der Spieler beginnt das Spiel nicht in der Luft, sondern auf dem Flugplatz.

Dazu wählen Sie die ‚mission_start‘ Auslöser und drücken Sie die ‚Aktion‘, um eine neue Aktion hinzuzufügen. Wählen Sie ‚addFlugplatz‘ aus der Liste. Diese Aktion hat mehrere Parameter, die edited: sein müssen

  • Stellen Sie das Feld ‚runwayStart‘ auf ‚airfield_start‘.
  • Die ‚runwayEnd‘ Feld ‚airfield_end‘ Set.
  • Die ‚runawayWidth‘ Feld legt die Breite des Flugplatzes. Die empfohlene Einstellung beträgt 10 Meter.
  • Im Bereich ‚Armee‘, wählt die Armee dieses Flugplatz gehören wird. Da der Spieler es erscheinen wird, die zu Armee 1 gehört, werden wir 1 hier wählen auch.
  • Den ‚+ Spawnpunkt‘ Button klicken, müssen wir die zuvor erstellten Zonen mit dem Namen ‚spawn01‘ hinzuzufügen -‘spawn04’ .
  • Die ‚+ visibleOnHud‘ Taste können Sie das Kontrollkästchen aktivieren oder deaktivieren, die für die Anzeige des Flugplatzes auf dem Radar verantwortlich ist.

Es gibt nur ein Tüpfelchen verbleibt, bevor die Flugzeuge des Spielers auf dem Flugplatz erscheinen. Lassen Sie uns eine andere Aktion hinzufügen, ‚spawnOnFlugplatz‘ aus der Liste auswählen. Diese Aktion erfordert auch mehrere Parameter configured: zu sein

  • Im Feld ‚runwayName‘, stellte den Ausgangspunkt des Flugplatzes zu ‚airfield_start‘.
  • Die Taste ‚+ Objekte‘ ermöglicht es uns, die genau angeben, sollte auf diesem Flugplatz platziert werden. Im resultierenden Fenster wählen Sie ‚Player‘.

Nun, die Mission speichern und starten Sie es um es zu testen.


Take-off Ziel

Nun, da der Spieler auf dem Flugplatz ist, wäre es logisch, ihm die erste objective:to ausziehen zu geben. Um dies zu tun, drücken Sie die Taste ‚Mission Obj‘ in der Triggerliste und in dem daraufhin angezeigten Fenster wählen Sie ‚abstractMissionObjective‘. Ein neues Missionsziel wird erstellt ‚MissionObj_01‘ genannt. Nur drei Dinge in seinen Eigenschaften Interesse us:

  • Die ‚Name‘ Feld, in dem Sie das Ziel des Namen anzuzeigen haben. Geben Sie ‚take_off‘.
  • Das ‚Aktivierte‘ Feld mit einem Ankreuzfeld aktiviert ist, was bedeutet, dass, wenn der Auslöser aufgerufen wird, wird das Objektiv automatisch zugeordnet werden. Da der Auslöser zu Beginn der Mission genannt wird, und wir wollen, dass die Spieler sofort das Ziel erhalten, werden verlassen wir diese Option eingeschaltet.
  • Das Feld ‚IsPrimary‘ hat seine Checkbox aktiviert, was bedeutet, dass dieses Ziel die wichtigste sein. diese Checkbox deaktivieren die Aufgabe, würde dazu führen, dass ein zusätzliches Ziel in Betracht gezogen werden. Lassen Sie es überprüft.

Nun, in den Ordnern, in dem Sie die Mission gespeichert, müssen Sie eine Textdatei mit dem gleichen Namen wie die Mission-Datei erstellen, jedoch mit der Erweiterung ‚csv‘. Zum Beispiel, in diesem Beispiel ist die Mission in der Datei ‚sample01_stalingrad.blk‘ gespeichert. Das heißt, Sie müssen die Datei ‚sample01_stalingrad.csv‘ erstellen. Öffnen Sie die erstellte Datei und speichern Sie sie mit UTF-8 Codierung. Jetzt eine Linie zum dsplffl hinzuzufügen; "take_off"; "Take off"; "Взлетите". Die Linie besteht aus drei parts:

  • "take_off" ist die Kennung der Linie. Es muss entsprechen, die Sie auf den Namen der Mission Ziel gab.
  • "Take off" ist das Ziel Text in englischer Sprache. Sie können die Anführungszeichen lassen hier leer, wenn Sie nicht den englischen Text aus irgendeinem Grund aufnehmen wollen.
  • "Взлетите" ist das Ziel Text in Russlandn.

Alle drei Teile sind in Anführungszeichen und durch die ; character getrennt. Speichern Sie die Datei erneut und schließen Sie es. Speichern Sie die Mission und starten Sie es. Nun, sobald der Spieler die Mission beginnt, das neue „Take off“ Ziel sollte zugewiesen werden.

Suchen nach Beendigung des take-off Ziel

Wenn Sie die Sendung überprüft, dann haben Sie wahrscheinlich bemerkt, dass nach dem Abheben, das take-off Ziel in der Zeitschrift blieb und seinen Status nicht ändern. Um diese Probleme zu beheben, müssen wir einen neuen Trigger erstellen und nennen es ‚check_for_takeoff‘. Da der Auslöser das Kontroll direkt nach dem Start der Mission zu beginnen hat, werden wir verlassen ‚Aktiviert‘ geprüft. Die Prüfintervall des Triggers von 1 Sekunde eignet sich auch für uns, so dass wir ‚Geschehen‘ unverändert als auch verlassen. Aber wir brauchen einen Scheck hinzufügen zu, ob der Spieler weg genommen hat oder nicht. Um dies zu tun, fügen Sie in den neu erstellen Trigger eine neue Bedingung, ‚unitWhenStatus‘ aus der Liste auswählen und es wie so: Konfiguration

  • Im ‚Objekt‘ Feld, wählen Sie ‚Player‘.
  • Im Bereich ‚object_type‘ die Option ‚isInAir‘.
  • Lassen Sie das Feld ‚check_objects‘ auf ‚jeder‘. Dies ermöglicht die Prüfung abzuschließen, selbst wenn nur ein Flugzeug genommen hat. Bedenkt man, dass der Spieler weg nimmt erste und die anderen Flugzeuge in seinem Flügel warten ihrerseits, ist dies die richtige Entscheidung.

Jetzt werden wir eine neue Aktion der Trigger hinzuzufügen, die das Ziel der Status ‚vollständig‘ wird sich ändern. Dazu wählen Sie ‚moSetObjectiveStatus‘ von der ‚Aktionen‘ Liste mit der parameters:

  • Im ‚Ziel‘ Feld, wählen Sie ‚take_off‘.
  • In dem Feld ‚Status‘, wählen Sie 2, die das Ziel bedeutet erfolgreich abgeschlossen wurde.

Speicher und prüfen, ob das Ziel abgeschlossen, nachdem das Flugzeug startet.


Erstellen eines Routenwegpunkt

Der Spieler hat abgenommen, und jetzt ist es Zeit, einen Wegpunkt zu liefern. Dazu wählen Sie ‚Create Punkt Zone‘ aus der Mission-Editor-Symbolleiste, findet die Fabrik in der Nähe von Stalingrad auf der Karte und legen Sie eine Zone direkt über der Fabrik in einer Höhe von 2.000 Metern. Benennen Sie die Zone ‚factory_point‘. Jetzt müssen wir irgendwie diesen Punkt an den Spieler zeigen, damit er weiß, wo zu fliegen. da wir bereits dem Spieler das Ziel des Startens gegeben wäre es auf dem Boden zeigen, nicht richtig sein, haben. Aber nachdem der Spieler in der Luft und hat das erste Ziel abgeschlossen, wird es Zeit, ein neues Missionsziel zu schaffen. So lassen die auf die ‚check_for_takeoff‘ Trigger und fügen Sie eine neue Aktion zu ihrem ‚missionMarkAsWaypoint‘ für die Liste auswählen und es nach oben wie so: Einstellung

  • Im ‚Ziel‘ Feld, geben Sie den Bereich für den Spieler markiert werden - die ‚factory_point‘ Zone.
  • Lassen Sie den ‚sichtbaren‘ Bereich sicher eine visuelle Darstellung des Wegpunkt der Spieler sieht machen aktiviert.
  • Das ‚primäre‘ Feld zeigt an, dass dieser Wegpunkt die gleiche Wegpunkt ist der Spieler fliegen muss, um das aktuelle Ziel zu erreichen.

Ziel um den Wegpunkt zu erreichen

Wir haben dem Spieler den Wegpunkt gezeigt, dass er erreichen muss. Jetzt ist es Zeit, ein Ziel zuweisen im Journal angezeigt werden. Dazu öffnen unsere csv-Datei und fügen Sie eine Zeile der checkpoint"; "Проследуйте it:"reach_first_waypoint"; "Reach к отмеченной зоне". Speichern Sie die Datei und fügen Sie die neue Mission Ziel unserer Mission. Tun Sie dies, genau wie beim ersten Mal, aber den Namen ändern zu ‚reach_first_waypoint‘ und deaktivieren Sie das Kästchen neben dem ‚Aktiviert‘ Feld, da wir, sobald die Mission beginnt angezeigt werden nicht das Ziel wollen. Wenn Sie all dies getan haben, gehen Sie auf die ‚check_for_takeoff‘ Trigger. Wie Sie sehen können, haben sich verändert wir in diesem Trigger bereits den Status eines Ziel. Dementsprechend wird, wenn wir sofort ein neues Ziel zuweisen, die Nachrichten auf dem Bildschirm liegen übereinander, die nicht gut aussehen. Es wäre schön, eine Pause zwischen diesen beiden Ereignissen zu erstellen. Eine neue Aktion wird ‚wait‘ genannt wird uns dies helfen, zu tun. Fügen Sie ein und setzen Sie das ‚Zeit‘ Feld 3. Nun, da wir die Pause erstellt haben wir benötigen, gibt sie dem Spieler das neue Ziel geben. Um dies zu tun, fügen Sie eine weitere Aktion, ‚moAddMissionObjective‘ aus der Liste der Auswahl und Einstellung der ‚Ziel‘ Feld zu unserem ‚reach_first_point‘. Speichern Sie die Mission und überprüfen, ob es funktioniert.

Prüfen, ob der Wegpunkt erreicht wurde

Da wir ein Ziel zugewiesen haben zu einem Wegpunkt zu fliegen, müssen wir prüfen, ob der Wegpunkt erreicht ist. Dazu erstellen Sie einen neuen Trigger namens ‚check_for_reach_point‘. Da das Ziel, den Punkt zu erreichen, nicht sofort zugeordnet ist, sollte die Prüfung auch beginnt nicht sofort, sondern beginnt, nachdem der Spieler das Ziel erhält. Das heißt, wir ‚Aktiviert‘ in unserem Trigger deaktivieren Sie die Option. Jetzt eine neue Bedingung der Trigger hinzufügen, die überprüft, ob der Spieler einen bestimmten Punkt erreicht hat. Wählen Sie ‚unitDistanceBetween‘ aus der ‚Bedingungen‘ Liste und geben Sie Parameter wie so:

  • Im ‚Objekt‘ Feld, wählen Sie ‚Player‘.
  • Im ‚Ziel‘ Feld, wählen Sie ‚factory_point‘.
  • Im Bereich ‚Wert‘, weisen auf eine Entfernung von 2.000 Metern.
  • Lassen Sie das ‚Mathematik‘ Feld als ‚2D‘, was bedeutet, dass für die Bedingung, der Abstand zwischen ‚Objekt‘ erreicht werden, und ‚Ziel‘ mindestens 2.000 Meter auf jeder Achse liegen. Wenn Sie ‚3D‘ wählen, bedeutet das wird, dass eine erfolgreiche Überprüfung sowohl das Objekt und das Ziel erfordern würde, auf einer einzigen horizontalen Ebene zu sein.

Die Prüfbedingung bereitgestellt worden. Jetzt ist es Zeit, eine Reaktion zu liefern. Um dies zu tun, fügen Sie eine neue Aktion und wählen Sie das jetzt vertraut ‚moSetObjectiveStatus‘. Set ‚Ziel‘ auf ‚reach_first_point‘ und ‚Status‘ bis 2, für einen erfolgreichen Abschluss Ziel. Da das Rückschlag Trigger nicht automatisch aufgerufen wird, müssen wir es sie von den Auslösern nennen, die das Ziel ordnen den Wegpunkt zu erreichen. Gehen Sie auf den ‚check_for_takeoff‘ Trigger und fügen Sie eine neue Aktion zu ihm, ‚triggerEnable‘ aus der Liste wählen und Einstellung ‚Ziel‘ auf den ‚check_for_reach_point‘ Trigger.

Der letzte Schliff ist den Wegpunkt zu stoppen angezeigt werden, nachdem es erreicht ist. Um dies zu tun, auf die ‚check_for_reach_point‘ Trigger und fügen Sie eine neue Aktion ‚missionMarkAsWaypoint‘ Einstellung ‚Ziel‘ auf den ‚factory_point‘ und deaktivieren Sie das Kästchen neben ‚sichtbar‘. Speichern Sie die Mission und prüfen, ob alles funktioniert wie vorgesehen.


Erstellen von feindlichen Bomber

Es ist Zeit, die feindlichen Bomber zu schaffen. Dazu klicken Sie auf den ‚Create Einheit‘ Schaltfläche in der Symbolleiste auf der Registerkarte Mission Editor, zunächst sicherstellen, dass das Feld auf der rechten Seite wird auf ‚Armada‘. Legen Sie nun ein Flugzeug wenige Kilometer von Stalingrad in einer Höhe von 1.500 Metern und nennen es ‚enemy_bombers‘. In der ‚Klasse‘ Feld den Typ des Flugzeugs zu ‚ju88a-4‘ und die Standard-Waffen geben. Stellen Sie sicher, dass die ‚Armee‘ Feld nicht überein, die ‚Armee‘ Feld des Spielers, und die Anzahl von Flugzeugen ( ‚count‘) bis 24. Klicken Sie auf den ‚+ numInWing‘ Symbol unter dem Feld ‚Anzahl‘ befindet und stellen sie es auf 3, was bedeuten wird, dass die 24-Bomber werden in Gruppen von 3 geteilt werden.


Erstellen von feindlichen Kämpfer

Nun wollen wir die Begleitjäger erstellen. Sie könnten die ‚Create Einheit‘ Schaltfläche erneut, aber Sie können die bereits erstellten Bomber stattdessen wählen, klicken Sie auf die ‚Move‘ Taste und halten Sie die Umschalttaste gedrückt, ziehen Sie ein Flugzeug auf dem grünen Pfeil nach oben um 500 Meter. In dem sich öffnenden Fenster geben dem Flugzeug ein neues name:'enemy_fighters’ öffnet sich. Wählen Sie das Flugzeug Sie bekam und legen Sie seine ‚Klasse‘ zu ‚bf-109f-4‘ mit Standard-Waffen. Set ‚count‘ bis 6 und reduzieren den ‚numInWing‘ Wert auf 2.


Logische Vereinigung von feindlichen Flugzeugen

Nun, da wir die Bomber und Begleitjäger erstellt haben, haben wir zwei Kräfte. Wir gehen zu müssen, mehrere identische Aktionen für jede Kraft erfüllen, so wäre es schön, sie zu vereinen. Dazu verwenden Sie die Schaltfläche ‚Create Einheit‘, zuerst darauf achten, dass das Feld auf der rechten Seite wird auf ‚Kader‘, eine Mannschaft in der Nähe der feindlichen Flugzeuge zu schaffen. Nennen Sie es ‚enemy_squad‘. Im Kader Eigenschaften-Fenster, müssen Sie ‚squad_members‘ konfigurieren, stellen ‚enemy_bombers‘ hinzufügen, dann ‚enemy_fighters‘.


Setzt man die feindlichen Flugzeuge zu schlafen

Die feindlichen Flugzeuge werden automatisch zu Beginn der Mission erstellt werden, aber wir werden sie nicht für einige Zeit brauchen. Wie haben sie auf die Gnade des Schicksals überlassen, werden die Flugzeuge wahrscheinlich durch Absturz in den Boden oder miteinander sterben, oder sie werden nur in einer unbekannten Richtung fliegen. Um sicherzustellen, dass dies nicht geschieht, müssen wir sie einzuschläfern und sie aufzuwecken, wenn wir sie brauchen.

Gehen Sie auf die ‚mission_start‘ Trigger und fügen Sie eine neue Aktion zu ihm, ‚unitPutToSleep‘ aus der Liste wählen und Einstellung seiner ‚Ziel‘ auf dem neu geschaffenen ‚enemy_squad‘. Wie Sie sehen können, sind wir Betrieb auf einem einzelnen Objekt, sondern sowohl die Bomber und die Kämpfer einzuschläfern. Bald, wenn wir einen Kader von signifikanter Größe erstellen, werden Sie mit ihnen die Bequemlichkeit der Arbeit schätzen können.


Erstellen Ziele für den Stalingrad Fabrik Bombe Lauf

Für die Bomber etwas zu bombardieren, müssen wir für sie einige Ziele hinzuzufügen. Dazu bewegen Sie die Kamera auf die Werks bei Stalingrad und drücken Sie die ‚Create Einheit‘ Taste zunächst sicherstellen, dass das Feld auf der rechten Seite wird auf ‚Strukturen‘. Legen Sie die Struktur auf dem Dach eines der Fabrik Gebäude. Ändern Sie den Namen der Struktur ‚bomb_target01‘. Set ‚Klasse‘ auf ‚Dummy‘ und sicher sein, die ‚Armee‘ zu setzen, um die Armee des Spielers (1). Lassen Sie uns jetzt eine Kopie dieser Struktur machen wie wir Kopien der Ebenen gemacht, als wir die Begleitjäger für die Bomber zu schaffen. Wir werden diese Kopien auf den Dächern der Fabrikgebäude platzieren. Tun Sie es nicht vorbei - wir brauchen nicht mehr als 16 Ziele, da die Kapazität für einen Kader auf 16 Einheiten begrenzt ist. Wählen Sie nun alle Strukturen Sie sie um 100 Meter erstellt und aufrichten. Danach drücken Sie Taste, um die ‚Drop-Einheit‘ befindet sich in der Symbolleiste auf Mission-Editor. Dadurch wird die ausgewählten Strukturen auf der Oberfläche der Ebene platzieren, so dass der Bomber sie zerstören kann.


Erstellen anti-air Batterien

Um dem Spieler die Arbeit zu erleichtern, lassen Sie uns rund um die Fabrik mehrere anti-air Batterien platzieren. Um dies zu tun, verwenden Sie die wieder ‚Create Einheit‘ Taste zunächst sicherstellen, dass das Feld auf der rechten Seite wird auf ‚air_defence‘. Lassen Sie uns neben der Fabrik ein anti-air Batterie platzieren und konfigurieren. Stellen Sie die ‚Klasse‘ Feld ‚ussr_37mm_61k‘, die ‚Armee‘ Feld auf die gleiche wie die des Spielers, und die ‚Genauigkeit‘ Feld bis 0,3 - schließlich wollen wir nicht, dass diese anti-air guns all des Spielers zu tun Arbeit für Sie. Kopieren Sie die resultierende anti-air Kanone mehrmals und die Kopien rund um die Fabrik.

Die Kombination von Zielen und Waffen

Da wir mit vielen Zielen für unsere Bomber und mehrere anti-air Kanonen gelandet haben, wäre es schön, sie in Trupps zu kombinieren. Erstellen Sie zwei neue Kader namens ‚bomb_targets‘ und ‚air_defence‘. Verschieben Sie alle Strukturen zur ersten Riege und all anti-air Batterien in den zweiten.


Waking die feindlichen Flugzeuge auf

Alle Vorbereitungen sind abgeschlossen. Jetzt müssen wir die feindlichen Flugzeuge wecken und sie auf ihrem Weg in die Fabrik schicken. Um dies zu tun, auf die ‚check_for_reach_point‘ Trigger und fügen Sie eine neue Aktion zu ihm, ‚unitWakeUp‘ aus der Liste auswählen. Set ‚Ziel‘ auf ‚enemy_squad‘. Die feindlichen Flugzeuge sind aufgewacht, und sie brauchen einen Job. Es wäre eine gute Idee, sie in die Fabrik zu senden, die durch Hinzufügen eines weiteren Aktion auf den aktuellen Trigger erfolgt. Wählen Sie ‚unitMoveTo‘ aus der Liste aus und geben Sie die folgenden parameters:

  • Das ‚Objekt‘ Feld auf ‚enemy_squad‘ Set.
  • Das ‚Ziel‘ Feld auf ‚factory_point‘ Set.
  • Das ‚Geschwindigkeit‘ Feld auf 300. Diese sicher getan zu machen, dass alle Flugzeuge mit der gleichen Geschwindigkeit und die Kämpfer von den Bombern nicht weg ziehen los.
  • Finden Sie die ‚shouldKeepFormation‘ Feld und aktivieren Sie sie. Auf diese Weise können die Flugzeuge ihre Bildung halten, während sie fliegen.

Konfigurieren zusätzliche Parameter für die feindlichen Flugzeuge

Lassen Sie sich die Wirksamkeit der feindlichen Flugzeuge über die Wirksamkeit der die Aktionen des Spielers abhängen machen. In dem ‚check_for_reach_point‘ Trigger, füge einen ‚unitSetProperties‘ Befehl, das Setzen von ‚Objekt‘ zu ‚enemy_bombers‘. Erweitern der ‚Ebene‘ Abschnitt oben befindet, dann wird der ‚targetDeviation‘ Abschnitt darin. Setzen Sie diesen ‚Trigger‘ Feld Abschnitt ‚Bomben‘ und setzt ‚Grenzen‘ zu 0-2,5. Einen weiteren hinzufügen ‚targetDeviation‘, aber stellen Sie den ‚Auslöser‘ Feld ‚Kanonier‘, Einstellung seine ‚Grenzen‘ Parameter auf den gleichen Wert wie die Bomben. Fügen Sie den gleichen Befehl mit den gleichen Parametern für die feindlichen Kämpfer. Nur stellen Sie das ‚Objekt‘ für ‚unitSetProperties‘ auf ‚enemy_fighters‘ und das ‚Trigger‘ Feld des Abschnitts ‚targetDeviation‘ auf ‚Maschinengewehr‘.


Fabrik Verteidigung Ziel

Lassen Sie sich nun dem Spieler sein nächstes Ziel geben. Um dies zu tun, um eine Linie zu unserer csv dsplffl hinzuzufügen; "bombers_engaged"; "Defend die Fabrik gegen den Feind bombers"; "Защитите завод от атак вражеских бомбардировщиков". In der Mission selbst, fügen Sie ein neues ‚Mission Ziel‘ genannt ‚bombers_engaged‘ und deaktivieren Sie die ‚Aktiviert‘ Box, da wir dieses Ziel wollen zu einem bestimmten Zeitpunkt in der Zeitschrift erscheinen. Gehen Sie nun auf die ‚check_for_reach_point‘ Trigger. Wie Sie sehen können, hat bereits der Status der Ziele Operationen ändern Platz darin aufgenommen, und das bedeutet, dass vor ein neues Ziel zuweisen, müssen wir eine Pause machen, damit die Nachrichten auf dem jeweils anderen nicht erscheinen. Fügen Sie eine neue ‚wait‘ Aktion für 3 Sekunden. Nach der Pause, fügen Sie eine neue Aktion, ‚moAddMissionObjective‘ aus der Liste wählen und Einstellung seiner ‚Ziel‘ zu ‚bombers_engaged‘.

Markieren der Bombern als Ziele

Jetzt können wir die feindlichen Bomber als die Ziele des Ziel markieren, und auch Informationen über die Bomber am unteren Rand des Bildschirms zur Verfügung stellen, so dass der Spieler sehen können, wie viele es sind. Um dies zu tun, fügen Sie eine neue Aktion des ‚check_for_reach_point‘ Trigger, die Auswahl

Zeigen eines Bomber Zähler

Um den Player zu erlauben, zu sehen, wie viele Bomber bleiben, brauchen wir einen neuen ‚update_indicator‘ Trigger zu erstellen. Dieser Trigger sollte einmal pro Sekunde aufgerufen werden und soll nicht schließen, nachdem es erfüllt ist, aber weiterhin statt arbeiten. Dies bedeutet, dass der Bomber Zähler einmal pro Sekunde ändern. Wie wir this?

Erstellen Sie zunächst eine ‚update_indicator‘ Trigger und deaktivieren Sie seine ‚Aktiviert‘ Box, da wir zu Beginn der Mission nicht angezeigt werden der Zähler wollen. Allerdings müssen wir das Kästchen neben ‚enableAfterComplete‘ prüfen, die der Auslöser ermöglicht, weiter zu arbeiten, bis wir sie aus uns wechseln.

Lassen Sie uns jetzt eine neue Aktion zu diesem Trigger hinzuzufügen, ‚missionSetTargetsIndicator‘ aus der Liste auswählen und die parameters: geben

  • Das ‚Ziel‘ Feld auf ‚enemy_bombers‘ Set.
  • Lassen Sie die ‚target_type‘ Feld auf ‚IsAlive‘, da wir die Anzahl der Bomber noch am Leben zeigen müssen.
  • Das ‚Ikone‘ Feld auf ‚Luft‘ Set ein Flugzeug-Symbol erscheint auf dem Tresen zu machen.
  • Das ‚icon_army‘ Feld auf den Index der Armee eingestellt, dass die Bomber gehören.

Gehen Sie nun auf die ‚check_for_reach_point‘ Trigger und verwenden Sie ein ‚enableTrigger‘ Aktion der ‚update_indicator‘ Trigger zu nennen.

Zeigen eines Fabrikgebäude Zähler

Aber wir sind auch interessiert an Informationen darüber, wie erfolgreich die Fabrik Verteidigung. Zu diesem Zweck wollen wir einen Zähler für intakte Gebäude einzuführen. Dies ermöglicht es dem Spieler ihre Wirksamkeit während der Mission zu beurteilen. Dazu fügen Sie eine neue ‚missionSetTargetsIndicator‘ Aktion auf die bereits bestehenden ‚update_indicator‘ Trigger und gibt ihm die folgende parameters:

  • Das ‚Ziel‘ Feld auf ‚bomb_targets‘ Set.
  • Leave ‚IsAlive‘ im ‚target_type‘ Feld, da wir die Anzahl der Gebäude noch intakt zeigen müssen.
  • Die ‚Ikone‘ Feld ‚Gebäude‘ Setzen Sie ein Gebäude Symbol erscheint auf dem Tresen zu machen.
  • Das ‚icon_army‘ Feld auf den Index der Armee, die die Spieler gehören.

Speichern Sie und stellen Sie sicher, dass alles funktioniert.


Überprüfen, ob alle die Attentäter getötet worden

Der Spieler kann alle feindlichen Bomber zerstören, bevor sie die Fabrik erreichen. Das bedeutet, dass, sobald der Spieler das Ziel erhält die Fabrik zu verteidigen, müssen wir die Anzahl der verbleibenden Bomber starten überprüfen.

Dazu erstellen Sie einen neuen ‚check_for_mission_completed‘ Trigger und überprüfen Sie die ‚Aktiviert‘ Box. In der ‚Ereignisse‘ Feld dieser Trigger, ändern ‚periodicEvent‘, ‚Zeit‘ auf 20 Sekunden, so dass die Prüfung für die Vernichtung aller Bomber ist nicht sehr oft genannt Einstellung.

Gehen Sie auf die ‚check_for_reach_point‘ Trigger. In dieser Liste der Auslöser von Maßnahmen, die wir geschaffen haben, ist es schon ein ‚triggerEnable‘. Wählen Sie es aus und fügen Sie eine weitere argument:a Aufruf zur ‚check_for_mission_completed‘ Trigger. Rückkehr zum ‚check_for_mission_completed‘ Trigger und fügen Sie ein ‚unitWhenStatus‘ Prüfbedingung, die Einstellung der parameters:

  • Stellen Sie ‚Ziel‘ an die deutschen Bomber-'enemy_bombers’.
  • Set ‚object_type‘ auf ‚isKilled‘.
  • Set ‚check_object‘ auf ‚B‘.

Dies ermöglicht es dem Auslöser nur zu aktivieren, wenn alle Bomber zerstört werden.

Fügen Sie eine neue Aktion, ‚missionCompleted‘ aus der Liste auswählen. Wenn nun alle Bomber zerstört werden, wird die Mission beendet. Aber was, wenn der letzte Bomber stirbt ebenso wie das Ziel, die Fabrik zu verteidigen ist das Spiel failed? wird uns zuerst sagen, dass die Mission gescheitert ist, und dann, dass es abgeschlossen ist. Um sicherzustellen, dass dies nicht der Fall, lassen Sie uns einen anderen ‚condition':'misObjStatus‘ hinzuzufügen. Set ‚Ziel‘ auf den ‚bombers_engaged‘ objektiv und ‚Status‘ zu ‚notFailed‘. Dies bedeutet, dass abgesehen von allen die Bomber zu zerstören, wird der Status der Verteidigung Ziel auch überprüft werden, und die Mission ist fehlgeschlagen, wenn das Ziel nicht bestanden.


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 ‘noBomben’.
  • 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 ‘Geschehen’ 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.