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.
Sven2, Februar 2006