AddCommand

Kategorie: Objekte / Commands
Ab Engineversion: 1.0 OC

Beschreibung

Fügt ein Kommado in die Kommandoliste des aufrufenden Objekts hinzu (an den Anfang, siehe auch AppendCommand). D.h. es wird ein Kommando hinzugefügt, welches das Objekt vor anderen vorher gegebenen Kommandos auszuführen hat (war vorher kein Kommando gesetzt, so entspricht AddCommand SetCommand)
Für Kommando-Beschreibungen siehe SetCommand

Syntax

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

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
delay:
[opt] Zeit (in Ticks/Frames), bis das Kommando abgebrochen wird (es wird dann mit dem nachsten in der Kommandoliste fortgesetzt)
Data:
[opt] zusätzliche Daten zur Aktion
retries:
[opt] Anzahl der Wiederholungen (wenn das Kommando fehlschlägt), bis das Kommando abgebrochen wird.
base_mode:
[opt] Bestimmt, wie beim Fehlschlag des Commands verfahren wird.

base_mode Name Beschreibung Fehlschlagsmeldung und CallFailed-Aufrufe Nächster Befehl
0 C4CMD_SilentSub Stiller Unterbefehl Nur wenn dies der letzte Befehl ist Schlägt fehl
3 C4CMD_Sub Unterbefehl Wenn der nächste Befehl keine Wiederholungen mehr hat oder dies der letzte Befehl ist Schlägt fehl
2 C4CMD_SilentBase Stiller Basisbefehl Nie Schlägt nicht fehl
1 C4CMD_Base Basisbefehl Immer Schlägt nicht fehl

Anmerkung

Mit AddCommand hinzugefügte Befehle werden nicht an gesteuerte Fahrzeuge weitergeleitet (siehe VehicleControl)

Beispiel

  var obj = FindObject(Find_InRect(-20, -40, 40, 40), Find_OCF(OCF_CrewMember));
  if(obj)
    if(obj->GetComDir() == COMD_Right)
      obj->AddCommand("Jump");
  return;
Dieser Timer-Script bewirkt (aus einem Objekt aufgerufen, welches auf dem Boden liegt), dass jeder Clonk, der über das Objekt von links nach rechts hinübergeht, springt. Dazu wird erst ein Clonk (bzw. CrewMember) über dem Objekt gesucht. Wurde ein solcher gefunden, und läuft er im Moment nach rechts (ComDir), so wird dem Clonk das Kommando "Jump" hinzugefügt. Das besondere an dem Script ist, dass die alte Befehlskette nicht angetastet wird; der Clonk wird nachdem er gesprungen hat seine Befehlskette weiter verarbeiten.
Mithilfe dieses Script kann man einem Clonk z.B. beibringen, an einer bestimmten Stelle automatisch über einen Abgrund zu hüpfen.
Siehe auch: AppendCommand, FinishCommand, GetCommand, SetCommand
PeterW, 2001-11
Günther, 2005-01