blob: 1d56e9a9d56e5ff1fb9259e736948dd4e7aa2cb7 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001locate_objects()
2
3FUNKTION:
4 object *locate_objects(string desc, int info);
5
6DEFINIERT IN:
7 /std/container/restrictions.c
8
9ARGUMENTE:
10 desc
11 Die Umschreibung des gesuchten Objektes.
12
13 info
14 Ist ungleich 0, wenn diese Funktion von /std/living/put_and_get.c
15 aus aufgerufen wurde.
16
17BESCHREIBUNG:
18 Diese Funktion erweitert die Funktionalitaet von present_objects()
19 insofern, als dass es moeglich ist, auch noch Behaelter innerhalb des
20 Behaelters zu durchsuchen. Das genaue Verhalten haengt von desc ab:
21
22 Ist desc von der Form "<id>", so wird das Ergebnis von
23 present_objects(desc) zurueckgegeben.
24
25 Ist desc von der Form "<gesucht> in <id>", so wird in allen Objekten,
26 die von present_objects("<id>") erfasst wurden,
27 locate_objects("<desc>") aufgerufen. Zurueckgegeben werden alle auf
28 diese Weise gefundenen Objekte.
29
30RUeCKGABEWERT:
31 Array von Objekten, die auf die oben geschilderte Art und Weise
32 ermittelt wurden. Konnte kein Objekt ermittelt werden, wird ein leeres
33 Array zurueckgegeben.
34
35BEMERKUNGEN:
36 Theoretisch sollte es moeglich sein, ueber desc rekursiv mehrere
37 Behaelterebenen erfassen zu koennen (etwa mit "schwert in beutel in
38 beutel in wargon"). In der aktuellen Implementierung klappt das jedoch
39 nicht; nach dem ersten "in" ist Schluss!
40
41BEISPIELE:
42 Was steckt alles dem Beutel, den der Spieler bei sich traegt?
43
44 object *obs;
45 obs = this_player()->locate_objects("alles in beutel");
46
47 Traegt der Spieler keinen Beutel bei sich oder ist dieser leer, so wird
48 ein leeres Array zurueckgegeben.
49
50SIEHE AUCH:
51 present_objects(), /std/container/restrictions.c
52
53----------------------------------------------------------------------------
54Last modified: Wed May 8 10:20:36 1996 by Wargon