Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 1 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | id() |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 3 | **** |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 9 | varargs int id(string str, int lvl); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 12 | DEFINIERT IN |
| 13 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 15 | /std/thing/description.c |
| 16 | /std/player/base.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 19 | ARGUMENTE |
| 20 | ========= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 22 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 27 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 28 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 29 | BESCHREIBUNG |
| 30 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 31 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 32 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 36 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 37 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 50 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 51 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 52 | RUeCKGABEWERT |
| 53 | ============= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 54 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 55 | 1, wenn sich das Objekt von str angesprochen fuehlt, ansonsten 0. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 56 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame^] | 57 | |
| 58 | BEISPIELE |
| 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 | |
| 93 | SIEHE AUCH |
| 94 | ========== |
| 95 | |
| 96 | AddId(), AddAdjective(), AddSingularId(), AddPluralId(), present(), |
| 97 | match_ids(), /std/thing/description.c, /std/unit.c |
| 98 | |
| 99 | 6. Sep 2012 Gloinson |