blob: 6518215601864879c93f72f87ccc0e5db60108e6 [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
Arathornae6dbc92020-07-27 23:36:15 +020019 /std/container/moneyhandler.c /std/living/moneyhandler.c
Zesstra953f9972017-02-18 15:37:36 +010020 /std/player/moneyhandler.c
MG Mud User88f12472016-06-24 23:31:02 +020021
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023ARGUMENTE
24=========
MG Mud User88f12472016-06-24 23:31:02 +020025
Zesstra953f9972017-02-18 15:37:36 +010026 int amount
Arathornae6dbc92020-07-27 23:36:15 +020027 Die zufuehrende oder abziehende Geldmenge
MG Mud User88f12472016-06-24 23:31:02 +020028
Zesstra953f9972017-02-18 15:37:36 +010029
30BESCHREIBUNG
31============
32
Arathornae6dbc92020-07-27 23:36:15 +020033 Dem Spieler wird die in <amount> festgelegte Geldmenge abgezogen
34 oder zugefuehrt.
Zesstra953f9972017-02-18 15:37:36 +010035
36
37RUeCKGABEWERT
38=============
39
40 Technisch gesehen wird Geld mit entsprechendem <amount> erzeugt
Arathornae6dbc92020-07-27 23:36:15 +020041 ("/items/money.c") und mittels "move" in den Spieler bewegt. Das
42 Ergebnis dieses "move"-Aufrufes wird hier uebergeben, z.B. 1 fuer
43 OK. Die moeglichen Fehler-Konstanten sind in /sys/moving.h
44 definiert, siehe auch Dokumentation zu "move".
Zesstra953f9972017-02-18 15:37:36 +010045
46
47BEMERKUNGEN
48===========
49
Arathornae6dbc92020-07-27 23:36:15 +020050 <amount> kann sowohl positiv als auch negativ sein. Welche
51 Auswirkungen beide Faelle haben, sollte klar sein. Doch sollte bei
52 einem negativen <amount> vorher mittels QueryMoney() abgefragt
53 werden, ob der Spieler auch ueber ausreichend Geld verfuegt. Wird
54 dem Spieler Geld abgezogen, ist darauf zu achten, dieses in der
55 Zentralbank einzuzahlen (s.a.:PayIn() ). Verschafft man dem Spieler
56 Geld aus dem Nichts, muss es vorher bei der Zentralbank abgebucht
57 (WithDraw()) werden.
Zesstra953f9972017-02-18 15:37:36 +010058
59 Achtung: Kann der Spieler die in <amount> angebene Geldmenge nicht
Arathornae6dbc92020-07-27 23:36:15 +020060 tragen, werden ihm keine Muenzen in sein Inventar bewegt. Die
61 Fehlermeldung erkennt man an dem Rueckgabewert ME_TOO_HEAVY.
Zesstra953f9972017-02-18 15:37:36 +010062
Arathornae6dbc92020-07-27 23:36:15 +020063 Im Gegensatz zu Spielern haben alle anderen Objekte (Raeume, NPC,
64 etc.) standardmaessig keinen Moneyhandler. In diesem Fall muss in
65 Lebewesen "/std/living/moneyhandler" und in nicht-Lebewesen
66 "/std/container/moneyhandler" geerbt werden.
Zesstra953f9972017-02-18 15:37:36 +010067
68
69BEISPIELE
70=========
71
Arathorn41004de2020-10-18 22:03:28 +020072 #include <bank.h>
Arathornf1fdf632020-05-01 22:41:25 +020073
Zesstra953f9972017-02-18 15:37:36 +010074 // gib ihm Geld
Arathorn41004de2020-10-18 22:03:28 +020075 int money = ZENTRALBANK->WithDraw(50);
Arathornf1fdf632020-05-01 22:41:25 +020076 this_player()->AddMoney(money);
Zesstra953f9972017-02-18 15:37:36 +010077
78 // nimm ihm Geld
79 if(this_player()->AddMoney(-50)==1)
Arathornf1fdf632020-05-01 22:41:25 +020080 {
81 write("Der Ork beklaut dich!\n");
82 ZENTRALBANK->PayIn(50);
83 }
Zesstra953f9972017-02-18 15:37:36 +010084
85
86SIEHE AUCH
87==========
88
Arathorn41004de2020-10-18 22:03:28 +020089 Geldhandling: QueryMoney(L)
90 Zentralbank: PayIn(L), WithDraw(L)
91 Sonstiges: move(L),
92 /items/money.c
93 /sys/moving.h, /std/container/moneyhandler.c
94 /sys/money.h, /sys/bank.h
MG Mud User88f12472016-06-24 23:31:02 +020095
9618.02.2013, Zesstra