Lpc Manpages

id()

FUNKTION:
     varargs int id(string str, int lvl);

DEFINIERT IN:
     /std/thing/description.c

ARGUMENTE:
     str
          String, auf den getestet werden soll.
     lvl
          Nur fuer Spieler von Bedeutung (?): 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(),
     /std/thing/description.c, P_IDS, /std/unit.c