find_obs()
**********


FUNKTION
========

   object* find_obs(string str, int meth)


DEFINIERT IN
============

   /std/living/put_and_get.c


ARGUMENTE
=========

   str     Der String der geparsed werden soll.
   meth    Mit Hilfe dieses Parameters koennen bestimmte Bereichs-
           eingrenzungen vorgenommen werden (definiert in moving.h):

           PUT_GET_NONE - keinerlei Bereichseingrenzung.
           PUT_GET_TAKE - es handelt sich um ein Nehmen von Gegenstaenden
                          also wird das inventory ausgenommen.
           PUT_GET_DROP - es handelt sich um das Entfernen von Gegenstaenden
                          also wird das environment ausgenommen.


BESCHREIBUNG
============

   Der String (str) muss folgendes Format haben damit Objekte gefunden
   werden.

   <gegenstand> [aus container] [in mir|im raum]

   <gegenstand> kann hierbei sowohl eine Objekt-ID als auch ein
   Gruppenbezeichner wie z.b. "alles" sein.


RUeCKGABEWERT
=============

   Ein Array mit allen Objekten die sich angesprochen fuehlen, oder aber 0.


SIEHE AUCH
==========

   drop_obj(), give_obj(), pick_obj(), put_obj(), /std/living/put_and_get.c
