SetPlrExtraData

Kategorie: Spieler
Ab Engineversion: 1.0 OC (erweitert ab 2.0 OC)

Beschreibung

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

Syntax

any SetPlrExtraData(int player, string data_name, any Data);

Parameter

player:
Nummer des Spielers, für den zusätzliche Daten gespeichert werden sollen
data_name:
Name der zugeordneten Daten.
Data:
Daten, die gesetzt werden sollen.

Anmerkungen

Es dürfen keine Objektpointer oder Arrays 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").

Beispiel

func SaveWealth()
{
  for(var i=0; i<GetPlayerCount(); i++)
    SetPlrExtraData(i, "MySzen_Wealth", GetWealth(i));
}

func Initialize()
{
  for(var i=0; i<GetPlayerCount(); i++)
    SetWealth(i, GetPlrExtraData(i, "MySzen_Wealth"));
}
  
Die erste Funktion speichert das Vermögen unter dem Namen "MySzen_Wealth" in dem entsprechendem Spieler ab. Sie sollte periodisch aufgerufen werden oder am Ende der Runde. Wird die Runde nun neu gestartet und das Objekt erstellt, so wird das Vermögen der Spieler in Initialize wiederhergestellt.
Siehe auch: GetPlrExtraData, SetCrewExtraData
PeterW, 2002-01