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