QuerySellValue()

FUNKTION

varargs int QuerySellValue(object ob, object client);

DEFINIERT IN

/std/trading_price.c

BESCHREIBUNG

Diese Funktion kann dazu genutzt werden, den Verkaufspreis in einem
Laden global zu veraendern. Sofern dies zugunsten der Spieler geschieht,
muss dafuer die Zustimmung des zustaendigen Regionsmagiers und der
Balance eingeholt werden. Zudem sollte es nicht in jedem x-beliebigen
Laden genutzt werden, sondern nur in recht abgelegenen Gebieten, in
die man nicht einfach skripten kann.

Ein Beispiel ist der Laden auf dem Kutter in Port Vain, der nur in
laengeren Intervallen mal zugaenglich ist.

BEISPIEL

Ein Laden zahlt 10% ueber dem normalen Verkaufspreis:

private int sell_factor = 110;

varargs int QuerySellValue(object ob, object client) {
  // Es wird nicht naeher geprueft, ob <ob> ein gueltiger Objektpointer
  // ist, da der Laden selbst sicherstellt, dass das so ist. Wenn
  // das doch einmal nicht der Fall sein sollte, liegt der Fehler
  // woanders. Einen Bug auszuloesen ist dann sinnvoll.

  // Basispreis ermitteln
  int preis = ::QuerySellValue(ob, client);
  // und den Bonus aufschlagen.
  preis = (sell_factor * preis)/100;

  // Nicht mehr auszahlen, als das Objekt an sich wert ist.
  return min(preis, ob->QueryProp(P_VALUE));
}

LETZTE AENDERUNG: 18-Jun-2015, Arathorn