Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//lfun/AddMoneyAddMoney()
**********
AddMoney(L)
===========
FUNKTION
========
public int AddMoney(int amount);
DEFINIERT IN
============
/std/container/moneyhandler.c /std/living/moneyhandler.c
/std/player/moneyhandler.c
ARGUMENTE
=========
int amount
Die zufuehrende oder abziehende Geldmenge
BESCHREIBUNG
============
Dem Spieler wird die in festgelegte Geldmenge abgezogen
oder zugefuehrt.
RUeCKGABEWERT
=============
Technisch gesehen wird Geld mit entsprechendem erzeugt
("/items/money.c") und mittels "move" in den Spieler bewegt. Das
Ergebnis dieses "move"-Aufrufes wird hier uebergeben, z.B. 1 fuer
OK. Die moeglichen Fehler-Konstanten sind in /sys/moving.h
definiert, siehe auch Dokumentation zu "move".
BEMERKUNGEN
===========
kann sowohl positiv als auch negativ sein. Welche
Auswirkungen beide Faelle haben, sollte klar sein. Doch sollte bei
einem negativen vorher mittels QueryMoney() abgefragt
werden, ob der Spieler auch ueber ausreichend Geld verfuegt. Wird
dem Spieler Geld abgezogen, ist darauf zu achten, dieses in der
Zentralbank einzuzahlen (s.a.:PayIn() ). Verschafft man dem Spieler
Geld aus dem Nichts, muss es vorher bei der Zentralbank abgebucht
(WithDraw()) werden.
Achtung: Kann der Spieler die in angebene Geldmenge nicht
tragen, werden ihm keine Muenzen in sein Inventar bewegt. Die
Fehlermeldung erkennt man an dem Rueckgabewert ME_TOO_HEAVY.
Im Gegensatz zu Spielern haben alle anderen Objekte (Raeume, NPC,
etc.) standardmaessig keinen Moneyhandler. In diesem Fall muss in
Lebewesen "/std/living/moneyhandler" und in nicht-Lebewesen
"/std/container/moneyhandler" geerbt werden.
BEISPIELE
=========
#include
// gib ihm Geld
int money = ZENTRALBANK->WithDraw(50);
this_player()->AddMoney(money);
// nimm ihm Geld
if(this_player()->AddMoney(-50)==1)
{
write("Der Ork beklaut dich!\n");
ZENTRALBANK->PayIn(50);
}
SIEHE AUCH
==========
Geldhandling: QueryMoney(L)
Zentralbank: PayIn(L), WithDraw(L)
Sonstiges: move(L),
/items/money.c
/sys/moving.h, /std/container/moneyhandler.c
/sys/money.h, /sys/bank.h
18.02.2013, Zesstra
zurück zur Übersicht