blob: 5f87d559be434b76348c6a0ea21e924bfe762703 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001QuerySellValue()
2================
3
4FUNKTION
5--------
6::
7
8 varargs int QuerySellValue(object ob, object client);
9
10DEFINIERT IN
11------------
12::
13
14 /std/trading_price.c
15
16BESCHREIBUNG
17------------
18::
19
20 Diese Funktion kann dazu genutzt werden, den Verkaufspreis in einem
21 Laden global zu veraendern. Sofern dies zugunsten der Spieler geschieht,
22 muss dafuer die Zustimmung des zustaendigen Regionsmagiers und der
23 Balance eingeholt werden. Zudem sollte es nicht in jedem x-beliebigen
24 Laden genutzt werden, sondern nur in recht abgelegenen Gebieten, in
25 die man nicht einfach skripten kann.
26
27 Ein Beispiel ist der Laden auf dem Kutter in Port Vain, der nur in
28 laengeren Intervallen mal zugaenglich ist.
29
30BEISPIEL
31--------
32::
33
34 Ein Laden zahlt 10% ueber dem normalen Verkaufspreis:
35
36 private int sell_factor = 110;
37
38 varargs int QuerySellValue(object ob, object client) {
39 // Es wird nicht naeher geprueft, ob <ob> ein gueltiger Objektpointer
40 // ist, da der Laden selbst sicherstellt, dass das so ist. Wenn
41 // das doch einmal nicht der Fall sein sollte, liegt der Fehler
42 // woanders. Einen Bug auszuloesen ist dann sinnvoll.
43
44 // Basispreis ermitteln
45 int preis = ::QuerySellValue(ob, client);
46 // und den Bonus aufschlagen.
47 preis = (sell_factor * preis)/100;
48
49 // Nicht mehr auszahlen, als das Objekt an sich wert ist.
50 return min(preis, ob->QueryProp(P_VALUE));
51 }
52
53
54LETZTE AENDERUNG: 18-Jun-2015, Arathorn
55