Tutorial:Hero-Survival-Map
Inhaltsverzeichnis |
Vorwort
Dieses Tutorial benötigt keine Vorkenntnisse und versucht die Grundlagen des mapping am Beispiel einer Hero-Survival map zu erklären. Das Ergebnis des Tutorials wird eine kleine map sein, in der man sich zu Beginn einen Helden auswählt und dann in einer Arena gegen Computergesteuerte Gegner kämpft. Ziel der map ist es möglichst lang zu überleben. Wenn es Fragen zum Tutorial gibt, dann stellt diese bitte auf der Diskussionsseite dieses Artikels.
Kapitel 1 - Erstellen der Karte
Starten des Welteditors
Im Warcraft-Verzeichniss befindet sich ein Programm mit dem Namen World Editor.exe, welches du bitte startest.
Neue Karte erstellen
Um eine neue Karte zu erstellen gehst du auf Datei->Neue Karte .... Es öffnet sich ein Dialog mit dem Titel Neue Karte erzeugen. Im ersten Punkt wird die Kartengröße eingestellt, wähle hier 128 für Breite und 64 für Höhe. Als Grafikset nehmen wir Ashenvale, die Start-Klippenstufe behalten wir bei 2. Bei Start-Wasserspiegel wählen wir den mittlern Knopf (flaches Wasser). Unten links wählen wir noch die Textur, mit der die Karte zu Beginn bedeckt sein wird. Hier nehmen wir Gras (1. Reihe, 3.Knopf) . Nachdem alle Einstellungen gemacht worden sind wird die Karte mit einem Click auf Ok erstellt.
speichern
So, jetzt solltet ihr eine Überflutete Ebene sehen. Das wird sich gleich ändern, aber zuerst wird die Karte gespeichert (Datei->Karte speichern unter). Es erscheint eine Warnung, weil wir noch keine Startpositionen für die Spieler festgelegt haben - einfach mit Ja wegclicken. Auch die Anderen Warnungen könne wir ignorieren. Nun öffnet sich der Speichern unter- Dialog, den ja jeder kennen sollte. Speicher deine maps immer unter einem aussgakräftigem Namen (nicht map1.w3x). Es ist auch empfehlenswert für jedes Projekt einen neuen Ordner anzulegen und den Dateinamen mit einer Versionsnummer zu versehen. Um Frust bei Fehlern oder Abstürzen zu vermeiden sollte man oft speichern und bei jeder großen Änderung unter einem anderm Namen speichern, da es bei einem Absturz passieren kann, dass eine map zerstört wird.
Kapitel 2 - Lanschaftsgestaltung
Kamera-Steuerung
Um die Karte bearbeiten zu können muss man zuerst wissen, wie die Kamera bewegt wird.
- Kamera bewegen
- rechte Maustaste grdrückt halten und Maus bewegen
- Pfeiltasten
- Zoomen
- am Mausrad drehen
- Shift + rechte Maustaste gedrückt halten und Maus bewegen
- Strg gedrückt halten und die Pfeiltasten hoch/runter benutzen
- Kamera drehen
- Strg + rechte Maustaste gedrückt halten und Maus bewegen
- Strg gedrückt halten und die Pfeiltasten rechts/links benutzen
- Sichtweite verändern
- Strg gedrückt halten und am Mausrad drehen
Probiert alle Methoden einmal aus um ein Gefühl für die Steuerungzu bekommen. Es ist auch möglich sich mit Hilfe der Minimap(oben links) zu bewegen. Dies funktioniert wie in Warcraft.
Terrain editiern
Für die folgenden Schritte braucht ihr die Werkzeug-Palette. Wenn diese sich nicht im Bild befindet, dann könnt ihr sie unter Fenster->neue Palette->Gelände anzeigen.
In der Werkzeug-Palette befindet sich ganz oben eine Auswahl an Paletten. Da wir das Gelände bearbeiten wollen wählen wir hier Gelände-Palette. Die Gelände-Palette bietet 3 Werkzeuge:
- Textur übernehmen
- Klippe übernehmen
- Höhe übernehmen
Außerdem gibt es noch eine Auswahl von 5 verschiedenen Pinselgrößen und 2 verschiedenen Formen.
Wir wollen zuerst ein bisschen Land aus dem Wasser heben, damit unsere Helden später nicht im Wasser stehen müssen. Dazu wählen wir unter Höhe übernehmen den Knopf (Erhöhen). Als Pinselgröße wählen wir 8 (5. Knopf) und als Form nehmen wir den Kreis.
Wir werden nun 2 Inseln aus dem Wasser heben - eine Insel zum auswählen der Helden und eine andere zum Kämpfen. Zuerst erstellen wir die Insel zum Auswählen der Helden, und zwar auf der rechten Seite der Karte. Um Land anzuheben muss man jetzt einfach mit der linken Maustaste auf den Boden clicken und der markierte Bereich wird angehoben. Dies wiederholen wir solange, bis wir eine schöne Insel haben.

Tipp: durch mehrfaches Drücken von g kann man das Gitternetzt ausschalten.
Das ganze wiederholen wir noch einmal für die 2. Insel.
Damit man die Inseln nicht verlassen kann benutzen wir das Verringern-Werkzeug aus der Gelände-Palette um das Land um die Inseln so weit abzusenken, bis es unpassierbar ist (das Wasser wird dunkel).
Das ganze sollte nun so aussehen:

Doodads erstellen
Da das ganze jetzt noch ziemlich leer aussieht, wählen wir nun die Doodad-Palette aus (Auswahlliste in der Werzeugpalette oder im Menu unter Fenster->Neue Palette->Doodads). Ein Doodad ist ein unbewegbares Objekt in der Welt, dass niemanden gehört.
Die Doodad Palette sieht etwas anders aus, als die Gelände-Palette. Ganz oben befinden sich 2 Auswahl-Felder. Das erste gibt das Grafikset an, das zweite die Kategorie. Da wir zuerst ein par Ashenvale-Bäume pflanzen wollen wählen wir als Grafikset Ashenvale und als Kategorie Bäume/Zerstörbare Objekte und wählen aus der untern Liste Ashenvale als Doodad-Typ aus. Die Pinselgröße sollte auf 1 gestellt sein. Nun können wir mit einem Click auf den Boden Bäume pflanzen (um viele Objekte zu erstellen kann man die Maustaste gedrückt halten, oder die Pinselgröße verändern). Auf der linken Seite sollten es nicht zu viele Bäume sein, damit man noch Platz hat sich zu bewegen. Die linke Insle sollte dann in etwa so aussehen:

Um die Insel weiter zu verschönern wechseln wir jetzt die Doodad-Kategorie von Bäume/Zerstörbare Objekte zu Umgebung uns setzen ein par Pilze und Sträucher, Felsen und Blumen. Als Vorbild kann man oft die Natur nehmen - zum Beispiel wachsen Pillze meistens im Wald oder am Waldrand. Andere Vorbilder sind natürlich auch maps, die einem gut gefallen.
Beim Gestalten der Umgebung ist es wichtig viel auszuprobieren, bis man ein schönes Ergebnis gefunden hat. An dieser Stelle möchte ich noch einmal daran erinnern, dass man mit der Leertaste in den Auswahl-Modus wechseln kann um Doodads zu löschen oder zu verschieben. Außerdem sollte man wissen, dass man mit Strg + Z die letzte Änderung rückgängig machen kann.
Um besser einschätzen zu können, wie das Ergebnis später im Spiel aussieht, sollte man auch von Zeit zu Zeit mit der Taste V in die Spielansicht wechseln und mit der Taste C die Kamera auf die Spielkamera umstellen.
Feineinstellungen: Mit der Leertaste gelangt man in den Auswahl-Modus( Man kann Doodads anwählen und löschen , verschieben oder kopieren. Herfür kann man die bekannten Shortcuts benutzen (Strg + X = Ausschneiden, Strg + C = Kopieren, Strg + V = Einfügen, Entf = löschen) oder die Doodads mit gedrückter linker Maustast verschieben). Hat man ein oder mehrere Doodads ausgewählt, kann man sie mit bei gedrückter Strg-Taste drehen (Mausclick in die gewünschte Drehrichtung). Mit einem Doppelclick auf ein Doodad öffnet man einen Dialog, in dem man Größe und Variation einstellen kann. Wenn man Strg gedrückt hält und dabei Bild hoch bzw. Bild runter drückt kann man die Flug-Höhe des ausgewählten Doodads verändern. Mit Bild hoch und runter (ohne Strg) kann man bei manchen Doodads die Höhe ändern, mit Pos1 und Ende ihre Breite.
Nach dem Setzen der Doodads sieht die rechte Insel bei mir so aus:

Mit der anderen Insel kann man genau so verfahren. Bei mir sieht die rechte Insel dann so aus:

Tipp: Wenn man Objekte dicht zusammen platzieren will muss man gleichzeitig die Shift Taste gedrückt halten. So kann man zum Beispiel Felsen in dichten Wald setzen.
Texturen
Bis jetzt ist die gesamte Karte mit der Textur Gras bedeckt, doch das wird sich gleich ändern. Hierzu wählen wir wieder die Gelände-Palette und wählen dort unter Textur übernehmen die Textur Grasbewachsene Erde (2.Reihe, 3.Knopf). Die Pinselgröße sollte 1 oder 2 sein. Jetzt können wir mit dieser Textur malen. Das gleiche macht man auch noch mit anderen Texturen. Auch hier sollte man ausprobieren, welche Texturen wo am besten aussehen. Die Texturen sollten zu den gesetzten Doodads passen (z.B.: Fels-Textur unter den Felsen). Außerdem sollte man darauf achten, welche Texturen nebeneinander gut aussehen (negativ Beispiel: Buschiges Gras auf rauer Erde).
Die linke Insel sieht bei mir nun so aus (mit v in die Spielansicht gewechselt):

Die rechte Insel habe ich schon für das auswählen der Helden vorbereitet:

Kapitel 3 - Voreinstellungen
Spielereigenschaften
Bis jetzt ist unsere Karte nur für einen Spieler geeignet. Um das zu ändern öffnen wir die Spielereigenschaften (Szenario->Spieler-Eigenschaften ...). Nun stellen wir bei Spieler 1 bis 8 die Steuerung auf Benutzer und bei Spieler 9 auf Computer. Nun können wir auf den Tab Streitmächte wechseln. Hier werden die Streitkräfte (Teams) eingestellt. Dort aktivieren wir die Häkchen bei Eigene Streitmächte verwenden (dadurch werden die Teams schon von der map vorgegeben) und bei Festgelegte Spieler-Eigenschaften(die Einstellungen von der Seite Benutzer werden festgelegt, es kann also niemand Spieler9 nehmen, weil wir dort nicht Benutzer sondern Computer eingestellt haben, auch die Rassen kann man nicht mehr wechseln, es sei denn sie wurden auf auswählbar eingestellt). Nun erstellen wir eine neue Streitmacht mit einem Click auf Streitmacht hinzufügen und verschieben Spieler 9 in diese Streitmacht (einfach den Spieler mit gedrückter Maustaste den Spieler nach unten verschieben). Man kann den Streitmächten auch noch Namen geben, indem man sie auswählt und den Knopf Streitmacht umbenennen drückt. Streitmacht1 benennen wir um in Helden und Streitmacht2 in Creeps. Jetzt müssen wir noch einstellen, das alle Spieler zusammen kämpfen, indem wir in der Tabelle in der Zeile der Streitmacht Helden das Häkchen unter Verbündet markieren.
Hier ist nochmal ein Kontrollbild:

Das Fenster kann nun mit Ok geschlossen werden.
Startpositionen setzen
Um die Startpositionen zu setzen brauchen wir die Einheiten-Palette. Diese wird gleich noch mal genau erklärt. Jetzt wählen wir einfach nur unter der Rubrik Gebäude das letzte Gebäude aus ( der einzige Button ohne Einheit als Symbol , Startposition) und platzieren diese an der Stelle, an der die Spieler starten sollen ( auf der rechten Insel, wo später die Helden ausgewählt werden). Das rote Kreuz auf der Minimap sollte jetzt ebenfalls an dieser Stelle sein. Nun wählen wir im oberen Auswahlfeld Spieler 2 aus und platzieren seine Startposition an der gleichen Stelle. Das gleiche machen wir für alle Spieler. Die Startposition von Spieler9 kann an eine beliebige Stelle gesetzt werden, da sie für uns keine Bedeutung hat. Wenn man eine Startposition falsch gesetzt hat kann man einfach eine neue setzen, die alte wird dann automatisch entfernt.
Kapitel 4 - Einheiten (Teil 1)
Einheiten auf die Karte setzen
Wir benutzen wieder die Einheiten-Palette und wählen Spieler10 aus. Die 2 Felder darunter sind für die Auswahl der Rasse und die Kategorie. In der Kategorie Nahkampf befinden sich alle Einheiten, die es in einem normalen Ladder-Spiel gibt, unter Kampagne findet man die Einheiten aus der Kampagner und unter Eigene befinden sich die selbst erstellten Einheiten. Wir nehmen Mensch und Kampagne und erstellen eine Heldin Jaina auf der rechten Insel:

Einheiten können genau wie Doodads gedreht werden (Leertaste, auswählen, Strg gedrückt halten, clicken). Mit einem Doppelclick öffnet man einen Dialog, in dem man bestimmte Voreistellungen festlegen kann.
Eigene Einheiten erstellen
Tipp: Um die Geschwindigkeit während des folgenden Teils zu erhöhen sollte unter dem Menüpunkt Fenster die Pinsel-Liste ausgeschaltet werden. Die Pinselliste wird normalerweise unten links angezeigt und ist eine Übersicht in der man alles auswählen kann, was man in die Welt setzen kann. Da dies auch mit der Werkzeugpalette geht kann man auf die Pinsel-Liste verzichten. Wenn man diesen Tipp nicht befolgt wird man deutlich den Geschwindigkeitsnachteil spüren, da die Pinsel-Liste bei einzelnen Änderungen komplett neu geladen wird.
Um eigene Einheiten zu erstellen benötigt man den Objekt-Editor, den man über Modul->Objekt-Editor öffnen kann. Dadrin gibt es ein Tab Einheiten (das erste). Nun sollte man ein Fenster haben, das ungefär so aussieht:

Zuerst erstellen wir uns eine Einheit, mit der man später seinen Helden auswählen kann. Um eine neue Einheit zu erstellen öffnet man den Menüpunkt Datei->Neue eigene Einheit .... Es erschein ein Dialog. In das oberste Feld geben wir den Namen der Einheit ein, wir nenne sie einfach "Wähle einen Helden". Im unteren Teil des Dialogs wählen wir die Grundeinheit aus - wir hier einfach mal einen Ritter. Mit Ok erstellen wir nun unsere erste eigene Einheit. Es müssen aber noch einige Einstellungen geändert werden. Dazu wählen wir unsere Einheit im Objekt-Editor links aus der Übersicht aus. Im rechten Teil werden nun die dazugehörigen Eigenschaften angezeigt.
Als erstes verpassen wir unserer Einheit ein neues Aussehen. Das Aussehen wird über das Feld Grafik - Modell-Datei bestimmt. Der aktuelle Wert dieses Feldes ist Ritter. Wenn wir das Feld gefunden haben (Tipp: Strg + F öffnet die Suchfunktion; man muss darauf achten, dass man in dem Teil, den man durchsuchen möchte einen Eintrag markiert hat) öffnen wir es mit einem Doppelclick. Es erscheint ein Dialog. Im ersten Auswahlfeld wählen wir die Kategorie Zauberverstärker und im zweiten Auswahlfeld das Modell Manaschild. Dies ist zwar normalerweise kein Einheitenmodell, sondern ein Modell für einen Zauberverstärker(deshalb steht hinter Manaschild auch <Ziel>) , es kann aber trotzdem für Einheiten verwendet werden. "Echte" Einheitenmodelle findet man in der Kategorie Einheiten.
Anschließend bestätigen wir mit Ok. Nach dem gleichen Prinzip kann man auch die anderen Felder editieren. Als nächstes machen wir die Einheit unverwundbar, in dem wir ihr die entsprechende Fähigkeit geben. Dazu Doppelclicken wir auf das Feld Fähigkeiten - Normal. Wie man sehen kann hat die Einheit schon die Fähigkeit Einheiten-Inventar (Menschen). Dise Fähigkeit kann gelöscht werden, da unsere Einheit kein Inventar braucht. Um die Einheit nun unverwundbar zu machen clickt man auf Fähigkeit hinzufügen und wählt dort die Fähigkeit Unverwundbar (Neutral) aus. Außerdem ändern wir zur Übung noch folgende Felder:
- Kampf - Angriffe aktiviert auf Nichts setzen => Einheit kann nicht mehr Angreifen
- Verlauf - Kollisionsgröße auf 0 => Die Helden-Auswahl-Einheiten blocken sich nicht mehr so stark
- Bewegung - Typ auf Fliegen => Die Helden-Auswahl-Einheiten fliegen und blocken sich dadurch gar nicht mehr
- Bewegung - Höhe auf 150 => Die Flughöhe der Einheit wird erhöht, damit das Manaschild nicht im Boden hängt
- Bewegung - Minimale Höhe auf 150 => Die Flughöhe der Einheit wird erhöht, damit das Manaschild nicht im Boden hängt
- Sound - Einheiten-Soundset auf Zombie => Der Sound der Einheit wird verändert
- Grafik - Schattenbild(Einheit) auf Nichts => der Schatten der Einheit wird nicht mehr angezeigt
- Grafik - Maximaler Fahrt-Winkel auf 0 => die Einheit kippt nicht nach vorne oder hinten
- Grafik - Maximaler Schwenk-Winkel auf -180 (Feld mit Shift + Doppelclick öffnen um negative Werte zu erlauben) => Die Einheit wird auf den Kopf gestellt
Der Objekt-Editor kann jetzt geschlossen oder minimiert werden, man muss die erstellte Einheit nicht noch einmal extra speichern. Sie kann nun mit der Einheiten-Palette (Auswahlfeld in der Werkzeugpalette oder im Menu unter Fenster->Neue Palette->Einheiten) die erstellte Einheit auf der Karte platzieren. Man findet sie unter der Rasse Mensch und der Kategorie Eigene. Sie besitzt immer noch das Symbol des Ritters. Wir könnten nun einfach für jeden Spieler eine solche Einheit auf die Karte setzen, wir werden die Einheit jedoch mit einem Auslöser erstellen.
Kapitel 5 - Auslöser (Teil 1)
Was sind Auslöser?
Auslöser (englisch Trigger) bestehen aus Ereignissen, Bedingungen und Aktionen und steuern so, was auf der map passiert. Die Aktionen eines Auslösers werden ausgeführt, wenn eines seiner Ereignisse eintritt und alle Bedingungen erfüllt sind.
Es ist wichtig, dass ihr jetzt alles genau so macht, wie es hier steht, da die Auslöser ansonsten wahrscheinlich nicht funktionieren! Sobald alles funktioniert könnt ihr mit den Auslösern rumspielen und sie und euren eigenen Vorstellungen anpassen.
Der Start-Auslöser
Zu erst öffnen wir den Auslöser-Editor über Modul->Auslöser-Editor. Dort gibt es schon einen Auslöser mit dem Namen "Nahkampf-Initialisierung":
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Nahkampf-Spiel - Use melee time of day (for all players)

Nahkampf-Spiel - Limit Heroes to 1 per Hero-type (for all players)

Nahkampf-Spiel - Give trained Heroes a Scroll of Town Portal (for all players)

Nahkampf-Spiel - Set starting resources (for all players)

Nahkampf-Spiel - Remove creeps and critters from used start locations (for all players)

Nahkampf-Spiel - Create starting units (for all players)

Nahkampf-Spiel - Run melee AI scripts (for computer players)

Nahkampf-Spiel - Enforce victory/defeat conditions (for all players)Dieser Trigger dient dazu eine normales Spiel (Nahkampf-Spiel) zu starten. Da das hier aber eine Fun-map wird können wir alle Aktionen des Triggers löschen, in dem wir sie markieren und Entf drücken. Das Ereignis kann stehen gelassen werden. Das Ereignis Map initialization bedeutet, dass die Aktionen in diesem Trigger vor dem Starten der map ausgelöst werden.
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
AktionenWir wollen beim Starten der map für jeden Spieler eine Einheit erstellen, mit der er seinen Helden auswählen kann. Dazu brauchen wir eine Aktion, die wir über das Menü Neu->Aktion ... erstellen. Es öffnet sich ein Dialog mit 2 Auswahlfeldern. Im ersten Feld wählen wir die Kategorie Einheit, da wir eine Einheit erstellen wollen. Im zweiten Feld wählen wir die Aktion Create Units Facing Angle. Im unteren Bereich des Dialogs wird die Aktion genau angezeigt, wobei die Blau markierten Bereiche Parameter sind. Wenn man auf einen solchen Bereich clickt kann man die Funktionsweise einer Aktion bestimmen. Zuerst ändern wir die Art der erstellten Einheit, indem wir auf Soldat clicken und in dem darauf hin aufklappenden Dialog unsere vorhin erstellte Einheit auswählen (befindet sich nich in der Kategorie Nahkampf sondern in Eigene). Nun müssen wir noch die Stelle bestimmen, an der die Einheit erstellt wird. Dies ist zur Zeit noch (Center of (Playable map area)). Da wir das ändern wollen clicken wir darauf und wählen statt Center of Region den Ort Spieler - Player Start Location. Jetzt noch 2mal Ok drücken und dann sollte das ganze so aussehen:
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Einheit - Create 1 Wähle einen Helden for Spieler 1 (Rot) at (Spieler 1 (Rot) start location) facing Vorgabe für Gebäude-Ausrichtung degreesWenn wir dies nun für alle 8 Spieler wiederholen würden würde das so aussehen:
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Einheit - Create 1 Wähle einen Helden for Spieler 1 (Rot) at (Spieler 1 (Rot) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 2 (Blau) at (Spieler 2 (Blau) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 3 (Blaugrau) at (Spieler 3 (Blaugrau) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 4 (Lila) at (Spieler 4 (Lila) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 5 (Gelb) at (Spieler 5 (Gelb) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 6 (Orange) at (Spieler 6 (Orange) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 7 (Grün) at (Spieler 7 (Grün) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Einheit - Create 1 Wähle einen Helden for Spieler 8 (Rosa) at (Spieler 8 (Rosa) start location) facing Vorgabe für Gebäude-Ausrichtung degreesWenn sich etwas oft wiederholt gibt es meistens eine einfachere Möglichkeit: Schleifen. Mit einer Schleife kann man eine Aktion mehrfach wiederholen. Eine Schleife wird genau so erstellt, wie jede andere Aktion auch (Neu->Aktion ...). Da wir unsere Starteinheit für eine Gruppe von Spielern erstellen wollen heisst die Kategorie der Aktion Spielergruppe und die Aktion heisst Pick every Player in Player Group And Do Multiple Actions. Den Parameter (All player) ändern wir in Allies Of Player -> All allies of Spieler 1(Rot). Der Auslöser sollte nun so aussehen:
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Einheit - Create 1 Wähle einen Helden for Spieler 1 (Rot) at (Spieler 1 (Rot) start location) facing Vorgabe für Gebäude-Ausrichtung degrees

Spielergruppe - Pick every player in (All allies of Spieler 1 (Rot)) and do (Actions)


Schleifen - AktionenJetzt markieren wir die erste Aktion und verschieben sie in die Schleife:
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Spielergruppe - Pick every player in (All allies of Spieler 1 (Rot)) and do (Actions)


Schleifen - Aktionen



Einheit - Create 1 Wähle einen Helden for Spieler 1 (Rot) at (Spieler 1 (Rot) start location) facing Vorgabe für Gebäude-Ausrichtung degreesDer aktuelle Auslöser würde pro Spieler eine Einheit für Rot erstellen. Das wollen wir ändern. Wir ersetzen Spieler 1(Rot) in der Schleife durch Picked Player. Dies bezieht sich dann immer auf den Spieler der gerade von der Schleife ausgewählt wurde. Der Trigger sollte dann so aussehen:
Nahkampf-Initialisierung
Ereignisse

Map initialization
Bedingungen
Aktionen

Spielergruppe - Pick every player in (All allies of Spieler 1 (Rot)) and do (Actions)


Schleifen - Aktionen



Einheit - Create 1 Wähle einen Helden for (Picked player) at ((Picked player) start location) facing Vorgabe für Gebäude-Ausrichtung degreesNachdem wir unseren ersten Auslöser erstellt haben ist ein guter Zeitpunkt um die map zum ersten mal zu testen. Dazu muss man nur auf das rote Häkchen in der Symbol-Leiste drücken. Hier ist der erste Screenshot im Spiel:

Kleine Auslöser-Übung:
Man kann die Starteinheiten auch mit Hilfe einer For-Schleife erstellen. Versuche folgenden Auslöser nachzubauen:
Nahkampf-Initialisierung Kopieren
Ereignisse

Map initialization
Bedingungen
Aktionen

For each (Integer A) from 1 to 8, do (Actions)


Schleifen - Aktionen



Einheit - Create 1 Wähle einen Helden for (Player((Integer A))) at ((Player((Integer A))) start location) facing Vorgabe für Gebäude-Ausrichtung degreesHier eine Kurzanleitung in Stichpunkten:
- For each (Integer A) from 1 to 8, do (Actions)
- For Each Integer A, Do Multiple Actions
- 2.Parameter auf 8 setzen
- For Each Integer A, Do Multiple Actions
- Einheit - Create 1 Wähle einen Helden for (Player((Integer A))) at ((Player((Integer A))) start location) facing Vorgabe für
- Einheit - Create Units Facing Angle
- "Soldat" ändern in "Wähle einen Helden"
- "Spieler 1 (Rot)" ändern in "Umwandlung - Convert Player Index To Player
- "1" ändern in "For Loop Integer A"
- "Center of (Playable map area)" ändern in "Spieler - Player Start Location"
- "Spieler 1 (Rot)" ändern in "Umwandlung - Convert Player Index To Player
- "1" ändern in "For Loop Integer A"
- "Spieler 1 (Rot)" ändern in "Umwandlung - Convert Player Index To Player
- Einheit - Create Units Facing Angle
Der Auslöser dieser Übung erstellt Starteinheiten für alle Spieler, egal, ob sie im Spiel sind oder nicht, deshalb benutzen wir auch nur den ersten Auslöser. Den Auslöser aus der Übung deaktivieren wir, indem wir im Auslöser-Editor den Auslöser auswählen und dort das Häkchen bei Aktiviert entfernen.
Der Helden-Auswahl-Auslöser
Ein Held soll dann ausgewählt werden, wenn die Auswahleinheit in seine Nähe kommt. Damit steht das Ereignis schon fest. Wir erstellen also einen neuen Auslöser (Neu->Auslöser) und nennen ihn "Auswahl Jaina" (Auslöser markieren -> F2 drücken -> Name eingeben). Dann fügen wir ein neues Ereignis hinzu (Neu->Ereignis). Im oberen Auswahlfeld wählen wir die Kategorie Einheit und im unteren Feld das Ereignis Unit Within Range. Die Reichweite lassen wir bei 256.00. Nach einem Click auf das rotgefärbte Unit öffnet sich ein Dialog und mit einem Click auf Eine Einheit wählen öffnet sich die Karte und wir wir können unsere Jaina auswählen. Der Trigger sollte nun so aussehen:
Auswahl Jaina
Ereignisse

Einheit - A unit comes within 256.00 of Jaina 0009 <gen>
Bedingungen
AktionenDie Bedingung ist, dass der Einheitentyp "Wähle einen Helden" ist. Wir fügen mit (Neu->Bedingung) eine Bedingung hinzu. Als Typ wählen wir Unit-Type Comparision. Wir vergleichen den Typ der Einheit, die den Auslöser gestartet hat (Unit-type of(Triggerring unit)) mit dem Einheitentyp "Wähle einen Helden". Der Vergleichsopertator ist Gleich. Statt Soldat wählen wir unsere eigene Einheit "Wähle einen Helden". Der Trigger sollte jetzt so aussehen:
Auswahl Jaina
Ereignisse

Einheit - A unit comes within 256.00 of Jaina 0009 <gen>
Bedingungen

(Unit-type of (Triggering unit)) Gleich Wähle einen Helden
AktionenÜbersetzt bedeutet die Bedigung:
- starte den Trigger nur, wenn der Einheitentyp der Auslösenden Einheit (gleich) "Wähle einen Helden" ist.
Da auch etwas passieren sollte brauchen wir noch eine Aktion. Zuerst brauchen wir aber ein Gebiet, in dem der ausgewählte Held erstellt wird. Dazu bentzen wir wieder mal die Werzeugpalette im Hauptfenster. Diesmal ist es die Gebiet-Palette. Dort gibt es nur einen Knopf mit dem man Gebiete erstellen kann. Wenn wir den Knopf markiert haben ziehen wir einfach mit der linken Maustaste ein Gebiet in der Mitte der linken Insel. Das neue Gebiet erscheint nun in der Liste in der Gebiet-Palette. Mit Rechtsclick darauf -> Gebietseigenschaften bearbeiten kann man einen Dialog öffnen, in dem man (unter anderem) den Namen des Gebiets ändern kann. Wir ändern den Namen auf "Arena Mitte".
Kleine Auslöser-Übung:
Schreibe den "Auswahl Jaina"-Auslöser fertig. Er sollte dann so aussehen:
Auswahl Jaina
Ereignisse

Einheit - A unit comes within 256.00 of Jaina 0009 <gen>
Bedingungen

(Unit-type of (Triggering unit)) Gleich Wähle einen Helden
Aktionen

Spezialeffekt - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl

Einheit - Create 1 Jaina for (Owner of (Triggering unit)) at (Center of Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees

Auswahl - Select (Last created unit) for (Owner of (Last created unit))

Kamera - Pan camera for (Owner of (Triggering unit)) to (Center of Arena Mitte <gen>) over 1.00 seconds

Einheit - Remove (Triggering unit) from the gameWas macht der Trigger?
- Einen Spezialeffekt an der Posiotion des "Heldenwählers" erstellen
- Einen Helden erstellen
- den Helden auswählen
- Die Kamera an die richtige Stelle bringen
- Den "Heldenauswähler" aus dem Spiel entfernen, damit man nich mehrere Helden wählen kann.
Anmerkung: Es ist normal, dass man am Anfang sehr lange braucht um einen Auslöser einfach nur nachzubauen. Wenn du eine Aktion oder Funktion gar nicht findest, dann kannst du auch die Diskussionsseite dieses Tutorials benutzen um Fragen zu stellen.
Gegnerwellen erstellen
Das erstellen der Gegnerwellen soll folgendermaßen funktionieren. Die erste Gegnerwelle soll nach 30 Sekunden starten. Wenn alle Gegner einer Welle getötet worden sind soll die nächste Welle erscheinen und Leben und Mana der Helden wieder auf 100% gesetzt werden.
Wir erstellen einen neuen Trigger und nennen ihn "Gegnerwellen". Der Trigger hat 2 Ereignisse:
- nach 30 sekunden
- wenn die letzte einheit von Spieler 9 stirbt
Es gibt allerdings kein Ereignis "last unit of player dies". Statt dessen nehmen wir ein Generi-Unit-Event und überprüfen in den Bedingungen mit einer Integer - Comparison (Integer sind ganze Zahlen), ob die Zahl der lebenden Einheiten von Spieler 9 gleich 0 ist. Um diese Bedingung zu erstellen gehen wir folgendermaßen vor:
- Wir erstellen eine neue Bedingung
- Wir ändern den Typ der Bedingung auf Integer - Comparison
- Wir clicken auf (Number of units in(Units in(Playable map area)))
- Wir clicken auf (Units in(Playable map area)
- Wir ändern den Typ der Einheitengruppe von Units in Region auf Units Owned By Player Matching Condtion
- Wir ändern den Spieler auf Spieler 9
- Wir clicken auf Condition
- Wir clicken auf ((Triggering unit)is Ein Gebäude)
- Wir ändern den Typ des Wahrheitswertes von Einheit - Unit Classification Check auf Einheit - Unit is alive
- Wir ändern (Triggering unit) in (Mathing unit)
- Wir beenden alle Dialoge mit Ok oder Enter
Wir haben in dieser Bedingung mehrere Funktionen benutzt. Die Funktion Einheit - Count Units in Unitgroup liefert uns die Anzahl der Einheiten in einer Einheitengruppe, welche wir durch die Funktion Units Owned By Player Matching Conndition bekommen. Die Funktion Units Owned By Player Matching Conndition ist etwas besonderes, weil sie eine Bedingung als Parameter hat. Mit dieser Bedingung werden alle Einheiten überprüft, die Spieler 9 gehören, wobei Matching Unit in der Bedingung immer mit der Einheit ersetzt wird, die gerade überprüft wird.
Hier ist der Trigger:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
AktionenWir könnten jetzt in jeder Welle einfach 10 Ghule in der Arena erstellen:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Einheit - Create 10 Ghul for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degreesJetzt würde aber jede Welle gleich aussehen, am Anfang zu stark und am Ende zu schwach. Man muss sich also irgendwie merken, welch Welle gerade dran ist. Wir suchen also im mapping-wiki und finden den Artikel Variablen. Da wir den Artikel gelesen haben, und gemerkt haben, dass das genau das ist, was wir brauchen clicken wir nun auf das gelbe X im Auslöser-Editor, woraufhin sich ein Fenster mit dem Titel Variablen öffnet. Jetzt legen wir eine neue Variable an, indem wir auf das grüne +X drücken. Als Variablenname nehmen wir "welle" und als Variablentyp Integer. Den Startwert lassen wir bei 0 und das Kästchen vor Array bleibt auch leer. Wir beenden alle Dialoge mit Ok und schon haben wir unsere erste Variable erstellt. Diese Variable soll nun bei jedem Aufruf des Auslösers "Gegnerwellen" um 1 erhöht werden. Dies machen wir mit einer Aktion namens Set Variable. Bei dieser Funktion wird der Variablen links vom = der Wert rechts vom = zugewiesen. Wir clicken auf das rotmarkierte Variable und ersetzen es durch unsere Varaiable "welle". Nun clicken wir auf das rotmarkierte Value und wählen die Funktion Arithmetic, was hier soviel bedeutet wie einfache Rechnung. Die Funktion Arithmetic besteht aus 2 Werten und einem Rechenzeichen. Wir lassen das Rechenzeichen bei + und den 2. Wert bei 1 und ändern nur den ersten Wert, und zwar auf den Wert unserer Variable. Der Auslöser sieht nun so aus:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)Als nächstes wollen wir überprüfen, welchen Wert unsere Variable Welle hat und je nachdem verschiedene Gegner erstellen. Für diesen Zweck gibt es die If-Struktur. Wir fügen eine neue Aktion ein und wählen als Typ If / Then / Else, Multiple Functions. Es entsteht folgender Trigger:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen


'THEN'-Aktionen


'ELSE'-AktionenWie man sieht gibt einen neuen Punkt, an dem man Bedingungen einfügen kann ('IF'-Bedingungen). Diesen Punkt markieren wir und fügen eine neue Bedingung ein. Als Typ wählen wir Integer-Comparison. Den Teil vor dem "Gleich" ändern wir in unsere Variable "welle", den Teil danach ersetzen wir durch den Wert 1. Die Aktionen, die unter dem Punkt 'Then'-Aktionen stehen werden nur ausgeführt wenn die Bedingung erfüllt ist. Die 'Else'-Aktionen werden nur ausgeführt, wenn die Bedingung nicht erfüllt ist. Wir fügen nun die Aktion zum erstellen von Einheiten unter den 'Then'-Aktionen ein:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 1


'THEN'-Aktionen



Einheit - Create 1 Ghul for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-AktionenFür die zweite Welle wiederholen wir das ganze noch einmal, diesmal aber mit einem stärkerem gegner:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 1


'THEN'-Aktionen



Einheit - Create 1 Ghul for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 2


'THEN'-Aktionen



Einheit - Create 1 Gruftbestie for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-AktionenWie wir sicherlich alle beim erwähnen des Wortes wiederholen bemerkt haben kann man das ganze auch eleganter lösen. Dafür benötigt man aber Arrays. Wir geben uns deshalb erst einmal mit unserer Lösung zufrieden und fügen statt dessen noch eine Aktion hinzu, die die Helden heilt ("Einheit - Set Life (to Percentage)"), sowie eine weitere Gegnerwelle:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)

Einheitengruppe - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is alive) Gleich True)) and do (Actions)


Schleifen - Aktionen



Einheit - Set life of (Picked unit) to 100.00%



Einheit - Set mana of (Picked unit) to 100.00%



Spezialeffekt - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 1


'THEN'-Aktionen



Einheit - Create 1 Ghul for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 2


'THEN'-Aktionen



Einheit - Create 1 Gruftbestie for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 3


'THEN'-Aktionen



Einheit - Create 1 Monstrosität for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-AktionenEs wurde eine neue Schleife benutzt (Pick every unit in Unitgroup). Diese Schleife führt eine bestimmte Aktion für alle Einheiten in einer Einheitengruppe durch. Innerhalb der Schleife wird mit Picked Unit auf die Einheit zugegriffen, die gerade von der Schleife ausgewählt wurde.
Zum Abschluss dieses Kapitels sollte die map noch einmal getestet werden, wenn alles funktioniert könnt ihr noch ein bisschen an der Gegnerzahlen der Wellen rumspielen, oder des Spezialeffekt für das Heilen ändern. Wenn es nicht funktioniert, dann überprüft bitte, ob alle Trigger bei euch genau so aussehen, wie hier und ob es nicht schon Einheiten von Spieler9 auf der Karte gibt. Ihr könnt auch gerne Fragen auf der Diskussionsseite dieses Tutorials stellen.
Kapitel 6 - Einheiten (Teil 2)
Wir wollen nun einen eigenen Helden erstellen, der auch eigene Fähigkeiten besitzt. Dazu öffnen wir den Objekt-Editor und drücken dort den Button zum Erstellen einer neuen Einheit (ein Helm). Als Basis-Einheit wählen wir den Bergkönig (es ist wichtig, dass wir einen Helden nehmen). Als Name nehmen wir Basher (könnt ihr später noch ändern, wenn er euch nicht gefällt). Ich werde in diesem Tutorial nicht auf alle Eigenschaften eingehen, die man verändern kann. Wir ändern nur die wichtigsten. Jetzt ändern wir aber noch gar nichts, sondern erstellen zuerst eine eigene Fähigkeit für unseren Helden.
Eigene Fähigkeiten
Eigene Fähigkeit kann man wie eigene Einheiten im Objekt-Editor erstellen. Dort gibt es einen Tab mit dem Titel "Fähigkeiten". Nachdem wir in diesen Tab gewechselt haben sehen wir alle Fähigkeiten, die es gibt. Um eine neue Fähigkeit zu erstellen drücken wir auf das Symbol für "Neue Eigene Fähigkeit" (Eine Faust). Darauf hin öffnet sich eine Liste, aus der wir unsere Grundfähigkeit wählen können. Für unsere erste Fähigkeit nehmen wir "Kriegsdonner". Als Namen nehmen wir "Spikes". Nun drücken wir noch auf Ok und schon haben wir unsere erste eigene Fähigkeit. Wie bei den Einheiten gibt es auch hier jede Menge Felder, die man verändern kann. Ich liste mal die wichtigsten auf:
- Grafik - Animations-Namen = die Animation, die beim Zaubern abgespielt wird (z.B.: spell,slam,attack,Death)
- Grafik - Button-Position - *** = die Position des Fähigkeiten-Buttons
- Grafik - Geschoss-Bogen = wie groß ist der Bogen, in dem das Geschoss der Fähigkeit fliegt
- Grafik - Geschoss-Grafik = das Modell für das Geschoss der Fähigkeit
- Grafik - Geschosstempo = Geschwindigkeit des Geschosses
- Grafik - Symbol - Ausschalten = Symbol, dass angezeigt wird, wenn die Fähigkeit eingeschaltet ist
- Grafik - Symbol - Forschung = Symbol, dass angezeigt wird, wenn die Fähigkeit erforscht/gelernt wird
- Grafik - Symbol - Normal = Symbol, dass normalerweise angezeigt wird
- Grafik - Zaubernder = Modell, das an der Position des Wirkers der Fähigkeit erscheint
- Grafik - Ziel = Modell, das an der Position des Ziels der Fähigkeit erscheint
- Text - Editor-Suffix = wird nur im Editor angezeigt, hinter dem echten Namen
- Text - Tastaturkürzel = Schnelltasten/Hotkeys
- Text - Tooltip - ** = Texte, die angezeigt werden, wenn man die Maus über die Fähigkeit hält
- Werte - Benötigte Stufe = ist bei Ultimate normalerweise auf 6
- Werte - Gegenstand-Fähigkeit = gibt an, ob die Fähigkeit eine Gegenstandsfähigkeit ist
- Werte - Helden-Fähigkeit = gibt an, ob die Fähigkeit eine Heldenfähigkeit ist
- Werte - Stufen = Anzahl der Stufen/Level der Fähigkeit
- Werte - Stufensprung-Voraussetzung = Level-Abstand des Helden zur nächsten Fähigkeiten-Sufe, bei 0 wird automatisch der Standardwert (2) genommen
- Stufe? - Daten - Schaden = angerichteter Schaden
- Stufe? - Text - Tooltip - ** = Texte, die angezeigt werden, wenn man die Maus über die Fähigkeit hält
- Stufe? - Werte - Abklingen = Zeit bis Fähigkeit wieder aufgeladen ist
- Stufe? - Werte - Dauer - Held = Wirkdauer der Fähigkeit auf Helden
- Stufe? - Werte - Dauer - Held = Wirkdauer der Fähigkeit auf Nicht-Helden
- Stufe? - Werte - Mana-Losten = ist klar, oder?
- Stufe? - Werte - Wirkungsbereich = müsste auch klar sein
- Stufe? - Werte - Reichweite = ...
- Stufe? - Werte - Zauberverstärker = symbolisiert durch ein kleines Symbol und einen grafischen Effekt, dass eine Fähigkeit auf eine Einheit wirkt
- Stufe? - Werte - Zauberzeit = Zeit bis die Fähigkeit gezaubert wird (Held muss in der Zwischenzeit still stehen)
- Stufe? - Werte - Zugelassene Ziele = Ziele, auf die die Fähigkeit wirkt
Wir ändern nun folgende Felder:
- Grafik - Symbol - Forschung auf "Aufspießen"
- Grafik - Symbol - Normal auf "Aufspießen"
- Grafik - Zaubernder auf "Avatar"
- Text - Tooltip - Erlernen auf "Spikes [S]"
- Text - Tastaturkürzel - Erlernen auf "S"
- Text - Tastaturkürzel - Normal auf "S"
- Text - Tooltip - Erlernen - Erweitert auf "Der Basher entlässt seine ganze Kraft in einem einzige Schlag auf den Boden, der so stark ist, dass Stacheln aus dem Boden kommen und alle Gegner in der Umgebung aufspießen."
Diese Zeilen kopieren wir und fügen sie auch bei den Feldern von
- Stufe? - Text - Tooltip - Normal
- Stufe? - Text - Tooltip - Normal - Erweitert
ein.
Weiter geht es mit folgenden Feldern:
- Stufe 1 - Daten - Schaden auf 150
- Stufe 2 - Daten - Schaden auf 300
- Stufe 3 - Daten - Schaden auf 450
- Stufe 1 - Werte - Dauer - Held auf 0.5
- Stufe 2 - Werte - Dauer - Held auf 0.5
- Stufe 3 - Werte - Dauer - Held auf 0.5
- Stufe 1 - Werte - Dauer - Normal auf 0.5
- Stufe 2 - Werte - Dauer - Normal auf 0.5
- Stufe 3 - Werte - Dauer - Normal auf 0.5
- Stufe 1 - Werte - Wirkungsbereich auf 500
- Stufe 2 - Werte - Wirkungsbereich auf 500
- Stufe 3 - Werte - Wirkungsbereich auf 500
Als letztes ändern wir noch den Zauberverstärker. Dafür müssen wir aber zuerst noch einen erstellen, also wechseln wir im Objekt-Editor zu "Zauberverstärker/Effekte" und erzeugen dort einen neuen Zauberverstärker. Als Basis-Zauberverstärker sollte man immer den zur Fähigkeit gehörigen Zauberverstärker verwenden. Deshalb nehmen wir "Betäubt (Pause)". Als Name nehmen wir wieder "Spikes". Nach einem Click auf Ok haben wir unseren ersten eigenen Zauberverstärker. Dort ändern wir das angezeigte Symbol (Grafik - Symbol) auf "Aufspießen" und das Aussehen (Grafik - Ziel) auf "Aufspießen<Effekt>".
Jetzt wechseln wir wieder zu "Fähigkeiten", wählen unsere Fähigkeit aus (normalerweise in der Übersicht ganz unten) und setzen den Zauberverstärker aller 3 Levels auf "Spikes (Pause)". Damit haben wir unsere erste eigene Fähigkeit fertig gestellt. Wir können nun wieder zu "Einheiten" wechseln und dort unseren Helden "Basher" auswählen. Die erlernbaren Fähigkeiten eines Helden befinden sich unter "Fähigkeiten - Held" in einer Liste. Dort markieren wir "Hieb" und Clicken auf "Helden-Fähigkeit bearbeiten". Nun wählen wir aus der Liste der verfügbaren Fähigkeiten "Spikes" aus un bestätigen mit Ok. Jetzt ist unser Held etwas besonderes! Setzen wir ihn also auf die Karte (für Spieler 10), in die Nähe von Jaina, aber auch mit genug Abstand, so dass man im Spiel nicht aus Versehen den falschen Helden auswählt. Um den neuen Helden auch auswählbar zu machen kopieren wir einfach den Auslöser "Auswahl Jaina" und nennen ihn "Auswahl Basher". Jetzt müssen wir in diesem Trigger nur noch den richtigen Helden einsetzen:
Auswahl Basher
Ereignisse

Einheit - A unit comes within 256.00 of Basher 0010 <gen>
Bedingungen

(Unit-type of (Triggering unit)) Gleich Wähle einen Helden
Aktionen

Spezialeffekt - Create a special effect at (Position of (Triggering unit)) using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl

Einheit - Create 1 Basher for (Owner of (Triggering unit)) at (Center of Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees

Auswahl - Select (Last created unit) for (Owner of (Last created unit))

Kamera - Pan camera for (Owner of (Triggering unit)) to (Center of Arena Mitte <gen>) over 1.00 seconds

Einheit - Remove (Triggering unit) from the gameDies ist außerdem ein guter Zeitpunkt, um die Gegnerzahl im Auslöser "Gegnerwellen" zu erhöhen:
Gegnerwellen
Ereignisse

Zeit - Elapsed game time is 30.00 seconds

Einheit - A unit Stirbt
Bedingungen

(Number of units in (Units owned by Spieler 9 (Grau) matching (((Matching unit) is alive) Gleich True))) Gleich 0
Aktionen

Set welle = (welle + 1)

Einheitengruppe - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is alive) Gleich True)) and do (Actions)


Schleifen - Aktionen



Einheit - Set life of (Picked unit) to 100.00%



Einheit - Set mana of (Picked unit) to 100.00%



Spezialeffekt - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 1


'THEN'-Aktionen



Einheit - Create 5 Ghul for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 2


'THEN'-Aktionen



Einheit - Create 3 Gruftbestie for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



welle Gleich 3


'THEN'-Aktionen



Einheit - Create 2 Monstrosität for Spieler 9 (Grau) at (Random point in Arena Mitte <gen>) facing Vorgabe für Gebäude-Ausrichtung degrees


'ELSE'-AktionenJetzt ist es an der Zeit die Änderungen an der map zu testen...
Wenn alles funktioniert, sollte es im Spiel etwa so aussehen:

aktuelle map
Ich lad jetzt mal meine map hoch, für alle, die zu faul sind oder es nicht hinkriegen oder einfach nur vergleichen wollen:
download
Nächste Punkte
Dises Tutorial wird noch fortgesetzt. Die nächsten Punkte sind wahrscheinlich:
- Einheiten Teil 2
- Eigene Gegner
- Eigene Helden
- Eigene Fähigkeiten
- Eigene Gegenstände
- Eigner Shop
- Eigene Doodads
- Aulöser Teil 2
- Eigene Fähigkeiten mit Auslösern
- Arrays
- Memory-Leaks

russische Team, stehen wir nun im Halbfinale vor einem weiteren Giganten der e-Sports-Szene:
Finnland! Die Skandinavier hatten es im Gegensatz zu unserem