blob: 8f15cc66d09ef948f4aead14d7608e1496c74df2 [file] [log] [blame]
AddMoney()
**********
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 <amount> festgelegte Geldmenge abgezogen
oder zugefuehrt.
RUeCKGABEWERT
=============
Technisch gesehen wird Geld mit entsprechendem <amount> 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
===========
<amount> kann sowohl positiv als auch negativ sein. Welche
Auswirkungen beide Faelle haben, sollte klar sein. Doch sollte bei
einem negativen <amount> 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 <amount> 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 <zentralbank.h>
// 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, /sys/money.h, /sys/bank.h
/std/container/moneyhandler.c
18.02.2013, Zesstra