Kategorie: Objekte
/ Status
Ab Engineversion: 1.0 OC
GetValue
Beschreibung
Gibt einen Objekt- oder Definitionswert zurück.
Ein Objektwert berechnet sich folgendermaßen: Zunächst geprüft, ob eine CalcValue-Funktion im Script des Objekttyps vorhanden ist, und gegebenenfalls ausgewertet. Ansonsten wird der Definitionswert (siehe nächster Absatz) verwendet. Unabhängig davon wird der Wert des Objekts immer mit der Fertigstellung (()/100) multipliziert. Tote Lebewesen (()& && !()) haben immer den Wert 0.
Der Definitionswert wird folgendermaßen ermittelt: Ist eine CalcDefValue-Funktion im Script vorhanden, wird diese ausgewertet. Ansonsten wird eine Wertüberladung aus der Scenario.txt verwendet. Ist diese ebenfalls nicht vorhanden, wird der in der DefCore angegebene Wert benutzt.
Ein Objektwert berechnet sich folgendermaßen: Zunächst geprüft, ob eine CalcValue-Funktion im Script des Objekttyps vorhanden ist, und gegebenenfalls ausgewertet. Ansonsten wird der Definitionswert (siehe nächster Absatz) verwendet. Unabhängig davon wird der Wert des Objekts immer mit der Fertigstellung (()/100) multipliziert. Tote Lebewesen (()& && !()) haben immer den Wert 0.
Der Definitionswert wird folgendermaßen ermittelt: Ist eine CalcDefValue-Funktion im Script vorhanden, wird diese ausgewertet. Ansonsten wird eine Wertüberladung aus der Scenario.txt verwendet. Ist diese ebenfalls nicht vorhanden, wird der in der DefCore angegebene Wert benutzt.
Syntax
int GetValue(object base, int for_player);
Parameter
- base:
- [opt] Basis, in der gekauft wird. Falls in diesem Objekt ein CalcValue-Aufruf zur Verfügung stellt, wird dieser Parameter an den Aufruf weitergegeben.
- for_player:
- [opt] Spieler, für den der Wert gilt. Falls in diesem Objekt ein CalcValue-Aufruf zur Verfügung stellt, wird auch dieser Parameter an den Aufruf weitergegeben.
Anmerkung
Die beiden Parameter base und for_player sind für szenarienspezifische Handelsmodelle gedacht, und werden nur in CalcValue/CalcDefValue-Aufrufen verwendet.
Beispiel
var value = GetValue(); while (value-- > 0) CreateContents(Rock); RemoveObject(true);
Objektscript: Das Objekt erzeugt so viele Steine, wie es wert ist, und vernichtet sich dann selber (wobei es die Steine auswirft).