GetInfoArr()
============

FUNKTION
--------
::

     static mixed *GetInfoArr(string str)

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

     /std/npc/info.c

ARGUMENTE
---------
::

     string str	 - Schluesselwort der Frage

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

     Sucht nach einem Schluesselwort in den abgelegten Antworten
     und gibt die Informationen oder einen 0er-Array zurueck.

BEMERKUNGEN
-----------
::

     Ueberschreibbar :)

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

     Siehe Parameter von AddInfo:

     Array mit:
     ({ <Infostring> (0 fuer keine Antwort),
        <Indent-String> (Default: 0),
        <Silent> (Default: 0),
        <Casebased> (Default: 0)
     })

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

     Verwandt: AddInfo, do_frage

31.Mar 2007 Gloinson

