_query_current_money()
FUNKTION:
     int _query_current_money()

DEFINIERT IN:
     /p/daemon/zentralbank.c

BESCHREIBUNG:
     Es wird zurueckgegeben, wieviel Geld die Zentralbank besitzt.

BEISPIELE:
     #include <bank.h>
     ...
     if(ZENTRALBANK->_query_current_money()<30000) {
      write(break_string(
       "Leider koennen wir ihren Bausparvertrag derzeit nicht einloesen.",
       "Der Beamte sagt: ",78));
      say(break_string(
       "Leider koennen wir ihren Bausparvertrag derzeit nicht einloesen.",
       "Der Beamte sagt zu "+this_player()->name(WEM)+": ",78));
     }

BEMERKUNGEN:
     Unsere Zentralbank ist korrupt, vor allem dadurch, dass in Laeden und
     an anderen Stellen Geld erzeugt wird.

SIEHE AUCH:
     Geldhandling:	AddMoney(L), QueryMoney(L)
     Zentralbank:	WithDraw(L), PayIn(L)
     Sonstiges:		/items/money.c, /sys/bank.h

27. Apr 2004 Gloinson
