blob: ace652bc7b10a3d3e66eba5b6c81faf22791b6dc [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_AERIAL_HELPERS
2================
3
4NAME
5----
Zesstra18626972017-01-31 10:38:27 +01006
7 P_AERIAL_HELPERS "lib_p_aerial_helpers"
8
9DEFINIERT IN
10------------
Zesstra18626972017-01-31 10:38:27 +010011
12 <living/helpers.h>
13
14BESCHREIBUNG
15------------
Zesstra18626972017-01-31 10:38:27 +010016
17 Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
Zesstra362c7372018-02-05 00:02:24 +010018 zu ermitteln, die sich fuer die Unterstuetzung beim Fliegen/Segeln bei
19 diesem Lebewesen registriert haben. Die Daten werden als Mapping der
20 folgenden Form zurueckgeliefert:
Zesstra18626972017-01-31 10:38:27 +010021 ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
22 Eine Erlaeuterung dazu findet sich in der Dokumentation zu
Zesstra362c7372018-02-05 00:02:24 +010023 :doc:`../lfun/RegisterHelperObject`.
Zesstra18626972017-01-31 10:38:27 +010024
25BEMERKUNGEN
26-----------
Zesstra18626972017-01-31 10:38:27 +010027
28 Diese Property kann nur abgefragt werden.
29 Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
30 Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
31
32BEISPIEL
33--------
Zesstra18626972017-01-31 10:38:27 +010034
35 Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
36 beim Fliegen hilft, sucht man alle Objekte aus dem Mapping heraus, die
37 einen Wert >0 eingetragen haben und prueft deren Anzahl:
38
Zesstra362c7372018-02-05 00:02:24 +010039.. code-block:: pike
40
Zesstra18626972017-01-31 10:38:27 +010041 mapping aerial = this_player()->QueryProp(P_AERIAL_HELPERS);
Zesstra362c7372018-02-05 00:02:24 +010042 object* helpers = filter( m_indices(aerial), function int (object h) {
Zesstra18626972017-01-31 10:38:27 +010043 return (aerial[h]>0); });
44 if ( sizeof(helpers) ) {
45 tell_object(this_player(), "Du erhebst Dich mit Hilfe "+
46 helpers[0]->name(WESSEN,1)+" elegant in die Luefte.\n");
47 }
48 else {
49 tell_object(this_player(), "Du hast nichts zum Fliegen bei Dir.\n");
50 }
51
52SIEHE AUCH
53----------
Zesstra18626972017-01-31 10:38:27 +010054
Zesstra362c7372018-02-05 00:02:24 +010055 Methoden: :doc:`../lfun/RegisterHelperObject`, :doc:`../lfun/UnregisterHelperObject`
56 Properties: :doc:`P_HELPER_OBJECTS`, :doc:`P_AQUATIC_HELPERS`
Zesstra18626972017-01-31 10:38:27 +010057
Zesstra362c7372018-02-05 00:02:24 +01005804.02.2018, Arathorn