Kategorie: Objekte
/ Commands
Ab Engineversion: 1.0 OC
SetCommand
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.