AoS-Tutorial

[nocontentad]

AoS-Tutorial


zum Anfang


1. Einleitung

Für die, die sich fragen „Was ist eine AoS?“: Eine AoS ist ein Map-Typ. Und zwar kämpfen bei einer AoS mehrere Teams mit mehreren Spielern gegeneinander, wobei die Spieler aber nur ihren Helden haben. Jedes Team sendet aber noch automatisch Einheiten aus, die gegeneinander kämpfen. Da diese aber gleichstark sind, wird das Spiel durch die Helden entschieden. Es gewinnt das Team, dass alle gegnerischen Teams besiegt. Ein Team ist besiegt, wenn sein Hauptgebäude in der Basis vernichtet ist. Die Basis ist meist durch Türme gesichert. Die Helden können mit Items und Folianten, die man in der Basis kaufen kann, verstärkt werden.

In diesem Tutorial wird der Aufbau einer typischen, einfachen AoS-Map für drei Teams mit je 3 Spielern beschrieben.

Ich setze mal ein kleines Grundwissen in Bezug auf den Umgang mit dem Interface voraus, da so Fragen wie „Was ist ein Ereignis?“ oder „Wie erstelle ich eine eigene Einheit?“ die Länge des Tutorials explodieren lassen würden.
Aber erfahrene Mapper sollen sich bitte nicht über die einfach gehaltenen Auslöser wundern. Ich habe sie extra schlicht gehalten, damit sie nicht zu kompliziert werden, obwohl Schleifen und tausendfach verkapselte If-Blöcke natürlich kürzer wären. Aber dieses Tutorial soll auch verständlich sein.
Dieses Tutorial beschreibt „nur“ die Grundlagen einer AoS-Map. Eventuell mache ich noch ein weiteres Tutorial, das auf diesem basiert und ein paar fortgeschrittene Funktionen enthält.


zum Anfang


2. Die Landschaft

Im Folgenden werden nun die ersten Schritte mit der Map und der Aufbau einer Landschaft beschrieben. Ich beziehe mich dabei auf eine klassische AoS, die vielen bekannt sein dürfte.


zum Anfang


2.1 Vorbereitungen

Zuerst einmal wird eine neue Karte erstellt. Hier mit der Kartengröße 128×128, dem Grafikset „Lordaeron Sommer“ und der Bodenplatte „Gras“. Das Raster schalte ich persönlich immer aus (Shortcut G), da es mich verwirrt; ihr könnt es natürlich auch anlassen.

Nun stellen wir die Kameraperspektive ein, mit der wir am besten das Terrain bearbeiten können. Wir wählen im Menü „Erweitert“ die Perspektive „Gesamte Karte ansehen“ und schon haben wir einen guten ßberblick. Langsame PCs könnten damit allerdings Probleme bekommen; deshalb empfiehlt es sich für langsamere PCs einfach nur ein wenig wegzuzoomen, indem man öfter die Tastenkombination Strg+PfeilRunter betätigt.


zum Anfang


2.2 Gelände

Mit dieser Ansicht lässt sich nun einigermaßen leicht das Terrain machen. Wir wechseln also auf die „Gelände-Palette“ und erstellen zuerst einmal die Plätze, an denen später die Basen der Teams sein sollen, und verbinden diese im Dreieck mit Wegen.

Ich habe jetzt hier mal schnell ein 3-Minuten-Terrain gemacht. Ihr könnt eures natürlich individuell gestalten und müsst auch nicht diese Dreiecksform wählen, zumal sich das ja nur für drei Teams eignet. Außerdem könnt ihr ja auch ein gänzlich anderes Grafikset nehmen.
In der Mitte habe ich einen weiteren Kampfplatz eingeplant, zu dem auch noch ein paar Zugänge führen.
Die Spawns laufen über die hier rot markierten Wege.
Natürlich ist das Terrain noch längst nicht fertig und wird sich im Laufe des Mapping-Prozesses noch verändern, zum Beispiel weil später auch noch Creepspots hinzugefügt werden, die noch einen eigenen Platz brauchen.


zum Anfang


2.3 Doodads


Generall habt ihr bei Doodads freie Wahl, doch Bäume sollten dabei sein. Natürlich ist dies wie auch beim Terrain noch nicht die End-Version; einige der Bäume werden wieder entfernt werden, um Platz für die Creep-Spots zu schaffen. Ihr solltet darauf achten, dass bei den Bäumen am Wegesrand keine großen Lücken vorhanden sind, da man mit den Helden sonst leicht ins Dikicht eindringen kann.
Um andere Doodads zu platzieren, sollten wir die Gesamtansicht der Karte wieder verlassen und zur Normal-Ansicht wechseln; entweder mit einem Klick auf „Zur Spielkamera springen“ im Menü „Ansicht“ oder mit dem Shortcut Strg+Umschalttaste+C. Hier könnt ihr jetzt noch ein bisschen wie oben beschrieben zoomen, bis die Ansicht euch gefällt.


An den Kreuzungen habe ich jeweils einen Wegweiser erstellt und dort, wo nachher die Türme zur Verteidigung hinkommen sollen, ein paar Barrikaden platziert.
Lasst hier eurer Fantasie freien Lauf und verziert die Landschaft mit Doodads (aber übertreibt nicht).


zum Anfang


3. Einstellen der Spielereigenschaften

Es wird Zeit, dass wir uns mal den Spielereigenschaften zuwenden. Dazu öffnen wir mit einem Klick auf „Szenario –> Spieler-Eigenschaften“ das Spieler-Menü.
Nun stellen wir Spieler 1, 2, 3, 5, 6, 7, ,9, 10 und 11 auf Steuerung -> Benutzer, Volk -> Mensch und machen ein Häkchen bei Festgelegte Startposition


Bei Spieler 4, 8 und 12 stellen wir das Volk ebenfalls auf Mensch und machen ein Häkchen bei Festgelegte Startposition, aber stellen die Steuerung auf Computer. Das sind die Computerspieler denen später die Gebäude in der Basis und die gespawnten Einheiten gehören. Deshalb habe ich die Computerspieler hier mal nach ihrer Position benannt.

Den Reiter Verbündeten-Prioritäten lassen wir aus und wechseln gleich zum Reiter Streitmächte. Dort machen wir folgende Einstellungen:

  • Ein Häkchen bei Eigene Streitmächte verwenden
  • Ein Häkchen bei Festgelegte Spieler-Eigenschaften
  • Streitmacht 1 umbenennen in Nord
  • Zwei neue Streitmächte erstellen
  • Streitmacht 2 umbenennen in Süd-West
  • Streitmacht 3 umbenennen in Süd-Ost
  • Die Spieler „Spieler 5“, „Spieler 6“, „Spieler 7“ und „Süd-West“ in die Streitmacht „Süd-West“ verschieben (mit gedrückter Maustaste ziehen)
  • Die Spieler „Spieler 9“, „Spieler 10“, „Spieler 11“ und „Süd-Ost“ in die Streitmacht „Süd-Ost“ verschieben (mit gedrückter Maustaste ziehen)
  • Bei allen Streitmächten jeweils einen Haken machen bei Verbündet, Gemeinsamer Sieg und bei Gemeinsame Sicht

Das alles bewirkt, dass die Spieler nun in den richtigen Teams sind und begrenzt die Teams auf eine Anzahl von drei Spielern pro Team.

Bei den Reitern Technologie-Baum, Fähigkeiten und Ausbaustufen brauchen wir nichts einzustellen, da man ja nur den Helden verwendet und keine Gebäude baut bzw. Einheiten ausbildet.

Damit sind die Spielereinstellungen abgeschlossen und wie schließen das Fenster mit einem Klick auf .


zum Anfang

4. Die Einheiten

In diesem Kapitel arbeiten wir ein wenig mit dem Objekt Editor und kümmern uns um die Gebäude der Basis, die Türme, die Helden und deren Fähigkeiten, die Spawn-Einheiten und die Creepspots.

Allerdings werde ich hier im Beispiel viele Standardeinheiten von WarCraft verwenden, da es eine Beispielmap sein soll und das detaillierte Arbeiten mit dem Objekt Editor nicht Teil dieses Tutorials ist. In eurer AoS-Map könnt ihr natürlich die Einheiten, Gebäude und Fähigkeiten anpassen, wie ihr wollt, eigene Modelle verwenden und eure Spells selbst triggern.


zum Anfang


4.1 Gebäude und Shops

In diesem Beispiel wählen wir als Volk mal Menschen.
Nun öffnen wir den Objekt-Editor und wechseln, falls nicht bereits geschehen, zum Reiter Einheiten.


Unser erster Schritt hier wird sein, die Trefferpunkte des Schlosses ein wenig zu erhöhen, da das Spiel ja nicht allzuschnell vorbei sein soll. Wir stellen also den Wert Werte – Maximale Trefferpunkte (Basis) auf 8000. Auch seine Rüstung sollten wir nicht vergessen, die wir mit der Eigenschaft Kampf – Basis-Verteidigung auf 9 setzen.

Die Wachtürme sollen natürlich auch kein zu leichtes Hindernis darstellen, weshalb wir ihre Trefferpunkte und ihren Schaden leicht erhöhen, indem wir den Wert Werte – Maximale Trefferpunkte (Basis) auf 2000 und den Wert Kampf – Angriff 1 – Basis Schaden auf 60 stellen.

Die Kasernen, bei denen später die Einheiten gespawnt werden, sollte man ebenfalls nicht allzu leicht zerstören können, weshalb wir auch bei ihnen den Wert Werte – Maximale Trefferpunkte (Basis) auf einen höheren Wert setzen, nämlich auf 4000.

Wenden wir uns nun den Shops zu. Es ist meist übersichtlicher, zwei verschiedene Shops mit verschiedenen Item-Typen zu haben. Wir wählen hier mal den Goblin-Laden für \’Heilungs-Items\‘ (Heiltrank, Manatrank, etc.) und das Arkanes Gewölbe für Powerups (Folianten) und tragbare Items (Maske der Könige, etc.).

Die Märkte sollte man übrigens auch nicht zerstören können. Der Goblin-Laden hat bereits die Fähigkeit „Unverwundbar“, bei dem Arkanes Gewölbe müssen wir sie noch hinzufügen. Dazu doppelklicken wir auf den Eintrag Fähigkeiten – Normal und klicken im darauf folgenden Fenster auf Fähigkeit hinzufügen. Nun wählen wir in der sich öffnenden Liste die Fähigkeit „Unverwundbar (Neutral)“ aus und klicken sowohl in der Liste, als auch danach im Fähigkeiten-Fenster auf . Nun ist das Arkanes Gewölbe unverwundbar.
Jetzt müssen wir noch einstellen, was die Märkte verkaufen sollen. Dazu doppelklicken wir nun zuerst beim Arkanes Gewölbe auf den Eintrag Technologie-Baum – Hergestellte Gegenstände und löschen in der darauf folgenden Liste alle Einträge, denn diese Items können nur vom Besitzer des Arkanes Gewölbe gekauft werden. Nun doppelklicken wir auf Technologie-Baum – Verkaufte Gegenstände und fügen wie bei den Fähigkeiten auch alle Gegenstände, die das Arkanes Gewölbe verkaufen soll, nacheinander der Liste hinzu.

Nun zum Goblin-Laden. Er hat beim Wert Technologie-Baum – Hergestellte Gegenstände bereits keine Einträge, da er standardmäßig neutral ist. Wir nehmen nun also den Wert Technologie-Baum – Verkaufte Gegenstände und bearbeiten die Liste, indem wir Gegenstände, die er nicht verkaufen soll, löschen und Gegenstände, die er verkaufen soll, hinzufügen (Ein „Ankh der Reinkarnation“ sollte nicht fehlen).

Bei manchen Gegenständen empfiehlt es sich, deren Preis zu ändern. Wir machen das kurz am Beispiel des „Großen Heiltranks“. Zuerst wechseln wir im Objekt-Editor auf den Reiter „Gegenstände“. Dann suchen wir den „Großen Heiltrank“ und ändern seinen Wert Werte – Goldkosten von 400 in 200. Nun ändern wir noch seinen Wert Werte – Ladungszahl von 1 in 3, damit man ihn dreimal verwenden kann.
Nun stellen wir noch ein, das man unendlich dieser Items kaufen kann, und sie sich im Shop nicht aufbrauchen. Wir suchen also nacheinander unsere gewählten Items im Objekt-Editor und setzen die beiden Eigenschaften Werte – Vorrats-Anfangsverzögerung und Werte – Vorrats-Auffüll-Intervall auf 0.

In die Mitte der Map, wo der große Kampfplatz ist, wollte ich einen Allround-Heilbrunnen stellen, also einen Brunnen, der sowohl Trefferpunkte als auch Mana heilt. Dazu müssen wir den „Brunnen der Gesundheit“ im Objekt-Editor leicht bearbeiten. Wir fügen in der Fähigkeitenliste noch die Fähigkeit „Mana-Regeneration (Neutral)“ hinzu und geben dem Brunnen einen neuen Namen, indem wir die Eigenschaft Text – Name ändern; ich nenne ihn im Beispiel „Brunnen der Wiederherstellung“.

Nun platzieren wir die Gebäude auf der Map. Türme auf die Wege, Brunnen in die Mitte, die anderen Gebäude in die Basen und die Spieler-Startpositionen dahin, wo später einmal die Helden zur Auswahl stehen sollen (bei mir oben links im Wald, wo ich ein paar Bäume entfernt habe).
Nun sehen die einzelnen Plätze so aus:

Die ganze Karte sieht bei mir nun so aus:


zum Anfang


4.2 Helden und Fähigkeiten

Da dies eine allgemeine Beispielmap werden soll, werde ich nur die Standardhelden und Standardfähigkeiten von WarCraft verwenden und sie nur ein wenig modifizieren. In eurer eigenen Map könnt ihr natürlich eure eigenen Helden erstellen und auch eure eigenen Fähigkeiten (vielleicht sogar triggern).
Einige Sachen möchte ich jedoch trotzdem noch erläutern, damit ihr auch in der Lage seid, eure eigenen Helden zu machen. Im Objekt-Editor lässt sich viel ändern und die Namen der Werte sagen auch gut aus, was sie bewirken. Ich möchte aber das Aussehen des Paladins ändern, indem ich ihm ein ein anderes Modell gebe. Das Modell habe ich vorher von www.wc3sear.ch runtergeladen (Link zum Modell).

Nun öffne ich den Import-Manager und importiere mit dem Importieren-Button die zwei heruntergeladenenen Dateien „GnomeBot2.mdx“ und „GnomeBot.blp“. Bei „GnomeBot.blp“ muss noch der Pfad geändert werden; dazu machen wir einen Doppelklick auf den Eintrag „GnomeBot.blp“, dann ein Häkchen bei Eigenen Pfad verwenden und löschen das „war3mapImported\“, sodass nur noch „GnomeBot.blp“ dasteht.


Damit das Modell auch funktioniert, müssen wir unsere Map abspeichern, den Editor schließen, den Editor wieder starten und dann die Map wieder öffnen. Nun öffnen wir wieder den Objekt-Editor und wählen den Paladin an. Nun doppelklicken wir auf den Wert Grafik – Modell-Datei, machen im folgenden Fenster einen Klick auf den Punkt bei Importiert und wählen die Datei „war3mapImported\GnomeBot2.mdx“aus. Wir schließen das Fenster mit einem Klick auf .

Nun trägt der Paladin unser Modell.
Die Fähigkeiten der Helden lasse ich auf dem Standard. Ich will nur kurz erläutern, wie ihr eigene Fähigkeiten triggern könnt. Zuerst erstellt ihr mit dem Objekt-Editor unter dem Reiter Fähigkeiten eine neue eigene Fähigkeit auf der Basis einer Fähigkeit, die eurer am nächsten liegt. Im Auslöser braucht ihr das Ereignis „Einheit – A Unit Beginnt eine Fähigkeit zu wirken“ und die Bedingung „(Ability being cast) Gleich |Eure Fähigkeit|“ (Ability Comparison). Dann könnt ihr in den Aktionen euren Zauber schreiben. Das kann ich hier nicht näher erläutern, aber ich sage noch soviel: Die Zaubernde Einheit ist „Casting unit“ und falls der Zauber ein Ziel braucht ist dieser Punkt „Target Point of Ability being cast“. (In der Beispielmap habe ich für unseren veränderten Paladin einen eigenen Spell gemacht)

Jetzt brauchen wir noch die Irrwische, die die Helden auswählen sollen. Wir gehen also wieder in den Objekt-Editor und suchen den Irrwisch. Erstmal nehmen wir ihm alle seine Fähigkeiten weg; wie das geht, wissen wir ja inzwischen. Dann müssen wir noch verändern, dass der Irrwisch etwas bauen kann und löschen deshalb alles, was in der Liste der Eigenschaft Technologie-Baum – Errichtete Gebäude. Nun benennen wir den Irrwisch mit der Eigenschaft Text – Name in „Heldenwähler“ um.

Jetzt platzieren wir die Helden für Spieler „Neutral Passiv“; sie im Kreis anzuordnen sieht immer ganz nett aus. in die Mitte des Kreises, den die Helden nun bilden, setzen wir 9 von unseren eben veränderten Irrwischen, für Spieler 1, 2, 3, 5, 6, 7, 9, 10 und 11 je einen, mit denen man später den Helden auswählen soll.


zum Anfang


4.3 Spawns

Kommen wir nun zu den Einheiten, die an den Kasernen gespawnt werden und dann zu den Gegnern laufen sollen.

Falls noch nicht geschehen, erstmal den Objekt-Editor öffnen. Ich verwende hier als Spawns die Soldaten und die Bogenschützinnen (nicht die Nachtelfen, sondern die von den Menschen aus der Kategorie „Kampagne“). Wie man Trefferpunkte und Schaden ändert, wisst ihr ja von den Gebäuden. Ich ändere also die Trefferpunkte der Soldaten auf 250 und ihren Basisschaden auf 35. Die Trefferpunkte der Bogenschützinnen ändere ich auf 200 und ihren Basisschaden auf 20.

Nun sollen die Spawns ja auch noch Gold geben, wenn man sie tötet, die sogenannte Beute, die wir nun auch im Objekt Editor einstellen. Jede Einheit soll 50 Beute geben, also ändern wir bei den Soldaten und den Bogenschützinnen folgende Werte: Werte – Gewährte Beute – Basis auf 49, Werte – Gewährte Beute – Seiten pro Würfel auf 1 und Werte – Gewährte Beute – Würfelzahl auf 1.
Mehr machen wir erstmal noch nicht mit den Spawns. Sie werden ja erst im Spiel von Auslösern erstellt.


zum Anfang


4.4 Creeps


Nun platzieren wir ein paar Creeps für „Neutral feindlich“ auf der Map. Ihr könnt euch natürlich eure eigenen machen, aber ich verwende hier mal wieder die Standard-WarCraft-Creeps. Allerdings einigermaßen starke, da man die ja nicht gleich am Anfang wegcreepen soll, sondern erst ein wenig später.
Auf der Minikarte rechts seht ihr, wo ich die Creeplager hingelegt habe.


zum Anfang


5. Die Auslöser

Wir öffnen nun den Auslöser-Editor und löschen erstmal den Auslöser namens „Nahkampf-Initialisierung“, da wir ihn nicht brauchen.

Im folgenden werde ich nun die verschiedenen Auslöser niederschreiben. Zwischen die Aktionen habe ich immer Kommentare eingefügt, damit ihr wisst, was sie bewirken, und ich das nicht alles daneben schreiben muss. Vor dem Auslöser schreibe ich dann immer noch, wozu der ganze Auslöser dient.


zum Anfang


5.1 Initialisierung

Bei einer AoS-Map braucht man nur recht wenig Initialisierungs-Auslöser. Um genau zu sein, nur Zwei. Ein paar andere Auslöser werden zwar auch bei der Initialisierung ausgeführt, gehören aber in andere Kategorien, wie zum Beispiel „Heldenauswahl“ und „Bestenliste“.
Der jetzt folgende kümmert sich darum, dass das Team, das keine Spieler hat oder dessen Spieler nur Computer sind, zu Spielbeginn verloren hat.

XSpielerpruefung
+XEreignisse

XXXZeit – Elapsed game time is 1.00 seconds

XXBedingungen
+XAktionen

XXX——– Überprüfung der Spieler von Team 1: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 1 (Rot) controller) Ungleich Benutzer) or ((Spieler 1 (Rot) slot status) Ungleich Spielt)
XXXXXXX((Spieler 2 (Blau) controller) Ungleich Benutzer) or ((Spieler 2 (Blau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 3 (Blaugrau) controller) Ungleich Benutzer) or ((Spieler 3 (Blaugrau) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 1 (Rot) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 2 (Blau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 3 (Blaugrau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 4 (Lila) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 4 (Lila)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Überprüfung der Spieler von Team 2: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 5 (Gelb) controller) Ungleich Benutzer) or ((Spieler 5 (Gelb) slot status) Ungleich Spielt)
XXXXXXX((Spieler 6 (Orange) controller) Ungleich Benutzer) or ((Spieler 6 (Orange) slot status) Ungleich Spielt)
XXXXXXX((Spieler 7 (Grün) controller) Ungleich Benutzer) or ((Spieler 7 (Grün) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 5 (Gelb) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 6 (Orange) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 7 (Grün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 8 (Rosa) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 8 (Rosa)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Überprüfung der Spieler von Team 3: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 9 (Grau) controller) Ungleich Benutzer) or ((Spieler 9 (Grau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 10 (Hellblau) controller) Ungleich Benutzer) or ((Spieler 10 (Hellblau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 11 (Dunkelgrün) controller) Ungleich Benutzer) or ((Spieler 11 (Dunkelgrün) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 9 (Grau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 10 (Hellblau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 11 (Dunkelgrün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 12 (Braun) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 12 (Braun)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 2 und 3 tot sind, gewinnt Team 1: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0012 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 1 (Rot) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 2 (Blau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 3 (Blaugrau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 4 (Lila) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 1 und 3 tot sind, gewinnt Team 2: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 5 (Gelb) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 6 (Orange) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 7 (Grün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 8 (Rosa) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 1 und 2 tot sind, gewinnt Team 3: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0012 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 9 (Grau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 10 (Hellblau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 11 (Dunkelgrün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 12 (Braun) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

Der Auslöser oben überprüft auch gleich, ob jetzt nur noch ein Team übrig ist. Wenn ja, gewinnt dieses sofort. Die AoS kann man jetzt also nicht mehr im Einzelspieler-Modus, sondern nur noch Multiplayer spielen.

Und nun noch ein kleiner Auslöser, der allgemeine Einstellungen macht:

XEinstellungen
+XEreignisse

XXXMap initialization

XXBedingungen
+XAktionen

XXX——– Einstellen, dass gespawnte Einheiten Beute geben: ——–
XXXSpieler – Turn Gibt Beute Ein for Spieler 4 (Lila)
XXXSpieler – Turn Gibt Beute Ein for Spieler 8 (Rosa)
XXXSpieler – Turn Gibt Beute Ein for Spieler 12 (Braun)
XXX——– Tageszeit auf 8:00 morgens setzen: ——–
XXXSpiel – Set the time of day to 8.00


zum Anfang


5.2 Heldenauswahl

Hierzu müssen wir erst ein Gebiet erstellen. Wechselt dazu im Hauptfenster des Editors (also nicht im Auslöser-Editor) auf die Gebiets-Palette und erstellt ein großes Gebiet um den Platz mit den Helden; dieses Gebiet soll später für alle Spieler sichtbar sein, damit sie auch alle Helden gut sehen können; ich nenne dieses Gebiet mal schlicht „Helden“.

Jetzt kommt der Auslöser, der die Kamera der Spieler am Anfang zu den Helden bewegt:

XHeldenauswahl starten
+XEreignisse

XXXZeit – Elapsed game time is 0.10 seconds

XXBedingungen
+XAktionen

XXX——– Alle Spieler auswählen (picken): ——–
X+XSpielergruppe – Pick every player in (All players) and do (Actions)

XX+XSchleifen – Aktionen

XXXXX——– Gebiet mit den Helden sichtbar machen: ——–
XXXXXSichtbarkeit – Create an initially Aktiviert visibility modifier for (Picked player) emitting Sichtbarkeit across Helden <gen>
XXXXX——– Kamera sofort dorthin bewegen: ——–
XXXXXKamera – Pan camera for (Picked player) to (Center of Helden <gen>) over 0.00 seconds

XXX——– Allen Spielern folgenden Text anzeigen: ——–
XXX——– "Wähle deinen Helden, indem du den Heldenwähler anwählst und dann einen Rechtsklick auf deinen Helden machst. ——–
XXXSpiel – Display to (All players) the text: "Wähle deinen Held…
XXX——– Für jeden Spieler seinen Irrwisch auswählen: ——–
XXXSpielergruppe – Pick every player in (All players) and do (Auswahl – Select (Random unit from (Units owned by (Picked player) of type Heldenwähler)) for (Picked player))

Jetzt müssen wir drei weitere Gebiete erstellen. In der Basis jedes Teams vor dem Schloss und zwischen den Arkaner Türmen kommt ein Gebiet; diese Gebiete nennen wir „Helden1“, „Helden2“ und „Helden3“. In diesen Gebieten wird der in kürze ausgewählte Held erstellt und an ihnen werden die Helden später auch wiederbelebt, wenn sie sterben.

Nach der Erstellung dieser Gebiete machen wir noch einen Auslöser, der aktiviert wird, wenn ein Spieler einen Helden wählt:

XHeldenauswahl
+XEreignisse

XXXEinheit – A unit Erhält einen auf ein Objekt zielenden Befehl

+XBedingungen

XXX(Unit-type of (Ordered unit)) Gleich Heldenwähler
XXX(Helden <gen> contains (Target unit of issued order)) Gleich True
X+XOr – Any (Conditions) are true

XX+XBedingungen

XXXXX(Target unit of issued order) Gleich Paladin 0067 <gen>
XXXXX(Target unit of issued order) Gleich Erzmagier 0068 <gen>
XXXXX(Target unit of issued order) Gleich Bergkönig 0069 <gen>
XXXXX(Target unit of issued order) Gleich Blutmagier 0070 <gen>
XXXXX(Target unit of issued order) Gleich Klingenmeister 0071 <gen>
XXXXX(Target unit of issued order) Gleich Scharfseher 0072 <gen>
XXXXX(Target unit of issued order) Gleich Tauren-Häuptling 0073 <gen>
XXXXX(Target unit of issued order) Gleich Todesritter 0074 <gen>
XXXXX(Target unit of issued order) Gleich Lich 0075 <gen>
XXXXX(Target unit of issued order) Gleich Hüter des Hains 0076 <gen>
XXXXX(Target unit of issued order) Gleich Dämonenjäger 0077 <gen>
XXXXX(Target unit of issued order) Gleich Wächterin 0078 <gen>

+XAktionen

XXX——– Heldenwähler entfernen: ——–
XXXEinheit – Remove (Ordered unit) from the game
XXX——– Wenn der auswählende Spieler in Team 1 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 4 (Lila))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden1 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden1 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn der auswählende Spieler in Team 2 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 8 (Rosa))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden2 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden2 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn der auswählende Spieler in Team 3 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 12 (Braun))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden3 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden3 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Besitzer des gewählten Helden wechseln: ——–
XXXEinheit – Change ownership of (Target unit of issued order) to (Owner of (Ordered unit)) and Farbe wechseln

Natürlich gibt es auch noch andere Verfahren, Helden zu wählen. Eins davon möchte ich hier noch kurz beschreiben. Allerdings nur kurz, ich werde nicht die genauen Auslöser hinschreiben und es kommt auch nicht in der Beispielmap vor:
Bei diesem Verfahren kann man die Helden in einer Taverne anheuern. Bei der Taverne stellt man sie unter Technologie-Baum – Verkaufte Einheiten ein. Dann setzt man für jeden Spieler noch einen unbeweglichen Irrwisch davor, damit dieser auch Helden kaufen kann.

Wenn nun ein Held gekauft wird, reagiert ein Auslöser darauf, der den Helden dann in die Basis des entsprechenden Teams befördert.
Soviel zu diesem Verfahren, ich wollte es noch nebenbei erwähnen und nun weiter im Text.


zum Anfang

5.3 Spawn-Auslöser

Hierfür müssen wir erstmal massenhaft Gebiete erstellen. Zuerst vor jeder Kaserne jedes Teams je ein Gebiet; diese Gebiete benennen wir am besten nach folgendem Schema: „Spawn“+Team+LageDerKaserne, also zum Beispiel „SpawnTeam1Links“ für das Gebiet vor der Linken Kaserne von Team 1. Und jetzt noch ein großes Gebiet um den Kreis in der Mitte, dass dann später die dort eintreffenden Spawns aufteilt; ich nenne es mal „SpawnsMitte“.
Und jetzt den Auslöser, der die Spawns alle 15 Sekunden erstellt:

XSpawnen
+XEreignisse

XXXZeit – Every 15.00 seconds of game time

XXBedingungen
+XAktionen

XXX——– In einer Schleife, da von jedem Einheiten-Typ 3 Stück gespawnt werden sollen ——–
X+XFor each (Integer B) from 1 to 3, do (Actions)

XX+XSchleifen – Aktionen

XXXXX——– Wenn die Kaserne noch lebt: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0048 <gen> is alive) Gleich True
XXXXXXX(Schloss 0012 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXX——– Soldat erstellen: ——–
XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Eben erstelltem Soldaten befehlen, sich zum pinken Schloss zu bewegen und auf dem Weg alles anzugreifen: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)
XXXXXXX——– Bogenschützin erstellen: ——–
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Eben erstelltem Soldaten befehlen, sich zum pinken Schloss zu bewegen und auf dem Weg alles anzugreifen: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXXXX——– Jetzt noch für die anderen Kasernen: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0047 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Aber diesmal schicken wir ihn in die Mitte: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0049 <gen> is alive) Gleich True
XXXXXXX(Schloss 0026 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXXXX——– Und für die anderen Teams: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0021 <gen> is alive) Gleich True
XXXXXXX(Schloss 0046 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0019 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0020 <gen> is alive) Gleich True
XXXXXXX(Schloss 0026 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0029 <gen> is alive) Gleich True
XXXXXXX(Schloss 0012 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0027 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0028 <gen> is alive) Gleich True
XXXXXXX(Schloss 0046 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)

XXXXXX‚ELSE‘-Aktionen

Dann brauchen wir noch einen Auslöser, der die in der Mitte ankommenden Einheiten aufteilt:

XMitteAufteilen
+XEreignisse

XXXEinheit – A unit enters SpawnsMitte <gen>

XXBedingungen
+XAktionen

XXX——– Wenn die betretende Einheit in Team 1 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 4 (Lila)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>))) else do (Do nothing)
XXX——– (Oben wurde eine Zufallszahl errechnet. Wenn sie den Wert 1 hat, wird die Einheit zu Team 2 geschickt, hat sie den Wert 2, wird die Einheit zu Team 3 geschickt.) ——–
XXX——– Wenn die betretende Einheit in Team 2 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 8 (Rosa)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>))) else do (Do nothing)
XXX——– Wenn die betretende Einheit in Team 3 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 12 (Braun)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>))) else do (Do nothing)


zum Anfang


5.4 Bestenliste

Zu einer AoS-Map gehört auch eine Bestenliste, die anzeigt, wieviel feindliche Einheiten jeder Spieler getötet hat.
Der erste Auslöser erstellt die Bestenliste:

XBestenliste erstellen
+XEreignisse

XXXZeit – Elapsed game time is 2.00 seconds

XXBedingungen
+XAktionen

XXX——– Bestenliste mit dem Titel "Kills" erstellen: ——–
XXXBestenliste – Create a leaderboard for (All players) titled Kills
XXX——– Wenn es Spieler 1 gibt, wird er zur Bestenliste hinzugefügt: ——–
XXXIf ((Spieler 1 (Rot) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 1 (Rot) to (Last created leaderboard) with label (Name of Spieler 1 (Rot)) and value 0) else do (Do nothing)
XXX——– Dasselbe noch mit den anderen Spielern: ——–
XXXIf ((Spieler 2 (Blau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 2 (Blau) to (Last created leaderboard) with label (Name of Spieler 2 (Blau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 3 (Blaugrau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 3 (Blaugrau) to (Last created leaderboard) with label (Name of Spieler 3 (Blaugrau)) and value 0) else do (Do nothing)
XXX——– (Die Computerspieler wie z.B. Spieler 4 werden natürlich ausgelassen) ——–
XXXIf ((Spieler 5 (Gelb) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 5 (Gelb) to (Last created leaderboard) with label (Name of Spieler 5 (Gelb)) and value 0) else do (Do nothing)
XXXIf ((Spieler 6 (Orange) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 6 (Orange) to (Last created leaderboard) with label (Name of Spieler 6 (Orange)) and value 0) else do (Do nothing)
XXXIf ((Spieler 7 (Grün) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 7 (Grün) to (Last created leaderboard) with label (Name of Spieler 7 (Grün)) and value 0) else do (Do nothing)
XXXIf ((Spieler 9 (Grau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 9 (Grau) to (Last created leaderboard) with label (Name of Spieler 9 (Grau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 10 (Hellblau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 10 (Hellblau) to (Last created leaderboard) with label (Name of Spieler 10 (Hellblau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 11 (Dunkelgrün) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 11 (Dunkelgrün) to (Last created leaderboard) with label (Name of Spieler 11 (Dunkelgrün)) and value 0) else do (Do nothing)


Jetzt müssen wir erstmal eine Variable erstellen. Dazu öffnen wir nun vom Auslöser-Editor aus das Variablen-Menü und erstellen dort eine neue Variable.

Diese Variable nennen wir Kills. In ihr sollen die Kills der Spieler für die Bestenliste gespeichert werden. Also wird es eine Integer-Array-Variable mit der Array-Größe 12. Den Startwert lassen wir auf 0.

Der zweite Auslöser aktualisiert die Bestenliste immer, wenn ein Spieler eine Einheit tötet:

XBestenliste aktualisieren
+XEreignisse

XXXEinheit – A unit Stirbt

+XBedingungen

XXX(Owner of (Killing unit)) Ungleich Spieler 4 (Lila)
XXX(Owner of (Killing unit)) Ungleich Spieler 8 (Rosa)
XXX(Owner of (Killing unit)) Ungleich Spieler 12 (Braun)

+XAktionen

XXX——– Die "Kills"-Variable für den tötenden Spieler um 1 erhöhen: ——–
XXXSet Kills[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] + 1)
XXX——– Wert dieses Spielers in der Bestenliste aktualisieren: ——–
XXXBestenliste – Change the value for (Owner of (Killing unit)) in (Last created leaderboard) to Kills[(Player number of (Owner of (Killing unit)))]
XXX——– Bestenliste sortieren: ——–
XXXBestenliste – Sort (Last created leaderboard) by Wert in Absteigend order


zum Anfang

5.5 Sieg/Niederlage

Nun machen wir den Auslöser, der aktiviert wird, wenn eines der Schlösser zerstört wird, und das betreffende Team verlieren lässt. Wenn zwei zerstört sind, gewinnt das übrig bleibende Team:

XSieg und Niederlage
+XEreignisse

XXXEinheit – Schloss 0046 <gen> Stirbt
XXXEinheit – Schloss 0012 <gen> Stirbt
XXXEinheit – Schloss 0026 <gen> Stirbt

XXBedingungen
+XAktionen

XXX——– Wenn das Schloss von Team 1 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0046 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 1 (Rot) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 2 (Blau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 3 (Blaugrau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 4 (Lila) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 4 (Lila)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn das Schloss von Team 2 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0012 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 5 (Gelb) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 6 (Orange) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 7 (Grün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 8 (Rosa) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 8 (Rosa)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn das Schloss von Team 3 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0026 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 9 (Grau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 10 (Hellblau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 11 (Dunkelgrün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 12 (Braun) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 12 (Braun)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 1 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0012 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 1 (Rot) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 2 (Blau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 3 (Blaugrau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 4 (Lila) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 2 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 5 (Gelb) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 6 (Orange) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 7 (Grün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 8 (Rosa) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 3 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0012 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 9 (Grau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 10 (Hellblau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 11 (Dunkelgrün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 12 (Braun) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen


zum Anfang


5.6 Sonstige Auslöser

Nun ja, sonstige Auslöser gibt es eigentlich nur einen. Und zwar, dass Helden, nachdem sie gestorben sind, wiederbelebt werden. Im Beispiel handhabe ich es so, dass das Wiederbeleben solange dauert wie Levelx5; also wenn der Held auf Stufe 4 ist, dauert es 20 Sekunden bis er wiederbelebt wird:

XWiederbeleben
+XEreignisse

XXXEinheit – A unit Stirbt

+XBedingungen

XXX((Dying unit) is Ein Held) Gleich True

+XAktionen

XXX——– Dem Spieler folgende Nachricht anzeigen: ——–
XXX——– "Dein Held wird in <Level x 5> Sekunden weiderbelebt." ——–
XXXSpiel – Display to (Player group((Owner of (Dying unit)))) the text: (Dein Held wird in + ((String(((Level of (Dying unit)) x 5))) + Sekunden wiederbelebt.))
XXX——– <Level x 5> Sekunden lang warten: ——–
XXXWait ((Real((Level of (Dying unit)))) x 5.00) seconds
XXX——– Wenn Held in Team 1 ist, bei Team 1 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 4 (Lila))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden1 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Wenn Held in Team 2 ist, bei Team 2 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 8 (Rosa))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden2 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Wenn Held in Team 3 ist, bei Team 3 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 12 (Braun))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden3 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Kamera des Spielers zum Helden bewegen; ——–
XXXKamera – Pan camera for (Owner of (Dying unit)) to (Position of (Dying unit)) over 2.00 seconds


zum Anfang


6. Der letzte Schliff


Jetzt haben wir es fast geschafft. Den Auslöser-Editor können wir jetzt erstmal schließen.

Wir öffnen nun mit einem Klick auf Szenario –> Kartenbeschreibung die Szenario-Einstellungen. Nun könnt ihr euch für eure Map einen Namen und eine Kurzbeschreibung aussuchen. Außerdem könnt ihr angeben, für wieviele Spieler in welchen Kombinationen sie ist (also zum Beispiel 3vs3vs3), und euren Namen bei Autor reinschreiben.

Die Reiter Optionen und Kartengröße und Kameragrenzen lassen wir aus und wechseln gleich zu Lade-Bildschirm.

Nun könnt ihr entweder beim normalen Vorgabe-Bildschirm bleiben oder euch einen Kampagnen-Bildschirm einstellen, den ihr dann mit Text versehen könnt.

Nun schließen wir die Szenario-Einstellungen mit einem Klick auf .

Nun öffnen wir mit einem Klick auf Erweitert –> Gameplay-Konstanten die Gameplay-Konstanten und machen dort ein Häkchen bei Eigene Gameplay-Konstanten verwenden. Nun suchen wir dort den Eintrag Helden – Maximal-Stufe und setzen sie auf 50, damit unsere Helden bis Stufe 50 aufsteigen können.

Da wir ja auch ein paar Creeps auf der Map haben und ein Held durch Creeping normalerweise nur bis Stufe 5 aufsteigen kann, suchen wir nun noch den Eintrag Gewonnene Helden-EP – Unhold-Reduzierung-Tabelle und öffnen die Liste mit einem Doppelklick darauf. Nun löschen wir dort den letzten Wert 0.
Jetzt schließen wir die Gameplay-Konstanten mit einem Klick auf .

zum Anfang


7. Schlusswort

So, jetzt ist eure Grundlagen-AoS fertig.
Ich hoffe, ihr habt es einigermaßen verstanden und hinbekommen.

Solltet ihr dennoch Fragen oder Probleme haben, wendet euch an mich.
Und wie gesagt, vielleicht mach ich noch ein Tutorial mit erweiterten AoS-Funktionen.
Viel Spaß noch beim Mappen!

Download der Beispielmap

zum Anfang

Bjoerni

Die NGL-One Teilnehmer Wie mache ich eine Maze/Tower-Defence Map

AoS-Tutorial

[nocontentad]

AoS-Tutorial


zum Anfang


1. Einleitung

Für die, die sich fragen „Was ist eine AoS?“: Eine AoS ist ein Map-Typ. Und zwar kämpfen bei einer AoS mehrere Teams mit mehreren Spielern gegeneinander, wobei die Spieler aber nur ihren Helden haben. Jedes Team sendet aber noch automatisch Einheiten aus, die gegeneinander kämpfen. Da diese aber gleichstark sind, wird das Spiel durch die Helden entschieden. Es gewinnt das Team, dass alle gegnerischen Teams besiegt. Ein Team ist besiegt, wenn sein Hauptgebäude in der Basis vernichtet ist. Die Basis ist meist durch Türme gesichert. Die Helden können mit Items und Folianten, die man in der Basis kaufen kann, verstärkt werden.

In diesem Tutorial wird der Aufbau einer typischen, einfachen AoS-Map für drei Teams mit je 3 Spielern beschrieben.

Ich setze mal ein kleines Grundwissen in Bezug auf den Umgang mit dem Interface voraus, da so Fragen wie „Was ist ein Ereignis?“ oder „Wie erstelle ich eine eigene Einheit?“ die Länge des Tutorials explodieren lassen würden.
Aber erfahrene Mapper sollen sich bitte nicht über die einfach gehaltenen Auslöser wundern. Ich habe sie extra schlicht gehalten, damit sie nicht zu kompliziert werden, obwohl Schleifen und tausendfach verkapselte If-Blöcke natürlich kürzer wären. Aber dieses Tutorial soll auch verständlich sein.
Dieses Tutorial beschreibt „nur“ die Grundlagen einer AoS-Map. Eventuell mache ich noch ein weiteres Tutorial, das auf diesem basiert und ein paar fortgeschrittene Funktionen enthält.


zum Anfang


2. Die Landschaft

Im Folgenden werden nun die ersten Schritte mit der Map und der Aufbau einer Landschaft beschrieben. Ich beziehe mich dabei auf eine klassische AoS, die vielen bekannt sein dürfte.


zum Anfang


2.1 Vorbereitungen

Zuerst einmal wird eine neue Karte erstellt. Hier mit der Kartengröße 128×128, dem Grafikset „Lordaeron Sommer“ und der Bodenplatte „Gras“. Das Raster schalte ich persönlich immer aus (Shortcut G), da es mich verwirrt; ihr könnt es natürlich auch anlassen.

Nun stellen wir die Kameraperspektive ein, mit der wir am besten das Terrain bearbeiten können. Wir wählen im Menü „Erweitert“ die Perspektive „Gesamte Karte ansehen“ und schon haben wir einen guten Überblick. Langsame PCs könnten damit allerdings Probleme bekommen; deshalb empfiehlt es sich für langsamere PCs einfach nur ein wenig wegzuzoomen, indem man öfter die Tastenkombination Strg+PfeilRunter betätigt.


zum Anfang


2.2 Gelände

Mit dieser Ansicht lässt sich nun einigermaßen leicht das Terrain machen. Wir wechseln also auf die „Gelände-Palette“ und erstellen zuerst einmal die Plätze, an denen später die Basen der Teams sein sollen, und verbinden diese im Dreieck mit Wegen.

Ich habe jetzt hier mal schnell ein 3-Minuten-Terrain gemacht. Ihr könnt eures natürlich individuell gestalten und müsst auch nicht diese Dreiecksform wählen, zumal sich das ja nur für drei Teams eignet. Außerdem könnt ihr ja auch ein gänzlich anderes Grafikset nehmen.
In der Mitte habe ich einen weiteren Kampfplatz eingeplant, zu dem auch noch ein paar Zugänge führen.
Die Spawns laufen über die hier rot markierten Wege.
Natürlich ist das Terrain noch längst nicht fertig und wird sich im Laufe des Mapping-Prozesses noch verändern, zum Beispiel weil später auch noch Creepspots hinzugefügt werden, die noch einen eigenen Platz brauchen.


zum Anfang


2.3 Doodads


Generall habt ihr bei Doodads freie Wahl, doch Bäume sollten dabei sein. Natürlich ist dies wie auch beim Terrain noch nicht die End-Version; einige der Bäume werden wieder entfernt werden, um Platz für die Creep-Spots zu schaffen. Ihr solltet darauf achten, dass bei den Bäumen am Wegesrand keine großen Lücken vorhanden sind, da man mit den Helden sonst leicht ins Dikicht eindringen kann.
Um andere Doodads zu platzieren, sollten wir die Gesamtansicht der Karte wieder verlassen und zur Normal-Ansicht wechseln; entweder mit einem Klick auf „Zur Spielkamera springen“ im Menü „Ansicht“ oder mit dem Shortcut Strg+Umschalttaste+C. Hier könnt ihr jetzt noch ein bisschen wie oben beschrieben zoomen, bis die Ansicht euch gefällt.


An den Kreuzungen habe ich jeweils einen Wegweiser erstellt und dort, wo nachher die Türme zur Verteidigung hinkommen sollen, ein paar Barrikaden platziert.
Lasst hier eurer Fantasie freien Lauf und verziert die Landschaft mit Doodads (aber übertreibt nicht).


zum Anfang


3. Einstellen der Spielereigenschaften

Es wird Zeit, dass wir uns mal den Spielereigenschaften zuwenden. Dazu öffnen wir mit einem Klick auf „Szenario –> Spieler-Eigenschaften“ das Spieler-Menü.
Nun stellen wir Spieler 1, 2, 3, 5, 6, 7, ,9, 10 und 11 auf Steuerung -> Benutzer, Volk -> Mensch und machen ein Häkchen bei Festgelegte Startposition


Bei Spieler 4, 8 und 12 stellen wir das Volk ebenfalls auf Mensch und machen ein Häkchen bei Festgelegte Startposition, aber stellen die Steuerung auf Computer. Das sind die Computerspieler denen später die Gebäude in der Basis und die gespawnten Einheiten gehören. Deshalb habe ich die Computerspieler hier mal nach ihrer Position benannt.

Den Reiter Verbündeten-Prioritäten lassen wir aus und wechseln gleich zum Reiter Streitmächte. Dort machen wir folgende Einstellungen:

  • Ein Häkchen bei Eigene Streitmächte verwenden
  • Ein Häkchen bei Festgelegte Spieler-Eigenschaften
  • Streitmacht 1 umbenennen in Nord
  • Zwei neue Streitmächte erstellen
  • Streitmacht 2 umbenennen in Süd-West
  • Streitmacht 3 umbenennen in Süd-Ost
  • Die Spieler „Spieler 5“, „Spieler 6“, „Spieler 7“ und „Süd-West“ in die Streitmacht „Süd-West“ verschieben (mit gedrückter Maustaste ziehen)
  • Die Spieler „Spieler 9“, „Spieler 10“, „Spieler 11“ und „Süd-Ost“ in die Streitmacht „Süd-Ost“ verschieben (mit gedrückter Maustaste ziehen)
  • Bei allen Streitmächten jeweils einen Haken machen bei Verbündet, Gemeinsamer Sieg und bei Gemeinsame Sicht

Das alles bewirkt, dass die Spieler nun in den richtigen Teams sind und begrenzt die Teams auf eine Anzahl von drei Spielern pro Team.

Bei den Reitern Technologie-Baum, Fähigkeiten und Ausbaustufen brauchen wir nichts einzustellen, da man ja nur den Helden verwendet und keine Gebäude baut bzw. Einheiten ausbildet.

Damit sind die Spielereinstellungen abgeschlossen und wie schließen das Fenster mit einem Klick auf .


zum Anfang

4. Die Einheiten

In diesem Kapitel arbeiten wir ein wenig mit dem Objekt Editor und kümmern uns um die Gebäude der Basis, die Türme, die Helden und deren Fähigkeiten, die Spawn-Einheiten und die Creepspots.

Allerdings werde ich hier im Beispiel viele Standardeinheiten von WarCraft verwenden, da es eine Beispielmap sein soll und das detaillierte Arbeiten mit dem Objekt Editor nicht Teil dieses Tutorials ist. In eurer AoS-Map könnt ihr natürlich die Einheiten, Gebäude und Fähigkeiten anpassen, wie ihr wollt, eigene Modelle verwenden und eure Spells selbst triggern.


zum Anfang


4.1 Gebäude und Shops

In diesem Beispiel wählen wir als Volk mal Menschen.
Nun öffnen wir den Objekt-Editor und wechseln, falls nicht bereits geschehen, zum Reiter Einheiten.


Unser erster Schritt hier wird sein, die Trefferpunkte des Schlosses ein wenig zu erhöhen, da das Spiel ja nicht allzuschnell vorbei sein soll. Wir stellen also den Wert Werte – Maximale Trefferpunkte (Basis) auf 8000. Auch seine Rüstung sollten wir nicht vergessen, die wir mit der Eigenschaft Kampf – Basis-Verteidigung auf 9 setzen.

Die Wachtürme sollen natürlich auch kein zu leichtes Hindernis darstellen, weshalb wir ihre Trefferpunkte und ihren Schaden leicht erhöhen, indem wir den Wert Werte – Maximale Trefferpunkte (Basis) auf 2000 und den Wert Kampf – Angriff 1 – Basis Schaden auf 60 stellen.

Die Kasernen, bei denen später die Einheiten gespawnt werden, sollte man ebenfalls nicht allzu leicht zerstören können, weshalb wir auch bei ihnen den Wert Werte – Maximale Trefferpunkte (Basis) auf einen höheren Wert setzen, nämlich auf 4000.

Wenden wir uns nun den Shops zu. Es ist meist übersichtlicher, zwei verschiedene Shops mit verschiedenen Item-Typen zu haben. Wir wählen hier mal den Goblin-Laden für \’Heilungs-Items\‘ (Heiltrank, Manatrank, etc.) und das Arkanes Gewölbe für Powerups (Folianten) und tragbare Items (Maske der Könige, etc.).

Die Märkte sollte man übrigens auch nicht zerstören können. Der Goblin-Laden hat bereits die Fähigkeit „Unverwundbar“, bei dem Arkanes Gewölbe müssen wir sie noch hinzufügen. Dazu doppelklicken wir auf den Eintrag Fähigkeiten – Normal und klicken im darauf folgenden Fenster auf Fähigkeit hinzufügen. Nun wählen wir in der sich öffnenden Liste die Fähigkeit „Unverwundbar (Neutral)“ aus und klicken sowohl in der Liste, als auch danach im Fähigkeiten-Fenster auf . Nun ist das Arkanes Gewölbe unverwundbar.
Jetzt müssen wir noch einstellen, was die Märkte verkaufen sollen. Dazu doppelklicken wir nun zuerst beim Arkanes Gewölbe auf den Eintrag Technologie-Baum – Hergestellte Gegenstände und löschen in der darauf folgenden Liste alle Einträge, denn diese Items können nur vom Besitzer des Arkanes Gewölbe gekauft werden. Nun doppelklicken wir auf Technologie-Baum – Verkaufte Gegenstände und fügen wie bei den Fähigkeiten auch alle Gegenstände, die das Arkanes Gewölbe verkaufen soll, nacheinander der Liste hinzu.

Nun zum Goblin-Laden. Er hat beim Wert Technologie-Baum – Hergestellte Gegenstände bereits keine Einträge, da er standardmäßig neutral ist. Wir nehmen nun also den Wert Technologie-Baum – Verkaufte Gegenstände und bearbeiten die Liste, indem wir Gegenstände, die er nicht verkaufen soll, löschen und Gegenstände, die er verkaufen soll, hinzufügen (Ein „Ankh der Reinkarnation“ sollte nicht fehlen).

Bei manchen Gegenständen empfiehlt es sich, deren Preis zu ändern. Wir machen das kurz am Beispiel des „Großen Heiltranks“. Zuerst wechseln wir im Objekt-Editor auf den Reiter „Gegenstände“. Dann suchen wir den „Großen Heiltrank“ und ändern seinen Wert Werte – Goldkosten von 400 in 200. Nun ändern wir noch seinen Wert Werte – Ladungszahl von 1 in 3, damit man ihn dreimal verwenden kann.
Nun stellen wir noch ein, das man unendlich dieser Items kaufen kann, und sie sich im Shop nicht aufbrauchen. Wir suchen also nacheinander unsere gewählten Items im Objekt-Editor und setzen die beiden Eigenschaften Werte – Vorrats-Anfangsverzögerung und Werte – Vorrats-Auffüll-Intervall auf 0.

In die Mitte der Map, wo der große Kampfplatz ist, wollte ich einen Allround-Heilbrunnen stellen, also einen Brunnen, der sowohl Trefferpunkte als auch Mana heilt. Dazu müssen wir den „Brunnen der Gesundheit“ im Objekt-Editor leicht bearbeiten. Wir fügen in der Fähigkeitenliste noch die Fähigkeit „Mana-Regeneration (Neutral)“ hinzu und geben dem Brunnen einen neuen Namen, indem wir die Eigenschaft Text – Name ändern; ich nenne ihn im Beispiel „Brunnen der Wiederherstellung“.

Nun platzieren wir die Gebäude auf der Map. Türme auf die Wege, Brunnen in die Mitte, die anderen Gebäude in die Basen und die Spieler-Startpositionen dahin, wo später einmal die Helden zur Auswahl stehen sollen (bei mir oben links im Wald, wo ich ein paar Bäume entfernt habe).
Nun sehen die einzelnen Plätze so aus:

Die ganze Karte sieht bei mir nun so aus:


zum Anfang


4.2 Helden und Fähigkeiten

Da dies eine allgemeine Beispielmap werden soll, werde ich nur die Standardhelden und Standardfähigkeiten von WarCraft verwenden und sie nur ein wenig modifizieren. In eurer eigenen Map könnt ihr natürlich eure eigenen Helden erstellen und auch eure eigenen Fähigkeiten (vielleicht sogar triggern).
Einige Sachen möchte ich jedoch trotzdem noch erläutern, damit ihr auch in der Lage seid, eure eigenen Helden zu machen. Im Objekt-Editor lässt sich viel ändern und die Namen der Werte sagen auch gut aus, was sie bewirken. Ich möchte aber das Aussehen des Paladins ändern, indem ich ihm ein ein anderes Modell gebe. Das Modell habe ich vorher von www.wc3sear.ch runtergeladen (Link zum Modell).

Nun öffne ich den Import-Manager und importiere mit dem Importieren-Button die zwei heruntergeladenenen Dateien „GnomeBot2.mdx“ und „GnomeBot.blp“. Bei „GnomeBot.blp“ muss noch der Pfad geändert werden; dazu machen wir einen Doppelklick auf den Eintrag „GnomeBot.blp“, dann ein Häkchen bei Eigenen Pfad verwenden und löschen das „war3mapImported\“, sodass nur noch „GnomeBot.blp“ dasteht.


Damit das Modell auch funktioniert, müssen wir unsere Map abspeichern, den Editor schließen, den Editor wieder starten und dann die Map wieder öffnen. Nun öffnen wir wieder den Objekt-Editor und wählen den Paladin an. Nun doppelklicken wir auf den Wert Grafik – Modell-Datei, machen im folgenden Fenster einen Klick auf den Punkt bei Importiert und wählen die Datei „war3mapImported\GnomeBot2.mdx“aus. Wir schließen das Fenster mit einem Klick auf .

Nun trägt der Paladin unser Modell.
Die Fähigkeiten der Helden lasse ich auf dem Standard. Ich will nur kurz erläutern, wie ihr eigene Fähigkeiten triggern könnt. Zuerst erstellt ihr mit dem Objekt-Editor unter dem Reiter Fähigkeiten eine neue eigene Fähigkeit auf der Basis einer Fähigkeit, die eurer am nächsten liegt. Im Auslöser braucht ihr das Ereignis „Einheit – A Unit Beginnt eine Fähigkeit zu wirken“ und die Bedingung „(Ability being cast) Gleich |Eure Fähigkeit|“ (Ability Comparison). Dann könnt ihr in den Aktionen euren Zauber schreiben. Das kann ich hier nicht näher erläutern, aber ich sage noch soviel: Die Zaubernde Einheit ist „Casting unit“ und falls der Zauber ein Ziel braucht ist dieser Punkt „Target Point of Ability being cast“. (In der Beispielmap habe ich für unseren veränderten Paladin einen eigenen Spell gemacht)

Jetzt brauchen wir noch die Irrwische, die die Helden auswählen sollen. Wir gehen also wieder in den Objekt-Editor und suchen den Irrwisch. Erstmal nehmen wir ihm alle seine Fähigkeiten weg; wie das geht, wissen wir ja inzwischen. Dann müssen wir noch verändern, dass der Irrwisch etwas bauen kann und löschen deshalb alles, was in der Liste der Eigenschaft Technologie-Baum – Errichtete Gebäude. Nun benennen wir den Irrwisch mit der Eigenschaft Text – Name in „Heldenwähler“ um.

Jetzt platzieren wir die Helden für Spieler „Neutral Passiv“; sie im Kreis anzuordnen sieht immer ganz nett aus. in die Mitte des Kreises, den die Helden nun bilden, setzen wir 9 von unseren eben veränderten Irrwischen, für Spieler 1, 2, 3, 5, 6, 7, 9, 10 und 11 je einen, mit denen man später den Helden auswählen soll.


zum Anfang


4.3 Spawns

Kommen wir nun zu den Einheiten, die an den Kasernen gespawnt werden und dann zu den Gegnern laufen sollen.

Falls noch nicht geschehen, erstmal den Objekt-Editor öffnen. Ich verwende hier als Spawns die Soldaten und die Bogenschützinnen (nicht die Nachtelfen, sondern die von den Menschen aus der Kategorie „Kampagne“). Wie man Trefferpunkte und Schaden ändert, wisst ihr ja von den Gebäuden. Ich ändere also die Trefferpunkte der Soldaten auf 250 und ihren Basisschaden auf 35. Die Trefferpunkte der Bogenschützinnen ändere ich auf 200 und ihren Basisschaden auf 20.

Nun sollen die Spawns ja auch noch Gold geben, wenn man sie tötet, die sogenannte Beute, die wir nun auch im Objekt Editor einstellen. Jede Einheit soll 50 Beute geben, also ändern wir bei den Soldaten und den Bogenschützinnen folgende Werte: Werte – Gewährte Beute – Basis auf 49, Werte – Gewährte Beute – Seiten pro Würfel auf 1 und Werte – Gewährte Beute – Würfelzahl auf 1.
Mehr machen wir erstmal noch nicht mit den Spawns. Sie werden ja erst im Spiel von Auslösern erstellt.


zum Anfang


4.4 Creeps


Nun platzieren wir ein paar Creeps für „Neutral feindlich“ auf der Map. Ihr könnt euch natürlich eure eigenen machen, aber ich verwende hier mal wieder die Standard-WarCraft-Creeps. Allerdings einigermaßen starke, da man die ja nicht gleich am Anfang wegcreepen soll, sondern erst ein wenig später.
Auf der Minikarte rechts seht ihr, wo ich die Creeplager hingelegt habe.


zum Anfang


5. Die Auslöser

Wir öffnen nun den Auslöser-Editor und löschen erstmal den Auslöser namens „Nahkampf-Initialisierung“, da wir ihn nicht brauchen.

Im folgenden werde ich nun die verschiedenen Auslöser niederschreiben. Zwischen die Aktionen habe ich immer Kommentare eingefügt, damit ihr wisst, was sie bewirken, und ich das nicht alles daneben schreiben muss. Vor dem Auslöser schreibe ich dann immer noch, wozu der ganze Auslöser dient.


zum Anfang


5.1 Initialisierung

Bei einer AoS-Map braucht man nur recht wenig Initialisierungs-Auslöser. Um genau zu sein, nur Zwei. Ein paar andere Auslöser werden zwar auch bei der Initialisierung ausgeführt, gehören aber in andere Kategorien, wie zum Beispiel „Heldenauswahl“ und „Bestenliste“.
Der jetzt folgende kümmert sich darum, dass das Team, das keine Spieler hat oder dessen Spieler nur Computer sind, zu Spielbeginn verloren hat.

XSpielerpruefung
+XEreignisse

XXXZeit – Elapsed game time is 1.00 seconds

XXBedingungen
+XAktionen

XXX——– Überprüfung der Spieler von Team 1: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 1 (Rot) controller) Ungleich Benutzer) or ((Spieler 1 (Rot) slot status) Ungleich Spielt)
XXXXXXX((Spieler 2 (Blau) controller) Ungleich Benutzer) or ((Spieler 2 (Blau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 3 (Blaugrau) controller) Ungleich Benutzer) or ((Spieler 3 (Blaugrau) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 1 (Rot) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 2 (Blau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 3 (Blaugrau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 4 (Lila) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 4 (Lila)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Überprüfung der Spieler von Team 2: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 5 (Gelb) controller) Ungleich Benutzer) or ((Spieler 5 (Gelb) slot status) Ungleich Spielt)
XXXXXXX((Spieler 6 (Orange) controller) Ungleich Benutzer) or ((Spieler 6 (Orange) slot status) Ungleich Spielt)
XXXXXXX((Spieler 7 (Grün) controller) Ungleich Benutzer) or ((Spieler 7 (Grün) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 5 (Gelb) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 6 (Orange) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 7 (Grün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 8 (Rosa) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 8 (Rosa)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Überprüfung der Spieler von Team 3: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXX+XAnd – All (Conditions) are true

XXXX+XBedingungen

XXXXXXX((Spieler 9 (Grau) controller) Ungleich Benutzer) or ((Spieler 9 (Grau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 10 (Hellblau) controller) Ungleich Benutzer) or ((Spieler 10 (Hellblau) slot status) Ungleich Spielt)
XXXXXXX((Spieler 11 (Dunkelgrün) controller) Ungleich Benutzer) or ((Spieler 11 (Dunkelgrün) slot status) Ungleich Spielt)

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 9 (Grau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 10 (Hellblau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 11 (Dunkelgrün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 12 (Braun) with the message: Niederlage!
XXXXX——– Alle Gebäude des Teams zerstören: ——–
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 12 (Braun)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 2 und 3 tot sind, gewinnt Team 1: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0012 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 1 (Rot) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 2 (Blau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 3 (Blaugrau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 4 (Lila) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 1 und 3 tot sind, gewinnt Team 2: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 5 (Gelb) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 6 (Orange) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 7 (Grün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 8 (Rosa) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn Team 1 und 2 tot sind, gewinnt Team 3: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0012 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 9 (Grau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 10 (Hellblau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 11 (Dunkelgrün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 12 (Braun) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

Der Auslöser oben überprüft auch gleich, ob jetzt nur noch ein Team übrig ist. Wenn ja, gewinnt dieses sofort. Die AoS kann man jetzt also nicht mehr im Einzelspieler-Modus, sondern nur noch Multiplayer spielen.

Und nun noch ein kleiner Auslöser, der allgemeine Einstellungen macht:

XEinstellungen
+XEreignisse

XXXMap initialization

XXBedingungen
+XAktionen

XXX——– Einstellen, dass gespawnte Einheiten Beute geben: ——–
XXXSpieler – Turn Gibt Beute Ein for Spieler 4 (Lila)
XXXSpieler – Turn Gibt Beute Ein for Spieler 8 (Rosa)
XXXSpieler – Turn Gibt Beute Ein for Spieler 12 (Braun)
XXX——– Tageszeit auf 8:00 morgens setzen: ——–
XXXSpiel – Set the time of day to 8.00


zum Anfang


5.2 Heldenauswahl

Hierzu müssen wir erst ein Gebiet erstellen. Wechselt dazu im Hauptfenster des Editors (also nicht im Auslöser-Editor) auf die Gebiets-Palette und erstellt ein großes Gebiet um den Platz mit den Helden; dieses Gebiet soll später für alle Spieler sichtbar sein, damit sie auch alle Helden gut sehen können; ich nenne dieses Gebiet mal schlicht „Helden“.

Jetzt kommt der Auslöser, der die Kamera der Spieler am Anfang zu den Helden bewegt:

XHeldenauswahl starten
+XEreignisse

XXXZeit – Elapsed game time is 0.10 seconds

XXBedingungen
+XAktionen

XXX——– Alle Spieler auswählen (picken): ——–
X+XSpielergruppe – Pick every player in (All players) and do (Actions)

XX+XSchleifen – Aktionen

XXXXX——– Gebiet mit den Helden sichtbar machen: ——–
XXXXXSichtbarkeit – Create an initially Aktiviert visibility modifier for (Picked player) emitting Sichtbarkeit across Helden <gen>
XXXXX——– Kamera sofort dorthin bewegen: ——–
XXXXXKamera – Pan camera for (Picked player) to (Center of Helden <gen>) over 0.00 seconds

XXX——– Allen Spielern folgenden Text anzeigen: ——–
XXX——– "Wähle deinen Helden, indem du den Heldenwähler anwählst und dann einen Rechtsklick auf deinen Helden machst. ——–
XXXSpiel – Display to (All players) the text: "Wähle deinen Held…
XXX——– Für jeden Spieler seinen Irrwisch auswählen: ——–
XXXSpielergruppe – Pick every player in (All players) and do (Auswahl – Select (Random unit from (Units owned by (Picked player) of type Heldenwähler)) for (Picked player))

Jetzt müssen wir drei weitere Gebiete erstellen. In der Basis jedes Teams vor dem Schloss und zwischen den Arkaner Türmen kommt ein Gebiet; diese Gebiete nennen wir „Helden1“, „Helden2“ und „Helden3“. In diesen Gebieten wird der in kürze ausgewählte Held erstellt und an ihnen werden die Helden später auch wiederbelebt, wenn sie sterben.

Nach der Erstellung dieser Gebiete machen wir noch einen Auslöser, der aktiviert wird, wenn ein Spieler einen Helden wählt:

XHeldenauswahl
+XEreignisse

XXXEinheit – A unit Erhält einen auf ein Objekt zielenden Befehl

+XBedingungen

XXX(Unit-type of (Ordered unit)) Gleich Heldenwähler
XXX(Helden <gen> contains (Target unit of issued order)) Gleich True
X+XOr – Any (Conditions) are true

XX+XBedingungen

XXXXX(Target unit of issued order) Gleich Paladin 0067 <gen>
XXXXX(Target unit of issued order) Gleich Erzmagier 0068 <gen>
XXXXX(Target unit of issued order) Gleich Bergkönig 0069 <gen>
XXXXX(Target unit of issued order) Gleich Blutmagier 0070 <gen>
XXXXX(Target unit of issued order) Gleich Klingenmeister 0071 <gen>
XXXXX(Target unit of issued order) Gleich Scharfseher 0072 <gen>
XXXXX(Target unit of issued order) Gleich Tauren-Häuptling 0073 <gen>
XXXXX(Target unit of issued order) Gleich Todesritter 0074 <gen>
XXXXX(Target unit of issued order) Gleich Lich 0075 <gen>
XXXXX(Target unit of issued order) Gleich Hüter des Hains 0076 <gen>
XXXXX(Target unit of issued order) Gleich Dämonenjäger 0077 <gen>
XXXXX(Target unit of issued order) Gleich Wächterin 0078 <gen>

+XAktionen

XXX——– Heldenwähler entfernen: ——–
XXXEinheit – Remove (Ordered unit) from the game
XXX——– Wenn der auswählende Spieler in Team 1 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 4 (Lila))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden1 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden1 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn der auswählende Spieler in Team 2 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 8 (Rosa))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden2 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden2 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn der auswählende Spieler in Team 3 ist: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX((Owner of (Ordered unit)) is in (All allies of Spieler 12 (Braun))) Gleich True

XX+X‚THEN‘-Aktionen

XXXXX——– Kamera zur Basis bewegen: ——–
XXXXXKamera – Pan camera for (Owner of (Ordered unit)) to (Center of Helden3 <gen>) over 2.00 seconds
XXXXX——– Helden zur Basis bewegen: ——–
XXXXXEinheit – Move (Target unit of issued order) instantly to (Center of Helden3 <gen>)

XXXX‚ELSE‘-Aktionen

XXX——– Besitzer des gewählten Helden wechseln: ——–
XXXEinheit – Change ownership of (Target unit of issued order) to (Owner of (Ordered unit)) and Farbe wechseln

Natürlich gibt es auch noch andere Verfahren, Helden zu wählen. Eins davon möchte ich hier noch kurz beschreiben. Allerdings nur kurz, ich werde nicht die genauen Auslöser hinschreiben und es kommt auch nicht in der Beispielmap vor:
Bei diesem Verfahren kann man die Helden in einer Taverne anheuern. Bei der Taverne stellt man sie unter Technologie-Baum – Verkaufte Einheiten ein. Dann setzt man für jeden Spieler noch einen unbeweglichen Irrwisch davor, damit dieser auch Helden kaufen kann.

Wenn nun ein Held gekauft wird, reagiert ein Auslöser darauf, der den Helden dann in die Basis des entsprechenden Teams befördert.
Soviel zu diesem Verfahren, ich wollte es noch nebenbei erwähnen und nun weiter im Text.


zum Anfang

5.3 Spawn-Auslöser

Hierfür müssen wir erstmal massenhaft Gebiete erstellen. Zuerst vor jeder Kaserne jedes Teams je ein Gebiet; diese Gebiete benennen wir am besten nach folgendem Schema: „Spawn“+Team+LageDerKaserne, also zum Beispiel „SpawnTeam1Links“ für das Gebiet vor der Linken Kaserne von Team 1. Und jetzt noch ein großes Gebiet um den Kreis in der Mitte, dass dann später die dort eintreffenden Spawns aufteilt; ich nenne es mal „SpawnsMitte“.
Und jetzt den Auslöser, der die Spawns alle 15 Sekunden erstellt:

XSpawnen
+XEreignisse

XXXZeit – Every 15.00 seconds of game time

XXBedingungen
+XAktionen

XXX——– In einer Schleife, da von jedem Einheiten-Typ 3 Stück gespawnt werden sollen ——–
X+XFor each (Integer B) from 1 to 3, do (Actions)

XX+XSchleifen – Aktionen

XXXXX——– Wenn die Kaserne noch lebt: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0048 <gen> is alive) Gleich True
XXXXXXX(Schloss 0012 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXX——– Soldat erstellen: ——–
XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Eben erstelltem Soldaten befehlen, sich zum pinken Schloss zu bewegen und auf dem Weg alles anzugreifen: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)
XXXXXXX——– Bogenschützin erstellen: ——–
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Eben erstelltem Soldaten befehlen, sich zum pinken Schloss zu bewegen und auf dem Weg alles anzugreifen: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXXXX——– Jetzt noch für die anderen Kasernen: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0047 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXX——– Aber diesmal schicken wir ihn in die Mitte: ——–
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0049 <gen> is alive) Gleich True
XXXXXXX(Schloss 0026 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 4 (Lila) at (Center of SpawnTeam1Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 4 (Lila) at (Center of SpawnTeam1Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXXXX——– Und für die anderen Teams: ——–
XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0021 <gen> is alive) Gleich True
XXXXXXX(Schloss 0046 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0019 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0020 <gen> is alive) Gleich True
XXXXXXX(Schloss 0026 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 8 (Rosa) at (Center of SpawnTeam2Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 8 (Rosa) at (Center of SpawnTeam2Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0029 <gen> is alive) Gleich True
XXXXXXX(Schloss 0012 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Links <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0027 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Center of SpawnsMitte <gen>)

XXXXXX‚ELSE‘-Aktionen

XXX+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XXXX+X‚IF‘-Bedingungen

XXXXXXX(Kaserne 0028 <gen> is alive) Gleich True
XXXXXXX(Schloss 0046 <gen> is alive) Gleich True

XXXX+X‚THEN‘-Aktionen

XXXXXXXEinheit – Create 1 Soldat for Spieler 12 (Braun) at (Center of SpawnTeam3Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)
XXXXXXXEinheit – Create 1 Bogenschützin for Spieler 12 (Braun) at (Center of SpawnTeam3Rechts <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees
XXXXXXXEinheit – Order (Last created unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)

XXXXXX‚ELSE‘-Aktionen

Dann brauchen wir noch einen Auslöser, der die in der Mitte ankommenden Einheiten aufteilt:

XMitteAufteilen
+XEreignisse

XXXEinheit – A unit enters SpawnsMitte <gen>

XXBedingungen
+XAktionen

XXX——– Wenn die betretende Einheit in Team 1 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 4 (Lila)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>))) else do (Do nothing)
XXX——– (Oben wurde eine Zufallszahl errechnet. Wenn sie den Wert 1 hat, wird die Einheit zu Team 2 geschickt, hat sie den Wert 2, wird die Einheit zu Team 3 geschickt.) ——–
XXX——– Wenn die betretende Einheit in Team 2 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 8 (Rosa)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0026 <gen>))) else do (Do nothing)
XXX——– Wenn die betretende Einheit in Team 3 ist: ——–
XXXIf ((Owner of (Entering unit)) Gleich Spieler 12 (Braun)) then do (If ((Random integer number between 1 and 2) Gleich 1) then do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0046 <gen>)) else do (Einheit – Order (Entering unit) to Angreifen/Bewegen nach (Position of Schloss 0012 <gen>))) else do (Do nothing)


zum Anfang


5.4 Bestenliste

Zu einer AoS-Map gehört auch eine Bestenliste, die anzeigt, wieviel feindliche Einheiten jeder Spieler getötet hat.
Der erste Auslöser erstellt die Bestenliste:

XBestenliste erstellen
+XEreignisse

XXXZeit – Elapsed game time is 2.00 seconds

XXBedingungen
+XAktionen

XXX——– Bestenliste mit dem Titel "Kills" erstellen: ——–
XXXBestenliste – Create a leaderboard for (All players) titled Kills
XXX——– Wenn es Spieler 1 gibt, wird er zur Bestenliste hinzugefügt: ——–
XXXIf ((Spieler 1 (Rot) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 1 (Rot) to (Last created leaderboard) with label (Name of Spieler 1 (Rot)) and value 0) else do (Do nothing)
XXX——– Dasselbe noch mit den anderen Spielern: ——–
XXXIf ((Spieler 2 (Blau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 2 (Blau) to (Last created leaderboard) with label (Name of Spieler 2 (Blau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 3 (Blaugrau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 3 (Blaugrau) to (Last created leaderboard) with label (Name of Spieler 3 (Blaugrau)) and value 0) else do (Do nothing)
XXX——– (Die Computerspieler wie z.B. Spieler 4 werden natürlich ausgelassen) ——–
XXXIf ((Spieler 5 (Gelb) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 5 (Gelb) to (Last created leaderboard) with label (Name of Spieler 5 (Gelb)) and value 0) else do (Do nothing)
XXXIf ((Spieler 6 (Orange) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 6 (Orange) to (Last created leaderboard) with label (Name of Spieler 6 (Orange)) and value 0) else do (Do nothing)
XXXIf ((Spieler 7 (Grün) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 7 (Grün) to (Last created leaderboard) with label (Name of Spieler 7 (Grün)) and value 0) else do (Do nothing)
XXXIf ((Spieler 9 (Grau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 9 (Grau) to (Last created leaderboard) with label (Name of Spieler 9 (Grau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 10 (Hellblau) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 10 (Hellblau) to (Last created leaderboard) with label (Name of Spieler 10 (Hellblau)) and value 0) else do (Do nothing)
XXXIf ((Spieler 11 (Dunkelgrün) slot status) Gleich Spielt) then do (Bestenliste – Add Spieler 11 (Dunkelgrün) to (Last created leaderboard) with label (Name of Spieler 11 (Dunkelgrün)) and value 0) else do (Do nothing)


Jetzt müssen wir erstmal eine Variable erstellen. Dazu öffnen wir nun vom Auslöser-Editor aus das Variablen-Menü und erstellen dort eine neue Variable.

Diese Variable nennen wir Kills. In ihr sollen die Kills der Spieler für die Bestenliste gespeichert werden. Also wird es eine Integer-Array-Variable mit der Array-Größe 12. Den Startwert lassen wir auf 0.

Der zweite Auslöser aktualisiert die Bestenliste immer, wenn ein Spieler eine Einheit tötet:

XBestenliste aktualisieren
+XEreignisse

XXXEinheit – A unit Stirbt

+XBedingungen

XXX(Owner of (Killing unit)) Ungleich Spieler 4 (Lila)
XXX(Owner of (Killing unit)) Ungleich Spieler 8 (Rosa)
XXX(Owner of (Killing unit)) Ungleich Spieler 12 (Braun)

+XAktionen

XXX——– Die "Kills"-Variable für den tötenden Spieler um 1 erhöhen: ——–
XXXSet Kills[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] + 1)
XXX——– Wert dieses Spielers in der Bestenliste aktualisieren: ——–
XXXBestenliste – Change the value for (Owner of (Killing unit)) in (Last created leaderboard) to Kills[(Player number of (Owner of (Killing unit)))]
XXX——– Bestenliste sortieren: ——–
XXXBestenliste – Sort (Last created leaderboard) by Wert in Absteigend order


zum Anfang

5.5 Sieg/Niederlage

Nun machen wir den Auslöser, der aktiviert wird, wenn eines der Schlösser zerstört wird, und das betreffende Team verlieren lässt. Wenn zwei zerstört sind, gewinnt das übrig bleibende Team:

XSieg und Niederlage
+XEreignisse

XXXEinheit – Schloss 0046 <gen> Stirbt
XXXEinheit – Schloss 0012 <gen> Stirbt
XXXEinheit – Schloss 0026 <gen> Stirbt

XXBedingungen
+XAktionen

XXX——– Wenn das Schloss von Team 1 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0046 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 1 (Rot) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 2 (Blau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 3 (Blaugrau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 4 (Lila) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 4 (Lila)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn das Schloss von Team 2 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0012 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 5 (Gelb) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 6 (Orange) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 7 (Grün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 8 (Rosa) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 8 (Rosa)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn das Schloss von Team 3 stirbt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Dying unit) Gleich Schloss 0026 <gen>

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Defeat Spieler 9 (Grau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 10 (Hellblau) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 11 (Dunkelgrün) with the message: Niederlage!
XXXXXSpiel – Defeat Spieler 12 (Braun) with the message: Niederlage!
XXXXXEinheitengruppe – Pick every unit in (Units owned by Spieler 12 (Braun)) and do (Einheit – Explode (Picked unit))

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 1 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0012 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 1 (Rot) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 2 (Blau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 3 (Blaugrau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 4 (Lila) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 2 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0026 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 5 (Gelb) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 6 (Orange) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 7 (Grün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 8 (Rosa) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen

XXX——– Wenn nur Team 3 übrig bleibt: ——–
X+XIf (All Conditions are True) then do (Then Actions) else do (Else Actions)

XX+X‚IF‘-Bedingungen

XXXXX(Schloss 0046 <gen> is dead) Gleich True
XXXXX(Schloss 0012 <gen> is dead) Gleich True

XX+X‚THEN‘-Aktionen

XXXXXSpiel – Victory Spieler 9 (Grau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 10 (Hellblau) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 11 (Dunkelgrün) (Zeigen dialogs, Zeigen scores)
XXXXXSpiel – Victory Spieler 12 (Braun) (Zeigen dialogs, Zeigen scores)

XXXX‚ELSE‘-Aktionen


zum Anfang


5.6 Sonstige Auslöser

Nun ja, sonstige Auslöser gibt es eigentlich nur einen. Und zwar, dass Helden, nachdem sie gestorben sind, wiederbelebt werden. Im Beispiel handhabe ich es so, dass das Wiederbeleben solange dauert wie Levelx5; also wenn der Held auf Stufe 4 ist, dauert es 20 Sekunden bis er wiederbelebt wird:

XWiederbeleben
+XEreignisse

XXXEinheit – A unit Stirbt

+XBedingungen

XXX((Dying unit) is Ein Held) Gleich True

+XAktionen

XXX——– Dem Spieler folgende Nachricht anzeigen: ——–
XXX——– "Dein Held wird in <Level x 5> Sekunden weiderbelebt." ——–
XXXSpiel – Display to (Player group((Owner of (Dying unit)))) the text: (Dein Held wird in + ((String(((Level of (Dying unit)) x 5))) + Sekunden wiederbelebt.))
XXX——– <Level x 5> Sekunden lang warten: ——–
XXXWait ((Real((Level of (Dying unit)))) x 5.00) seconds
XXX——– Wenn Held in Team 1 ist, bei Team 1 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 4 (Lila))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden1 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Wenn Held in Team 2 ist, bei Team 2 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 8 (Rosa))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden2 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Wenn Held in Team 3 ist, bei Team 3 wiederbeleben: ——–
XXXIf (((Owner of (Dying unit)) is in (All allies of Spieler 12 (Braun))) Gleich True) then do (Held – Instantly revive (Dying unit) at (Center of Helden3 <gen>), Zeigen revival graphics) else do (Do nothing)
XXX——– Kamera des Spielers zum Helden bewegen; ——–
XXXKamera – Pan camera for (Owner of (Dying unit)) to (Position of (Dying unit)) over 2.00 seconds


zum Anfang


6. Der letzte Schliff


Jetzt haben wir es fast geschafft. Den Auslöser-Editor können wir jetzt erstmal schließen.

Wir öffnen nun mit einem Klick auf Szenario –> Kartenbeschreibung die Szenario-Einstellungen. Nun könnt ihr euch für eure Map einen Namen und eine Kurzbeschreibung aussuchen. Außerdem könnt ihr angeben, für wieviele Spieler in welchen Kombinationen sie ist (also zum Beispiel 3vs3vs3), und euren Namen bei Autor reinschreiben.

Die Reiter Optionen und Kartengröße und Kameragrenzen lassen wir aus und wechseln gleich zu Lade-Bildschirm.

Nun könnt ihr entweder beim normalen Vorgabe-Bildschirm bleiben oder euch einen Kampagnen-Bildschirm einstellen, den ihr dann mit Text versehen könnt.

Nun schließen wir die Szenario-Einstellungen mit einem Klick auf .

Nun öffnen wir mit einem Klick auf Erweitert –> Gameplay-Konstanten die Gameplay-Konstanten und machen dort ein Häkchen bei Eigene Gameplay-Konstanten verwenden. Nun suchen wir dort den Eintrag Helden – Maximal-Stufe und setzen sie auf 50, damit unsere Helden bis Stufe 50 aufsteigen können.

Da wir ja auch ein paar Creeps auf der Map haben und ein Held durch Creeping normalerweise nur bis Stufe 5 aufsteigen kann, suchen wir nun noch den Eintrag Gewonnene Helden-EP – Unhold-Reduzierung-Tabelle und öffnen die Liste mit einem Doppelklick darauf. Nun löschen wir dort den letzten Wert 0.
Jetzt schließen wir die Gameplay-Konstanten mit einem Klick auf .

zum Anfang


7. Schlusswort

So, jetzt ist eure Grundlagen-AoS fertig.
Ich hoffe, ihr habt es einigermaßen verstanden und hinbekommen.

Solltet ihr dennoch Fragen oder Probleme haben, wendet euch an mich.
Und wie gesagt, vielleicht mach ich noch ein Tutorial mit erweiterten AoS-Funktionen.
Viel Spaß noch beim Mappen!

Download der Beispielmap

zum Anfang

Bjoerni

WC.de TD - Trigger WC.de TD - Einheiten