blob: 492139510d547aa06ffda18f19075ac8795b62c2 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002id()
Zesstra953f9972017-02-18 15:37:36 +01003****
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 varargs int id(string str, int lvl);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /std/thing/description.c
16 /std/player/base.c
MG Mud User88f12472016-06-24 23:31:02 +020017
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019ARGUMENTE
20=========
MG Mud User88f12472016-06-24 23:31:02 +020021
Zesstra953f9972017-02-18 15:37:36 +010022 string str
23 String, auf den getestet werden soll.
24 int lvl
25 In /std/player/base.c benutzt. Wenn der Spieler unsichtbar ist
26 und lvl kleiner ist als sein Level, wird 0 zurueckgegeben.
MG Mud User88f12472016-06-24 23:31:02 +020027
MG Mud User88f12472016-06-24 23:31:02 +020028
Zesstra953f9972017-02-18 15:37:36 +010029BESCHREIBUNG
30============
MG Mud User88f12472016-06-24 23:31:02 +020031
Zesstra953f9972017-02-18 15:37:36 +010032 Es wird geprueft, ob sich das Objekt mit str ansprechen laesst. Dazu
33 wird str mit dem Inhalt der Property P_IDS verglichen. Falls
34 P_ADJECTIVES gesetzt ist, werden auch alle Adjektivkombinationen mit
35 den Bezeichnern geprueft.
MG Mud User88f12472016-06-24 23:31:02 +020036
Zesstra953f9972017-02-18 15:37:36 +010037 Besondere Bedeutung hat diese Funktion bei Mengenobjekten: Anhand von
38 str wird vermerkt, welche Menge des Objektes angesprochen wird. Es
39 werden dabei mehrere Faelle unterschieden:
40 o str ist einer der mit AddId() angegebener Bezeichner. In diesem
41 Fall ist die angesprochene Menge die Gesamtmenge.
42 o str ist einer der mit AddSingularId() angegebenen Bezeichner. Die
43 angesprochene Menge ist in diesem Fall 1.
44 o str ist einer der mit AddPluralId() angegebenen Bezeichner. Die
45 angesprochene Menge ist in diesem Fall . die Gesamtmenge.
46 o Hat str die Form "<n> <id>", wobei <n>=1 und <id> eine SingularId
47 oder 1 < <n> <= der Gesamtmenge und <id> eine PluralId, so ist die
48 angesprochene Menge = <n>.
49 Wie gesagt, gilt dies einzig und allein bei Mengenobjekten!
MG Mud User88f12472016-06-24 23:31:02 +020050
MG Mud User88f12472016-06-24 23:31:02 +020051
Zesstra953f9972017-02-18 15:37:36 +010052RUeCKGABEWERT
53=============
MG Mud User88f12472016-06-24 23:31:02 +020054
Zesstra953f9972017-02-18 15:37:36 +010055 1, wenn sich das Objekt von str angesprochen fuehlt, ansonsten 0.
MG Mud User88f12472016-06-24 23:31:02 +020056
Zesstra953f9972017-02-18 15:37:36 +010057
58BEISPIELE
59=========
60
61 Angenommen, ein Objekt habe folgende Bezeichner:
62
63 AddId( "murmel" );
64 AddAdjective( "runde" );
65
66 Dann liefern die angegebenen id()-Aufrufe folgende Ergebnisse:
67
68 id( "murmel" ); => 1
69 id( "runde murmel" ); => 1
70 id( "kleine murmel" ); => 0
71 id( "runder ball" ); => 0
72 id( "runde murmel 2" ); => 1, wenn dies die zweite Murmel in der
73 gleichen Umgebung ist, ansonsten 0
74
75 Bei einem Haufen von 100 Muenzen haette man zB.:
76
77 AddId( "geld" );
78 AddSingularId( "muenze" );
79 AddPluralId( "muenzen" );
80
81 Nach fuehlen sich nach den folgenden id()-Aufrufen folgende Anzahlen
82 angesprochen:
83
84 id( "geld" ); => 100 Muenzen
85 id( "muenze" ); => 1 Muenze
86 id( "muenzen" ); => 100 Muenzen
87 id( "1 muenze" ); => 1 Muenze
88 id( "42 muenzen" ); => 42 Muenzen
89
90 id() liefert in all diesen Faellen 1 zurueck.
91
92
93SIEHE AUCH
94==========
95
96 AddId(), AddAdjective(), AddSingularId(), AddPluralId(), present(),
97 match_ids(), /std/thing/description.c, /std/unit.c
98
996. Sep 2012 Gloinson