Dokumentation zu: DoPurchase(L)

HR Image


FUNKTION:
	static varargs 
	void DoPurchase(mixed *exch, object player, int deep)

IMPLEMENTIERT:
	/std/trade.c

ARGUMENTE:
	exch   - Zweidimensionales Array aus Mappings von PayCash(L)
	player - ein Spieler oder NPC
	deep   - (optional) noch nicht unterstuetzt: 0 setzen!

BESCHREIBUNG:
	Transferiert Muenzen aus bzw. in den Spieler entsprechend 'exch'.
	Das Array 'exch' entspricht dem Returnwert von PayCash.
	
	Es werden keinerlei automatische Meldungen ausgegeben, siehe 
	Beispiel unten.

RÜCKGABEWERT:
	Keiner.

BEMERKUNG:
	Es ist darauf zu achten, dass DoPurchase(L) und PayCash(L) in
	unmittelbarer Abfolge durchgefuehrt werden, damit sich zwischen-
	zeitlich nicht die Geldmenge im Spieler wieder veraendern kann!
	
	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:
	inherit "trade";

	#include <coineage.h>
	#include <moving.h>

	...

	int verkaufen(string ding, int preis) {
	  mixed *kohle;

	  // kann der Spieler zahlen?	
	  if (kohle = PayCash(this_player(), preis)) {

	    // clone das Ding
	    object ob = clone_object(ding);
	    
	    // fuehre Bezahlung durch
	    DoPurchase(kohle, this_player());

	    // uebergib Ding oder leg es in den Raum
	    if (ob->move(this_player(), M_GET) < MOVE_OK) {
	      ob->move(environment(this_player()));
	    }

	    // gib Meldungen aus
	    if (!mappingp(kohle[1]) || !sizeof(kohle[1]))
	      write(break_string("Du bezahlst "+SpecCostStr(kohle[0])+"."));
	    else
	      write(break_string("Du bezahlst "+SpecCostStr(kohle[0])+
	        " und bekommst "+SpecCostStr(kohle[1])+" zurueck."));
	    
	    return 1;
	  }
	  
	  // else
	  write("Du hast zu wenig Geld.\n");
	  return 0;
	}

SIEHE AUCH:
	P_CURRENCY, FindTrader(L), PayCash(L), ExchangeValue(L),
	MakePriceList(L), HeadLine(L), CostStr(L), SpecCostStr(L),
	ParseCostStr(L), MakeValString(L), AddMoney(L), QueryMoney(L),
	coinmaster(WL)


Start » Magierhandbuch » Docu » Lfun » DoPurchase Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!