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