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