find_livings()
==============

FUNKTION
--------
::

        object *find_livings(string name)

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

        name - der living_name der gesuchten Lebewesen

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

        Diese Funktion liefert ein Array mit allen Lebewesen, die den gleichen
        living_name haben.

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

        Array mit den Lebewesen oder 0, wenn es kein Lebewesen diesen Namens
        gibt.

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

        ob = find_livings("herkules");
        => ob = ({ [/human:herkules], 
                   [/d/inseln/wargon/luftschloss/mon/herkules] })

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

        find_living(E), set_living_name(E), find_player(E), find_netdead(E)

LETZTE AENDERUNG
----------------
::

19. Okt. 2015, Arathorn

