blob: e90846d6c04863c591d3c76d7072700cd85032d6 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2AddMoney()
3**********
4
5
MG Mud User88f12472016-06-24 23:31:02 +02006AddMoney(L)
Zesstra953f9972017-02-18 15:37:36 +01007===========
MG Mud User88f12472016-06-24 23:31:02 +02008
MG Mud User88f12472016-06-24 23:31:02 +02009
Zesstra953f9972017-02-18 15:37:36 +010010FUNKTION
11========
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstra953f9972017-02-18 15:37:36 +010013 public int AddMoney(int amount);
MG Mud User88f12472016-06-24 23:31:02 +020014
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016DEFINIERT IN
17============
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019 /std/container/moneyhandler.c
20 /std/living/moneyhandler.c
21 /std/player/moneyhandler.c
MG Mud User88f12472016-06-24 23:31:02 +020022
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra953f9972017-02-18 15:37:36 +010024ARGUMENTE
25=========
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027 int amount
28 Die zufuehrende oder abziehende Geldmenge
MG Mud User88f12472016-06-24 23:31:02 +020029
Zesstra953f9972017-02-18 15:37:36 +010030
31BESCHREIBUNG
32============
33
34 Dem Spieler wird die in <amount> festgelegte Geldmenge abgezogen oder
35 zugefuehrt.
36
37
38RUeCKGABEWERT
39=============
40
41 Technisch gesehen wird Geld mit entsprechendem <amount> erzeugt
42 ("/items/money.c") und mittels "move" in den Spieler bewegt. Das Ergebnis
43 dieses "move"-Aufrufes wird hier uebergeben, z.B. 1 fuer OK.
44 Die moeglichen Fehler-Konstanten sind in /sys/moving.h definiert, siehe
45 auch Dokumentation zu "move".
46
47
48BEMERKUNGEN
49===========
50
51 <amount> kann sowohl positiv als auch negativ sein. Welche Auswirkungen
52 beide Faelle haben, sollte klar sein. Doch sollte bei einem negativen
53 <amount> vorher mittels QueryMoney() abgefragt werden, ob der Spieler
54 auch ueber ausreichend Geld verfuegt.
55 Wird dem Spieler Geld abgezogen, ist darauf zu achten, dieses in der
56 Zentralbank einzuzahlen (s.a.:PayIn() ).
57 Verschafft man dem Spieler Geld aus dem Nichts, muss es vorher bei der
58 Zentralbank abgebucht (WithDraw()) werden.
59
60 Achtung: Kann der Spieler die in <amount> angebene Geldmenge nicht
61 tragen, werden ihm keine Muenzen in sein Inventar bewegt. Die
62 Fehlermeldung erkennt man an dem Rueckgabewert ME_TOO_HEAVY.
63
64 Im Gegensatz zu Spielern haben alle anderen Objekte (Raeume, NPC, etc.)
65 standardmaessig keinen Moneyhandler. In diesem Fall muss in Lebewesen
66 "/std/living/moneyhandler"
67 und in nicht-Lebewesen
68 "/std/container/moneyhandler"
69 geerbt werden.
70
71
72BEISPIELE
73=========
74
Arathornf1fdf632020-05-01 22:41:25 +020075 #include <zentralbank.h>
76
Zesstra953f9972017-02-18 15:37:36 +010077 // gib ihm Geld
Arathornf1fdf632020-05-01 22:41:25 +020078 int money = ZENTRALBANK->Withdraw(50);
79 this_player()->AddMoney(money);
Zesstra953f9972017-02-18 15:37:36 +010080
81 // nimm ihm Geld
82 if(this_player()->AddMoney(-50)==1)
Arathornf1fdf632020-05-01 22:41:25 +020083 {
84 write("Der Ork beklaut dich!\n");
85 ZENTRALBANK->PayIn(50);
86 }
Zesstra953f9972017-02-18 15:37:36 +010087
88
89SIEHE AUCH
90==========
91
92 Geldhandling: QueryMoney(L)
93 Zentralbank: PayIn(L), WithDraw(L)
94 Sonstiges: move(L),
95 /items/money.c, /sys/moving.h, /sys/money.h, /sys/bank.h
96 /std/container/moneyhandler.c
MG Mud User88f12472016-06-24 23:31:02 +020097
9818.02.2013, Zesstra