
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
