OBJEKT:
/secure/coinmaster.c - Coinmaster
BEDEUTUNG:
Der Coinmaster im Wunderland ...
IN BEARBEITUNG!
KONFIGURATION:
// coinmaster set/query and config functionality
public int AddCurrency(int curr, string currencyname);
public int RemoveCurrency(int curr);
public int AddCoin(int curr, int cbase, string cfile, string csid, string cpid, string cabbr);
Haengt die Muenze mit dem basevalue in die Waehrungsliste. Es
kann in einer gegebenen Waehrung nicht zwei verschiedene Muenzen
mit demselben basevalue geben. Es MUSS jedoch eine Muenze mit
basevalue 1 geben. pathname ist der vollstaendige Pfad zur
Muenzdatei (inklusive / und .c).
Abbrev ist eine Abkuerzung von maximal 4 Zeichen, die als
Muenzzeichen im Laden benutzt wird.
public int RemoveCoin(int curr, int cbase);
Loescht die Muenze mit dem basevalue aus der Liste.
public int ChangeCoin(int curr, int cbase, string cfile, string csid, string cpid, string cabbr);
Aendert den Eintrag zur basecoin entsprechend.
public int SetExchangeable(int curr, int yes);
public int AddDefaultCurrencyPattern(string pattern, int currency);
public int RemoveDefaultCurrencyPattern(string pattern);
public void DumpCoins(int curr);
public void DumpAllCoins();
GELDVERWALTUNG:
// all-day coineage functionality
public int GetDefaultCurrency(mixed o);
public mapping QueryCurrencies();
public mixed QueryExchangeable();
public string QueryCurrencyName(int curr);
public mapping QueryCoins(int curr);
Liefert eine formatierte Liste der Muenzen der angegebenen Waehrung.
([ Basiswert: ({Pfadname, Singular-Id, Plural-Id, Abkuerzung}) ])
public int QueryMaxCoin();
Liefert den aktuellen MaxCoin-Wert. Im Moment sinnlos -> 2 Mrd.
public int IsCurrency(object ob);
Liefert die Waehrung zu einem angegebenen Muenz-Objekt oder 0,
wenn es keine bekannte Waehrung ist!
public int GetCoinValue(object ob);
public varargs object* QueryCoinObjects(int curr, object pl, int deep);
public varargs mapping QueryCoinValues(int curr, object pl, int deep);
HANDEL:
// all day trader functionality
public varargs int AddMoney(int curr, object pl, int amount, int silent);
public varargs int QueryMoney(int curr, object pl, int deep);
Liefert den Betrag der angegeben Waehrung und deren validen Muenzen im
Spieler pl.
public mapping ExchangeValue(int curr, int value);
Liefert ein mapping, welches die minimale Stueckelung des Betrages
value in den angegebenen Waehrung enthaelt.
Aufbau: ([ Basiswert: Menge ])
public varargs mixed* PayCash(int curr, object pl, int price, int algo, int deep);
Untersucht, ob der Spieler pl den Preis price bezahlen kann.
Kann er dies nicht, kommt 0 zurueck. Sonst ist der Returnwert
ein zweidimensionales Array: ({ mapping taken, mapping given })
taken und given sind mappings a la retval von ExchangeValue.
taken enthaelt die Muenzen, die dem Spieler abgenommen werden
muessen und given enthaelt die Muenzen, die er zurueckbekommt.
Diese Funktion berechnet nur die Arrays. SIE TRANSFERIERT
KEINERLEI MUENZEN!
public void GiveCoins(int curr, mapping give, object pl);
Gib dem Spieler pl die Muenzen laut mapping coins.
public varargs void TakeCoins(int curr, mapping take, object pl, int deep);
Nimmt dem Spieler pl die Muenzen laut mapping coins ab.
public varargs void DoPurchase(int curr, mixed *exch, object pl, int deep);
Transferiert die Muenzen entsprechend purch. purch entspricht
dabei dem Returnwert von PayCash.
public string SpecCostStr(int curr, mapping vals);
public string CostStr(int curr, int val);
public mapping ParseCostStr(int curr, string coststr);
public string MakeValString(int curr, mapping vals);
public string MakeValHeadLine(int curr);
public string MakePriceList(int curr, string title, string marginchar, int marginwidth, mixed* items, int width);
SIEHE AUCH:
P_CURRECNY, FindTrader(L), PayCash(L), ExchangeValue(L),
DoPurchase(L), MakePriceList(L), HeadLine(L), CostStr(L),
SpecCostStr(L), ParseCostStr(L), MakeValString(L), AddMoney(L),
QueryMoney(L)
|