blob: 229d1cca8304478aeab8dbfc3a3da1a90eadcd70 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddMoney(L)
2FUNKTION:
3 public int AddMoney(int amount);
4
5DEFINIERT IN:
6 /std/container/moneyhandler.c
7 /std/living/moneyhandler.c
8 /std/player/moneyhandler.c
9
10ARGUMENTE:
11 int amount
12 Die zufuehrende oder abziehende Geldmenge
13
14BESCHREIBUNG:
15 Dem Spieler wird die in <amount> festgelegte Geldmenge abgezogen oder
16 zugefuehrt.
17
18RUeCKGABEWERT:
19 Technisch gesehen wird Geld mit entsprechendem <amount> erzeugt
20 ("/items/money.c") und mittels "move" in den Spieler bewegt. Das Ergebnis
21 dieses "move"-Aufrufes wird hier uebergeben, z.B. 1 fuer OK.
22 Die moeglichen Fehler-Konstanten sind in /sys/moving.h definiert, siehe
23 auch Dokumentation zu "move".
24
25BEMERKUNGEN:
26 <amount> kann sowohl positiv als auch negativ sein. Welche Auswirkungen
27 beide Faelle haben, sollte klar sein. Doch sollte bei einem negativen
28 <amount> vorher mittels QueryMoney() abgefragt werden, ob der Spieler
29 auch ueber ausreichend Geld verfuegt.
30 Wird dem Spieler Geld abgezogen, ist darauf zu achten, dieses in der
31 Zentralbank einzuzahlen (s.a.:PayIn() ).
32 Verschafft man dem Spieler Geld aus dem Nichts, muss es vorher bei der
33 Zentralbank abgebucht (WithDraw()) werden.
34
35 Achtung: Kann der Spieler die in <amount> angebene Geldmenge nicht
36 tragen, werden ihm keine Muenzen in sein Inventar bewegt. Die
37 Fehlermeldung erkennt man an dem Rueckgabewert ME_TOO_HEAVY.
38
39 Im Gegensatz zu Spielern haben alle anderen Objekte (Raeume, NPC, etc.)
40 standardmaessig keinen Moneyhandler. In diesem Fall muss in Lebewesen
41 "/std/living/moneyhandler"
42 und in nicht-Lebewesen
43 "/std/container/moneyhandler"
44 geerbt werden.
45
46BEISPIELE:
47 // gib ihm Geld
48 this_player()->AddMoney(50);
49
50 // nimm ihm Geld
51 if(this_player()->AddMoney(-50)==1)
52 write("Der Ork beklaut dich!\n");
53
54SIEHE AUCH:
55 Geldhandling: QueryMoney(L)
56 Zentralbank: PayIn(L), WithDraw(L)
57 Sonstiges: move(L),
58 /items/money.c, /sys/moving.h, /sys/money.h, /sys/bank.h
59 /std/container/moneyhandler.c
60
6118.02.2013, Zesstra
62