| 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 <bank.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, /std/container/moneyhandler.c |
| /sys/money.h, /sys/bank.h |
| |
| 18.02.2013, Zesstra |