SetCommand

Kategorie: Objekte / Commands
Ab Engineversion: 1.0 OC

Beschreibung

Gibt dem aufrufenden Objekt ein Kommando, welches dieses selbstständig (ggf. durch automatische Wegfindung) auszuführen versucht.

Syntax

bool SetCommand(string command, object target, int x, int y, object target2, any Data, int retries);

Parameter

command:
Kommandoname (als String). Siehe untere Tabelle
target:
[opt] Zielobjekt für Aktion
x:
[opt] X-Zielkoordinate
y:
[opt] Y-Zielkoordinate
target2:
[opt] zweites Zielobjekt
Data:
[opt] zusätzliche Daten zur Aktion
retries:
[opt] Anzahl der Wiederholungen (wenn das Kommando fehlschlägt), bis das Kommando abgebrochen wird.

Anmerkung

Es sind folgende Kommandos definiert:
command target x, y target2 Data Beschreibung
Acquire Null 0,0 Behälter ignorieren Objekttyp (id) Objekt von Objekttyp beschaffen, wenn nötig kaufen. Material im angegebenen Behälter (Target2) wird bei der Suche ignoriert.
Activate Zielobjekt Zielobjekt aktivieren (aus Gebäude herausholen).
Activate Null 0,0 Zielobjekt Holen-Menü für Inhalt des Zielobjekts öffnen.
Activate Null Anzahl,0 Zielobjekt Objekttyp (id) Anzahl Objekte von Objekttyp in Zielobjekt aktivieren.
Attack Zielobjekt Zielobjekt angreifen.
Buy Null 0,0 Null Objekttyp (id) Objekt von Objekttyp in nächstgelegener Basis kaufen.
Buy Basis Anzahl,0 Null Objekttyp (id) Anzahl Objekte von Objekttyp in Basis kaufen.
Buy Basis Kaufen-Menü für angegebene Basis öffnen.
Call Objekt Par(1),Par(2) Par(3) Funktion (string) Funktion im Objekt-Script von Objekt aufrufen, Par(0) ist dabei das aufrufende Objekt. Schlägt das Kommando fehl, weil untergeordnete Befehle nicht ausgeführt werden konnten, wird stattdessen FunktionFailed aufgerufen.
Chop Zielobjekt Zielobjekt fällen.
Dig Null Zielposition Zur Zielposition graben.
Drop Erstes getragenes Objekt sofort ablegen.
Drop Null Zielposition Erstes getragenes Objekt an Zielposition ablegen.
Drop Zielobjekt Zielposition Zielobjekt einsammeln und an Zielposition ablegen.
Enter Zielobjekt Das Zielobjekt betreten.
Exit Den aktuellen Behälter verlassen.
Follow Zielobjekt Dem Zielobjekt folgen (dauerhaft).
Get Zielobjekt Zielobjekt einsammeln (ggf. ausgraben).
Get Null Anzahl,0 Zielobjekt Objekttyp (id) Anzahl Objekte von Objekttyp aus Zielobjekt holen.
Grab Zielobjekt Offset Das Zielobjekt am Offset zur Objektmitte anfassen.
Home Zurück zur nächstgelegenen Heimatbasis.
Jump In aktuelle Richtung springen.
Jump Null Zielposition In Richtung der Zielposition springen.
MoveTo Zielobjekt 0,0 Null Keine Anpassung? (bool) Zur Position des Zielobjekts bewegen. iData true um die Koordinaten nicht an die Landschaftsform anzupassen.
MoveTo Null Zielposition Null Keine Anpassung? (bool) Zur Zielposition bewegen. iData true um die Koordinaten nicht an die Landschaftsform anzupassen.
None Aktuelle Befehle löschen.
PushTo Zielobjekt Zielposition Zielobjekt an Zielposition schieben.
PushTo Objekt 0,0 Zielobjekt Objekt in Zielobjekt schieben.
Put Zielobjekt Erstes getragenes Objekt im Zielobjekt ablegen.
Put Zielobjekt Anzahl,0 Die angegebene Anzahl getragener Objekte im Zielobjekt ablegen.
Put Zielobjekt 0,0 Objekt Objekt einsammeln und im Zielobjekt ablegen.
Put Zielobjekt 0,0 Null Objekttyp (id) Getragenes Objekt von Objekttyp im Zielobjekt ablegen.
Put Zielobjekt Anzahl,0 Null Objekttyp (id) Die angegebene Anzahl getragener Objekte von Objekttyp im Zielobjekt ablegen.
Sell Null 0,0 Objekt2 Objekttyp (id) Objekt von Objekttyp in nächstgelegener Basis verkaufen. Bei angegebenem Objekt2 wird zuerst dieses verkauft, wenn es in der Basis ist.
Sell Basis Anzahl,0 Objekt2 Objekttyp (id) Anzahl Objekte von Objekttyp in Basis verkaufen. Bei angegebenem Objekt2 wird zuerst dieses verkauft, wenn es in der Basis ist.
Sell Basis Verkaufen-Menü für angegebene Basis öffnen.
Throw Erstes getragenes Objekt sofort werfen.
Throw Null Zielposition Erstes getragenes Objekt auf Zielposition werfen.
Throw Zielobjekt Zielposition Zielobjekt einsammeln und an Zielposition werfen.
UnGrab Aktuell angefaßtes Objekt loslassen.
Wait Null 0,0 Null Frames Anzahl Frames/Ticks warten.

Beispiel

SetCommand("Attack", FindObject(Find_ID(Clonk),Sort_Distance(0,0)), 0, 0, 0, 0, 10);
Dieser Script gibt dem ausführenden Clonk den Befehl, den nächstgelegenen Clonk von Spieler 1 zu attackieren. Dabei soll er nicht so schnell aufgeben und (wenn er z.B. daran scheitert, den Weg zum Feind zu finden) es 10 Mal zu versuchen, bis er sein Ziel erreicht hat oder abbricht.
Siehe auch: AddCommand, AppendCommand, FinishCommand, GetCommand
PeterW, 2001-11