blob: 5cc956c795d5b08f6e1f61deaeaf53604e882a29 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001locate_objects()
Zesstra953f9972017-02-18 15:37:36 +01002****************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 object *locate_objects(string desc, int info);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/container/restrictions.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 desc
21 Die Umschreibung des gesuchten Objektes.
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023 info
24 Ist ungleich 0, wenn diese Funktion von /std/living/put_and_get.c
25 aus aufgerufen wurde.
MG Mud User88f12472016-06-24 23:31:02 +020026
MG Mud User88f12472016-06-24 23:31:02 +020027
Zesstra953f9972017-02-18 15:37:36 +010028BESCHREIBUNG
29============
MG Mud User88f12472016-06-24 23:31:02 +020030
Zesstra953f9972017-02-18 15:37:36 +010031 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:
MG Mud User88f12472016-06-24 23:31:02 +020034
Zesstra953f9972017-02-18 15:37:36 +010035 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
43
44RUeCKGABEWERT
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
51
52BEMERKUNGEN
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
60
61BEISPIELE
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
72
73SIEHE AUCH
74==========
75
76 present_objects(), /std/container/restrictions.c
77
MG Mud User88f12472016-06-24 23:31:02 +020078Last modified: Wed May 8 10:20:36 1996 by Wargon