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 festgelegte Geldmenge abgezogen oder zugefuehrt. RUeCKGABEWERT ------------- Technisch gesehen wird Geld mit entsprechendem 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 ----------- kann sowohl positiv als auch negativ sein. Welche Auswirkungen beide Faelle haben, sollte klar sein. Doch sollte bei einem negativen 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 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 --------- .. code-block:: pike #include // 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