DEFINIERT IN:
        /sys/living/combat.h

BESCHREIBUNG:
        In dieser Property kann man ein Array ablegen, das beim Tod eines
        Spielers ausgewertet und der darin enthaltene String
        anschliessend auf dem Todeskanal gesendet wird.
        Der Array muss folgenden Aufbau haben:

          SetProp( P_DEATH_MSG, ({ Text, Flag }) )
          
        Text: Der Text kann beliebig eingegeben werde. Allerdings darf 
              er nicht mit einem '\n' abgeschlossen werden.
        
        Flag: Hier kann man drei Arten von Sendemethoden waehlen.
              1. MSG_SAY      Normales Senden
              2. MSG_GEMOTE   Genitiv-Emote
              3. MSG_EMOTE    Emote


BEISPIEL:
        Der Spieler soll direkt nach seinem Tod eine Meldung auf dem 
        Todeskanal senden.
        
        Nachricht auf dem Todes-Kanal:
	
        [Tod:Spieler] Ich will keine Beleidsbekundungen!
        
        void spieler_stirbt()
	{
         this_player()->SetProp( P_DEATH_MSG, ({ "Ich will keine "
                                        "Beleidsbekundungen!", MSG_SAY}) );
         this_player()->die();
        }
        
        Nachricht auf dem Todes-Kanal:
	
        [Tod:Spieler liebt es zu sterben.]
        
        void spieler_stirbt()
        {
         this_player()->SetProp( P_DEATH_MSG, ({ "liebt es zu sterben.",
                                                 MSG_EMOTE }) );
         this_player()->die();
        }

SIEHE AUCH:
        P_MURDER_MSG, P_FORCE_MURDER_MSG
