P_DROP_MSG
**********


NAME
====

   P_DROP_MSG                         "drop_message"


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

   /sys/living/put_and_get.h


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

   Mit P_DROP_MSG kann man die Meldung, die man beim Ablegen eines
   Objektes bekommt, modifizieren.

   Folgende Werte sind moeglich:



   o 0
     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.



   o NO_PNG_MSG       == -1
     Es wird keinerlei Meldung ausgegeben



   o Ein Array aus Strings
     Der erste String wird an den Spieler ausgegeben, der zweite
     (optionale) an den Raum.



     Die Strings werden durch die Funktion replace_personal() geparst.
      Objekt1 - Spieler
      Objekt2 - das Objekt, das fallengelassen wird



     Wird der zweite String nicht angegeben, erfolgt keine Meldung an
     den Raum.


BEISPIEL
========

   void create() {
    ...
    SetProp( P_SHORT, "Ugars Handaxt" );
    SetProp( P_LONG, break_string(
     "Dieses ist eine Kampfaxt, wie sie Orks normalerweise benutzen. "
     "Da Du Zeit hast, sie Dir anzuschauen, ist der Besitzer wohl "
     "bereits bei Lars.",78 ));



    SetProp( P_NAME, "Axt" );
    AddId( ({"handaxt","axt"}) );
    SetProp( P_GENDER, FEMALE );



    SetProp( P_DROP_MSG, ({
     "Du schmeisst @WEN2 hin.",
     "@WER1 schmeisst Dir @WENU2 vor die Fuesse.\n"}));
    ...
   }

   Will Ugar seine Axt ablegen und gibt "lasse axt fallen" ein, werden
   folgende Meldungen ausgegeben:



   Ugar: "Du schmeisst die Axt hin."
   Raum: "Ugar schmeisst Dir eine Axt vor die Fuesse."


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

   Aehnliches: P_PICK_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
   Sonstiges:  replace_personal(E), drop_obj(L), /std/living/put_and_get.c

14. Maerz 2004 Gloinson
