Kategorie: Spieler
Ab Engineversion: 1.0 OC
(erweitert ab 2.0 OC)
SetPlrExtraData
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