put()
*****


FUNKTION
========

   public varargs int put(object o, object dest, mixed msg);


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

   /std/living/put_and_get.c


ARGUMENTE
=========

   object o
       Das Objekt, das irgendwo hingesteckt werden soll.
   object dest
       Der Behaelter, in den das Objekt gesteckt werden soll.
   mixed msg
       Eine optionale Meldung, die anstelle von P_PUT_MSG oder der
       Standardmeldung verwendet wird, oder -1, um die Meldung zu
       unterdruecken.


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

   Der Spieler oder NPC steckt das Objekt in einen Behaelter. Gibt o->move()
   keinen positiven Wert zurueck, beispielsweise weil er das Objekt nicht
   weggeben darf oder der Behaelter schon voll ist, bekommt er eine
   entsprechende Fehlermeldung.


RUECKGABEWERT
=============

   Wenn das Bewegen geklappt hat, 1, ansonsten 0.


BEMERKUNG
=========

   Diese Funktion ist dann sinnvoll, wenn man den Spieler ein Objekt irgendwo
   hinstecken lassen und sich nicht selbst um die Fehlerbehandlung kuemmern
   moechte - und da unzaehlige verschiedene Dinge schiefgehen koennen und
   manche Objekte eigene Fehlermeldungen definieren, eigentlich immer.

   Die Funktion prueft nicht, ob sich das Objekt und der Behaelter ueberhaupt
   in der Reichweite des Spielers/NPC befinden, das muss man ggf. selbst
   ermitteln.


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

   move(L), P_PUT_MSG, put_objects(L), P_NOINSERT_MSG, P_NOLEAVE_MSG,
   P_TOO_MANY_MSG, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOGET, P_NODROP

Last modified: Thu Aug 28 22:21:58 2008 by Amynthor
