blob: 1d56e9a9d56e5ff1fb9259e736948dd4e7aa2cb7 [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