SetCrewExtraData

Kategorie: Spieler
Ab Engineversion: 4.9.6.0 CR

Beschreibung

Mithilfe dieses Befehls können beliebige, scriptdefinierte Werte unter einem gegebenen Namen im Clonk in der Spielerdatei gespeichert werden. Auf diese Weise kann man Daten über einen Clonk in einer Spielerdatei über Szenariogrenzen hinweg erhalten (z.B. für RPGs) Zurückgegeben wird (wenn erfolgreich) der gesetzte Wert.

Syntax

any SetCrewExtraData (object pCrew, string strDataName, any Data);

Parameter

pCrew:
Crewobjekt, für dessen Infosektion zusätzliche Daten gespeichert werden sollen. 0 für lokalen Aufruf.
strDataName:
Name, der den Daten zugeordnet werden soll
Data:
Daten, die gesetzt werden sollen.

Anmerkungen

Es dürfen keine Objektpointer oder Zeichenfolgen (Strings) gespeichert werden.
Da die Namen des ExtraData über Szenariogrenzen hinweg gültig sind, sollte man dem Namen einen Prefix hinzufügen, um Doppelbenutzungen zu vermeiden ("MySzen_MyName" or "MYID_MyName" für Objektpakete).

Beispiel

#include CLNK

local fInvisible;
    
protected func Recruitment(a,b,c,d,e,f,g,h,i,j)
  {
  var rVal = _inherited(a,b,c,d,e,f,g,h,i,j);
  if (GetCrewExtraData(0, "C4ID_Invisible")) SetVisibility(VIS_Owner);
  return(rVal);
  }
    
protected func ControlSpecial()
  {
  if (fInvisible = !fInvisible)
    SetVisibility();
  else
    SetVisibility(VIS_Owner);
  SetCrewExtraData(0, "C4ID_Invisible", fInvisible);
  }
Script für einen Spezialclonk: Der Clonk kann sich auf Taste Spezial unsichtbar und wieder sichtbar machen. Diese Unsichtbarkeit bleibt auch erhalten, wenn man das Szenario beendet und ein anderes Szenario mit diesem Clonk startet.
Siehe auch: GetCrewExtraData, SetPlrExtraData
Sven2, Februar 2006