FUNKTION:
static varargs mixed*
PayCash(object player, int price, int algo, int deep)
IMPLEMENTIERT:
/std/trade.c
ARGUMENTE:
player - ein Spieler oder NPC
price - der zu zahlende Preis
algo - (optional) der zu benutzende Zahl-Algorithmus (siehe unten)
deep - (optional) noch nicht unterstuetzt: 0 setzen!
BESCHREIBUNG:
UNTERSUCHT, ob der Spieler den angegebenen Preis bezahlen kann.
Dabei werden noch KEINERLEI MUENZEN TRANSFERIERT!
Kann er dies nicht, kommt 0 zurueck. Sonst ist der Returnwert ein
zweidimensionales Array: ({ mapping Nehmen, mapping Geben })
'Nehmen' und 'Geben' sind Mappings im Aufbau von ExchangeValue(L)
und beinhalten, wieviele Muenzen dem Spieler genommen werden wuerden
(Nehmen) und was er als Wechselgeld bekommen wuerde (Geben).
Diese Funktion berechnet nur die Arrays. Danach kann mittels
DoPurchase(L) das eigentliche Bezahlen durchgefuehrt werden.
Es werden keinerlei automatische Meldungen ausgegeben, siehe
Beispiel in DoPurchase(L).
RÜCKGABEWERT:
1. Array - ({ mapping Nehmen, mapping Geben })
2. 0 - falls der Spieler den Preis nicht bezahlen kann
ALGORITHMUS:
Folgende Algorithmen sind moeglich:
0 - standard: bezahle mit moeglichst grossen Muenzen
1 - moderat : bezahle mit moeglichst kleinen und wenigen Muenzen
2 - clever : bezahle moeglichst nur mit Kleingeld
BEMERKUNG:
Diese Funktion ist nur ein 'Wrapper' auf die gleichnamige Funktion
im Coinmaster. Die passende Waehrung wird dabei in Abhaengigkeit
von P_CURRENCY automatisch gewaehlt. Wurde P_CURRENCY nicht gesetzt,
wird die Standardwaehrung der entsprechenden Region gewaehlt.
BEISPIEL:
Siehe DoPurchase(L) fuer ein komplettes Beispiel.
SIEHE AUCH:
P_CURRENCY, FindTrader(L), ExchangeValue(L), DoPurchase(L),
MakePriceList(L), HeadLine(L), CostStr(L), SpecCostStr(L),
ParseCostStr(L), MakeValString(L), AddMoney(L), QueryMoney(L),
coinmaster(WL)
|