blob: 7cf5aed8e13800104a148fd2db21f27c6496e9a3 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001id()
2
3FUNKTION:
4 varargs int id(string str, int lvl);
5
6DEFINIERT IN:
7 /std/thing/description.c
8 /std/player/base.c
9
10ARGUMENTE:
11 string str
12 String, auf den getestet werden soll.
13 int lvl
14 In /std/player/base.c benutzt. Wenn der Spieler unsichtbar ist
15 und lvl kleiner ist als sein Level, wird 0 zurueckgegeben.
16
17BESCHREIBUNG:
18 Es wird geprueft, ob sich das Objekt mit str ansprechen laesst. Dazu
19 wird str mit dem Inhalt der Property P_IDS verglichen. Falls
20 P_ADJECTIVES gesetzt ist, werden auch alle Adjektivkombinationen mit
21 den Bezeichnern geprueft.
22
23 Besondere Bedeutung hat diese Funktion bei Mengenobjekten: Anhand von
24 str wird vermerkt, welche Menge des Objektes angesprochen wird. Es
25 werden dabei mehrere Faelle unterschieden:
26 o str ist einer der mit AddId() angegebener Bezeichner. In diesem
27 Fall ist die angesprochene Menge die Gesamtmenge.
28 o str ist einer der mit AddSingularId() angegebenen Bezeichner. Die
29 angesprochene Menge ist in diesem Fall 1.
30 o str ist einer der mit AddPluralId() angegebenen Bezeichner. Die
31 angesprochene Menge ist in diesem Fall . die Gesamtmenge.
32 o Hat str die Form "<n> <id>", wobei <n>=1 und <id> eine SingularId
33 oder 1 < <n> <= der Gesamtmenge und <id> eine PluralId, so ist die
34 angesprochene Menge = <n>.
35 Wie gesagt, gilt dies einzig und allein bei Mengenobjekten!
36
37RUeCKGABEWERT:
38 1, wenn sich das Objekt von str angesprochen fuehlt, ansonsten 0.
39
40BEISPIELE:
41 Angenommen, ein Objekt habe folgende Bezeichner:
42
43 AddId( "murmel" );
44 AddAdjective( "runde" );
45
46 Dann liefern die angegebenen id()-Aufrufe folgende Ergebnisse:
47
48 id( "murmel" ); => 1
49 id( "runde murmel" ); => 1
50 id( "kleine murmel" ); => 0
51 id( "runder ball" ); => 0
52 id( "runde murmel 2" ); => 1, wenn dies die zweite Murmel in der
53 gleichen Umgebung ist, ansonsten 0
54
55 Bei einem Haufen von 100 Muenzen haette man zB.:
56
57 AddId( "geld" );
58 AddSingularId( "muenze" );
59 AddPluralId( "muenzen" );
60
61 Nach fuehlen sich nach den folgenden id()-Aufrufen folgende Anzahlen
62 angesprochen:
63
64 id( "geld" ); => 100 Muenzen
65 id( "muenze" ); => 1 Muenze
66 id( "muenzen" ); => 100 Muenzen
67 id( "1 muenze" ); => 1 Muenze
68 id( "42 muenzen" ); => 42 Muenzen
69
70 id() liefert in all diesen Faellen 1 zurueck.
71
72SIEHE AUCH:
73 AddId(), AddAdjective(), AddSingularId(), AddPluralId(), present(),
74 match_ids(), /std/thing/description.c, /std/unit.c
75
766. Sep 2012 Gloinson