
P_PICK_MSG
**********


NAME
====

   P_PICK_MSG                         "pick_message"


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

   /sys/living/put_and_get.h


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

   Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen 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 genommen wird

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


BEISPIEL
========

   void create() {
    ...
    SetProp( P_SHORT, "Etwas Sand" );
    SetProp( P_LONG, break_string(
     "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));

    SetProp( P_NAME, "Sand" );
    AddId( ({"sand"}) );
    SetProp( P_GENDER, MALE );

    SetProp( P_PICK_MSG, ({
     "Du schaufelst @WEN2 in deine Hand.",
     "@WER1 schaufelt @WEN2 in eine Hand."}));
    ...
   }

   Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
   Meldungen:

   Ugar: "Du schaufelst den Sand in deine Hand."
   Raum: "Ugar schaufelt den Sand in eine Hand."


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

   Aehnliches: P_DROP_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), pick_obj(L), /std/living/put_and_get.c

14. Maerz 2004 Gloinson
