RemoveSingularId()
==================

FUNKTION
--------
::

     void RemoveSingularId(mixed id);

DEFINIERT IN
------------
::

     /std/unit.c

ARGUMENTE
---------
::

     id
          Identifikationsstring oder Array von Strings

BESCHREIBUNG
------------
::

     Es werden ein oder mehrere Bezeichner entfernt, mit denen sich eine
     einzelne Einheit ansprechen laesst.

RUECKGABEWERT
-------------
::

     keiner

BEISPIELE
---------
::

     siehe /items/money.c

SIEHE AUCH
----------
::

     AddSingularId(), RemovePluralId(), AddId(), id(), /std/unit.c


Last modified: Mon Jul 14 11:31:00 1997 by Silvana

