QueryMoney()
============

FUNKTION
--------
::

     int QueryMoney()

DEFINIERT IN
------------
::

     /std/player/moneyhandler.c

BESCHREIBUNG
------------
::

     Testet, ob ein Spieler, Objekt, Raum oder Npc ueber eine definierte 
     Geldmenge verfuegt, oder nicht.

RUECKGABEWERT
-------------
::

     Geldmenge im Besitz des abgefragten Spielers

BEISPIELE
---------
::

     int i;
     i=50+random(10);
     if(!this_player()->QueryMoney())
       write("Du besitzt keine Muenzen!\n");
     if(this_player()->QueryMoney() < i)
       write("Du besitzt nicht die erforderlichen "+i+" Muenzen.\n");

SIEHE AUCH
----------
::

     Geldhandling:	AddMoney(L)
     Zentralbank:	PayIn(L), WithDraw(L), _query_current_money(L)
     Sonstiges:		/items/money.c

Last modified: Die,  1. Aug 2000, 16:39:06 by Tilly

