blob: d9040b8f9101b2cd70e3d2a5139ca20628d7cf37 [file] [log] [blame]
locate_objects()
================
FUNKTION
--------
::
object *locate_objects(string desc, int info);
DEFINIERT IN
------------
::
/std/container/restrictions.c
ARGUMENTE
---------
::
desc
Die Umschreibung des gesuchten Objektes.
info
Ist ungleich 0, wenn diese Funktion von /std/living/put_and_get.c
aus aufgerufen wurde.
BESCHREIBUNG
------------
::
Diese Funktion erweitert die Funktionalitaet von present_objects()
insofern, als dass es moeglich ist, auch noch Behaelter innerhalb des
Behaelters zu durchsuchen. Das genaue Verhalten haengt von desc ab:
Ist desc von der Form "<id>", so wird das Ergebnis von
present_objects(desc) zurueckgegeben.
Ist desc von der Form "<gesucht> in <id>", so wird in allen Objekten,
die von present_objects("<id>") erfasst wurden,
locate_objects("<desc>") aufgerufen. Zurueckgegeben werden alle auf
diese Weise gefundenen Objekte.
RUeCKGABEWERT
-------------
::
Array von Objekten, die auf die oben geschilderte Art und Weise
ermittelt wurden. Konnte kein Objekt ermittelt werden, wird ein leeres
Array zurueckgegeben.
BEMERKUNGEN
-----------
::
Theoretisch sollte es moeglich sein, ueber desc rekursiv mehrere
Behaelterebenen erfassen zu koennen (etwa mit "schwert in beutel in
beutel in wargon"). In der aktuellen Implementierung klappt das jedoch
nicht; nach dem ersten "in" ist Schluss!
BEISPIELE
---------
::
Was steckt alles dem Beutel, den der Spieler bei sich traegt?
object *obs;
obs = this_player()->locate_objects("alles in beutel");
Traegt der Spieler keinen Beutel bei sich oder ist dieser leer, so wird
ein leeres Array zurueckgegeben.
SIEHE AUCH
----------
::
present_objects(), /std/container/restrictions.c
Last modified: Wed May 8 10:20:36 1996 by Wargon