

Ein Befehl gibt in Warcraft III an, was eine Einheit gerade tut. Über Auslöser kann man von jeder Einheit herausfinden, welchen Befehl sie hat oder Einheiten neue Befehle erteilen. Das Zaubern von Fähigkeiten, das Ausbilden von Einheiten oder das schlichte Bewegen, Angreifen, Patroullieren etc. sind Beispiele für Befehle.
Befehle haben keinen eigenen Datentyp. Sie haben 2 Darstellungsformen, die mit Funktionen ineinander umgewandelt werden können, nämlich als Integer (OrderId), und als String (OrderString).
Inhaltsverzeichnis |
Warcraft III unterscheidet zwischen einem generic order ("allgemeiner Befehl") und einem unit order ("Einheitenbefehl"). Einheitenbefehle stehen für alle Tätigkeiten, bei denen eine Einheit gebaut wird. Solche Befehle haben sowohl Gebäude, die eine Einheit ausbilden, als auch Einheiten, die ein Gebäude bauen. Die OrderId ist in beiden Fällen die Id der gebauten Einheit (siehe Einheiten-Typ).
Befehle finden nur bei Auslösern eine Verwendung.
Die Aktionen dafür findet man in der Aktionen-Kategorie Einheiten. Es wird dort zwischen mehreren Arten unterschieden:
Es gibt noch eine Reihe weiterer Befehle, die vor allem den Umgang mit Gegenständen betreffen. Sie tauchen in der Aktionen-Kategorie Held auf:
Im folgenden Beispiel lassen wir einen Akolyten drei Gebäude errichten und dann in die Mitte der Karte laufen:
Akolyt Action
Ereignisse

Zeit - Elapsed game time is 2.00 seconds
Bedingungen
Aktionen

Einheit - Order Akolyt 0000 <gen> to build a Ziggurat at (Center of Gebiet 000 <gen>)

Wait until ((Current order of Akolyt 0000 <gen>) Gleich (Order(<Leerer String>))), checking every 1.00 seconds

Einheit - Order Akolyt 0000 <gen> to build a Gruft at (Center of Gebiet 001 <gen>)

Wait until ((Current order of Akolyt 0000 <gen>) Gleich (Order(<Leerer String>))), checking every 1.00 seconds

Einheit - Order Akolyt 0000 <gen> to build a Altar der Dunkelheit at (Center of Gebiet 002 <gen>)

Wait until ((Current order of Akolyt 0000 <gen>) Gleich (Order(<Leerer String>))), checking every 1.00 seconds

Einheit - Order Akolyt 0000 <gen> to Bewegen nach (Center of (Playable map area))Auch bei Befehlen per Trigger müssen alle Voraussetzungen gegeben sein, in unserem Beispiel muss deshalb genug Gold, Holz und eine Verseuchung vorhanden sein.
Hat der Akolyt seine Arbeit verrichtet, so hat er keine Order mehr, was das Wait abfragt.
Dies ist eben schon im Beispiel zu Befehl erteilen geschehen.
Es gibt zwei verschiedene Arten, um Befehle abzufragen. Entweder man fragt den derzeitigen Befehl einer bestimmten Einheit ab oder als Ereignis-Reaktion die "Issued Order", der Befehl, der beim Ereignis "A Unit Erhält einen auf ... zielenden Befehl" gegeben wird. Dazu dient die Order-Comparison.
In der Order-Comparison muss man oft die Namen der Befehle angeben, folgende gibt es:

Kroatien (wir berichteten), spielt
Österreich bei der Clanbase Nations League heute einen vorentscheidenden War gegen die starke Mannschaft aus
Tschechien. Am heutigen mehr...