
AddId()
*******


FUNKTION
========

   void AddId(string|string* ids);


DEFINIERT IN
============

   /std/thing/description.c


ARGUMENTE
=========

   ids
        String oder Array von Strings mit den Bezeichnungen, mit denen
        sich sich das Objekt ansprechen lassen soll.


BESCHREIBUNG
============

   Jedes Objekt sollte sich auf die eine oder andere Weise ansprechen
   lassen. Zu diesem Zweck kann man dem Objekt mit dieser Funktion
   Bezeichner uebergeben.


RUeCKGABEWERT
=============

   keiner


BEMERKUNGEN
===========

   Jedes Objekt sollte man zumindest mit seiner Kurzbeschreibung
   ansprechen koennen! Fuer Abfragen von Questobjeken o.ae. sollte man
   zusaetzlich IDs verwenden, die Sonderzeichen wie "\n" oder "\t"
   enthalten, damit sichergestellt ist, dass der Spieler auch wirklich die
   richtigen Objekte dabeihat.


BEISPIELE
=========

   AddId( "buch" );
   AddId( "buechlein" );

   Das Objekt laesst sich jetzt als "buch" und als "buechlein" ansprechen.

   AddId( ({ "buch", "buechlein" }) );

   Diese Zeile bewirkt das gleiche wie die obigen zwei Zeilen.

   AddId( ({ "puzzle", "\nquest_puzzle" }) );

   Der Spieler kann das Objekt als "puzzle" ansprechen, questrelevante
   Objekte koennen mit der ID "\nquest_puzzle" nach ihm suchen.


SIEHE AUCH
==========

   AddAdjective(), RemoveId(), id(), present(), /std/thing/description.c

   -----------------------------------------------------------------------

20.01.2015, Zesstra
