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