SetCommand

Kategorie: Objekte / Commands
Ab Engineversion: 4.6.5.0 CP (erweitert ab 4.9.1.0 GWE)

Beschreibung

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

Syntax

bool SetCommand (object pObj, string szCommand, object pTarget, int iX, int iY, object pTarget2, any Data, int iRetries);

Parameter

pObj:
Objekt, dem das Kommando gegeben wird.
szCommand:
Kommandoname (als String). Siehe untere Tabelle
pTarget:
[opt] Zielobjekt für Aktion
iX:
[opt] X-Zielkoordinate
iY:
[opt] Y-Zielkoordinate
pTarget2:
[opt] zweites Zielobjekt
Data:
[opt] zusätzliche Daten zur Aktion
iRetries:
[opt] Anzahl der Wiederholungen (wenn das Kommando fehlschlägt), bis das Kommando abgebrochen wird.

Anmerkung

Es sind folgende Kommandos definiert:
szCommand pTarget iX,iY pTarget2 iData 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.
Build Zielobjekt Zielobjekt bauen und anschließend mit Energie versorgen.
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.
Construct Bauauftragsmenü öffnen.
Construct Null 0,0 Null Objekttyp (id) An der nächstmöglichen Zielposition Baustelle errichten.
Construct Null Zielposition Null Objekttyp (id) An der Zielposition Baustelle errichten und anschließend bauen.
Construct Zielobjekt Zielposition [opt] Null Objekttyp (id) Zielobjekt helfen, die Baustelle zu errichten (der Clonk baut mit, sobald die Baustelle errichtet wurde)
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.
Energy Zielobjekt Zielobjekt vom nächsten Versorger mit Energie versorgen.
Energy Zielobjekt 0,0 Versorger Zielobjekt vom Versorger mit Energie versorgen.
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. Ab 4.9.8.3.
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. Ab 4.9.8.3.
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. Ab 4.9.8.3.
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.

Um das Holen-Menü für ein Objekt zu öffnen, muss der Data-Parameter auf true gesetzt sein. Beispiel: func ControlLeft(object byObj) { SetCommand(byObj, "Get", this, 0, 0, 0, true); }

Beispiel

SetCommand(this, "Attack", FindObjectOwner(CLNK, 1, 0, 0, -1, -1), 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, PlayerObjectCommand
PeterW, November 2001