| id() |
| |
| FUNKTION: |
| varargs int id(string str, int lvl); |
| |
| DEFINIERT IN: |
| /std/thing/description.c |
| /std/player/base.c |
| |
| ARGUMENTE: |
| string str |
| String, auf den getestet werden soll. |
| int lvl |
| In /std/player/base.c benutzt. Wenn der Spieler unsichtbar ist |
| und lvl kleiner ist als sein Level, wird 0 zurueckgegeben. |
| |
| BESCHREIBUNG: |
| Es wird geprueft, ob sich das Objekt mit str ansprechen laesst. Dazu |
| wird str mit dem Inhalt der Property P_IDS verglichen. Falls |
| P_ADJECTIVES gesetzt ist, werden auch alle Adjektivkombinationen mit |
| den Bezeichnern geprueft. |
| |
| Besondere Bedeutung hat diese Funktion bei Mengenobjekten: Anhand von |
| str wird vermerkt, welche Menge des Objektes angesprochen wird. Es |
| werden dabei mehrere Faelle unterschieden: |
| o str ist einer der mit AddId() angegebener Bezeichner. In diesem |
| Fall ist die angesprochene Menge die Gesamtmenge. |
| o str ist einer der mit AddSingularId() angegebenen Bezeichner. Die |
| angesprochene Menge ist in diesem Fall 1. |
| o str ist einer der mit AddPluralId() angegebenen Bezeichner. Die |
| angesprochene Menge ist in diesem Fall . die Gesamtmenge. |
| o Hat str die Form "<n> <id>", wobei <n>=1 und <id> eine SingularId |
| oder 1 < <n> <= der Gesamtmenge und <id> eine PluralId, so ist die |
| angesprochene Menge = <n>. |
| Wie gesagt, gilt dies einzig und allein bei Mengenobjekten! |
| |
| RUeCKGABEWERT: |
| 1, wenn sich das Objekt von str angesprochen fuehlt, ansonsten 0. |
| |
| BEISPIELE: |
| Angenommen, ein Objekt habe folgende Bezeichner: |
| |
| AddId( "murmel" ); |
| AddAdjective( "runde" ); |
| |
| Dann liefern die angegebenen id()-Aufrufe folgende Ergebnisse: |
| |
| id( "murmel" ); => 1 |
| id( "runde murmel" ); => 1 |
| id( "kleine murmel" ); => 0 |
| id( "runder ball" ); => 0 |
| id( "runde murmel 2" ); => 1, wenn dies die zweite Murmel in der |
| gleichen Umgebung ist, ansonsten 0 |
| |
| Bei einem Haufen von 100 Muenzen haette man zB.: |
| |
| AddId( "geld" ); |
| AddSingularId( "muenze" ); |
| AddPluralId( "muenzen" ); |
| |
| Nach fuehlen sich nach den folgenden id()-Aufrufen folgende Anzahlen |
| angesprochen: |
| |
| id( "geld" ); => 100 Muenzen |
| id( "muenze" ); => 1 Muenze |
| id( "muenzen" ); => 100 Muenzen |
| id( "1 muenze" ); => 1 Muenze |
| id( "42 muenzen" ); => 42 Muenzen |
| |
| id() liefert in all diesen Faellen 1 zurueck. |
| |
| SIEHE AUCH: |
| AddId(), AddAdjective(), AddSingularId(), AddPluralId(), present(), |
| match_ids(), /std/thing/description.c, /std/unit.c |
| |
| 6. Sep 2012 Gloinson |