diff --git a/doc/sphinx/props/P_FUNC_MSG.rst b/doc/sphinx/props/P_FUNC_MSG.rst
index 2acab57..a18d767 100644
--- a/doc/sphinx/props/P_FUNC_MSG.rst
+++ b/doc/sphinx/props/P_FUNC_MSG.rst
@@ -3,19 +3,16 @@
 
 NAME
 ----
-::
 
     P_FUNC_MSG                    "func_msg"                    
 
 DEFINIERT IN
 ------------
-::
 
     /sys/room/description.h
 
 BESCHREIBUNG
 ------------
-::
 
      Liste mit Funktionen, die zufaellig im Raum aufgerufen werden.
 
@@ -24,17 +21,18 @@
 
 ANMERKUNGEN
 -----------
-::
 
      Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
 
 SIEHE AUCH
 ----------
-::
 
-     LFuns:    AddRoomMessage()
-     Verwandt: tell_room(), ReceiveMsg()
-     Props:    P_ROOM_MSG, P_MSG_PROB
+     LFuns:
+       :doc:`../lfun/AddRoomMessage`
+     Verwandt:
+       tell_room(), :doc:`../sefun/send_room`, :doc:`../lfun/ReceiveMsg`
+     Props:
+       :doc:`P_MSG_PROB`, :doc:`P_ROOM_MSG`
 
 2.Feb 2016 Gloinson
 
diff --git a/doc/sphinx/props/P_MSG_PROB.rst b/doc/sphinx/props/P_MSG_PROB.rst
index 1f0e9ea..739aadb 100644
--- a/doc/sphinx/props/P_MSG_PROB.rst
+++ b/doc/sphinx/props/P_MSG_PROB.rst
@@ -3,33 +3,71 @@
 
 NAME
 ----
-::
-
     P_MSG_PROB                    "msg_prob"                    
 
 DEFINIERT IN
 ------------
-::
 
     /sys/room/description.h
 
 BESCHREIBUNG
 ------------
-::
+     Der Name ist irrefuehrend: es ist ein Parameter fuer die Wartezeit
+     in Sekunden bis zur naechsten Ausgabe einer Raumnachricht.
+     Nur direkt nach dem Betreten des Raums wird ein Zufallswert dieser
+     Zahl erstellt.
 
-     Parameter fuer die Wartezeit in Sekunden bis zur naechsten Ausgabe
-     einer Raumnachricht.
-     Wird in AddRoomMessage() explizit mitgesetzt. Koennte natuerlich von
-     einer Nachrichtenmethode auch regelmaessig geaendert werden, um
-     mehr Zufall in die Intervalle zu bringen.
+     Wird in AddRoomMessage() explizit mitgesetzt und gilt fuer den Raum.
+
+     Kann von einer Nachrichtenmethode geaendert werden, um mehr Zufall
+     in die Intervalle zu bringen.
+
+     Werte kleiner als 15 werden bei der Auswertung auf 15 gesetzt. Setzen
+     auf 0 schaltet die Nachrichten nicht ab!
+
+BEISPIELE
+---------
+
+.. code-block:: pike
+
+     // Beispiel:
+     // Je laenger Spieler im Raum sind, desto langsamer tropft das
+     // Wasser. Wenn der letzte den Raum verlaesst, wird die Zeit
+     // fuer den naechsten Spieler wieder auf den Initialwert gesetzt.
+
+     inherit "/std/room";
+
+     #define START_SPEED 30
+
+     void create() {
+       ::create();
+       AddRoomMessage(({"Das Wasser tropft.\n",
+                        "Ein Tropfen plitscht.\n",
+                        "Tripf tropf macht das Wasser.\n"}),
+                      START_SPEED,
+                      ({"slowdown_speed"}));
+     }
+
+     void slowdown_speed(int msg) {
+       SetProp(P_MSG_PROB, QueryProp(P_MSG_PROB)+10);
+     }
+
+     void exit() {
+       ::exit();
+       
+       if(!sizeof(filter(all_inventory(this_object())-({this_player()}),
+                         #'interactive)))
+         SetProp(P_MSG_PROB, START_SPEED);
+     }
 
 SIEHE AUCH
 ----------
-::
 
-     LFuns:    AddRoomMessage()
-     Props:    P_ROOM_MSG, P_MSG_PROB
-     Verwandt: call_out()
+     LFuns:
+       :doc:`../lfun/AddRoomMessage`
+     Props:
+       :doc:`P_ROOM_MSG`, :doc:`P_FUNC_MSG`
+     Verwandt:
+       call_out()
 
-2.Feb 2016 Gloinson
-
+28. Mar 2017 Gloinson
diff --git a/doc/sphinx/props/P_ROOM_MSG.rst b/doc/sphinx/props/P_ROOM_MSG.rst
index 087f9c2..620af5c 100644
--- a/doc/sphinx/props/P_ROOM_MSG.rst
+++ b/doc/sphinx/props/P_ROOM_MSG.rst
@@ -3,19 +3,16 @@
 
 NAME
 ----
-::
 
     P_ROOM_MSG                    "room_msg"                    
 
 DEFINIERT IN
 ------------
-::
 
     /sys/room/description.h
 
 BESCHREIBUNG
 ------------
-::
 
      Liste mit Meldungen, die zufaellig im Raum ausgegeben werden.
 
@@ -23,17 +20,17 @@
 
 ANMERKUNGEN
 -----------
-::
 
      Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
 
 SIEHE AUCH
 ----------
-::
 
-     LFuns:    AddRoomMessage()
-     Verwandt: tell_room(), ReceiveMsg()
-     Props:    P_FUNC_MSG, P_MSG_PROB
+     LFuns:
+       :doc:`../lfun/AddRoomMessage`
+     Verwandt:
+       tell_room(), :doc:`../sefun/send_room`, :doc:`../lfun/ReceiveMsg`
+     Props:
+       :doc:`P_MSG_PROB`, :doc:`P_FUNC_MSG`
 
-2.Feb 2016 Gloinson
-
+2.Feb 2016 Gloinson
\ No newline at end of file
