diff --git a/doc/sefun/send_room b/doc/sefun/send_room
index 7ddf43d..2a34ba2 100644
--- a/doc/sefun/send_room
+++ b/doc/sefun/send_room
@@ -6,37 +6,67 @@
 FUNKTION
 ========
 
-varargs void send_room(object|string room, string msg, int msg_type,
-   string msg_action, string msg_prefix, object >>*<<exclude, object
-   origin)
+   varargs void send_room(object|string room, string msg, int
+   msg_type,
+      string msg_action, string msg_prefix, object *exclude, object
+      origin)
 
 
 BESCHREIBUNG
 ============
 
-   Sendet msg an alle Objekte in room durch Aufruf von ReceiveMsg() mit
-   den uebergebenen Argumenten.
-   Zur Bedeutung der Argumente siehe Manpage von ReceiveMsg().
+   Sendet msg an alle Objekte in room durch Aufruf von ReceiveMsg()
+   mit den uebergebenen Argumenten. Zur Bedeutung der Argumente siehe
+   Manpage von ReceiveMsg().
 
    Wenn das Raumobjekt mit seinem Namen angegeben ist, wird das Objekt
    unter diesem Namen gesucht und und geladen, falls notwendig.
 
-   Mit dem Array <*exclude> kann man verhindern, dass die Nachricht an
-   die darin enthaltenen Objekte gesendet wird.
-   Das ist sinnvoll, wenn zB ein Spieler Ausloeser einer Meldung ist
-   und diese selbst nicht erhalten soll.
+   Mit dem Array exclude kann man verhindern, dass die Nachricht an
+   die darin enthaltenen Objekte gesendet wird. Das ist sinnvoll, wenn
+   beispielsweise ein Spieler Ausloeser einer Meldung ist und diese
+   selbst nicht erhalten soll.
 
    origin gibt an, welches Objekt die Meldung ausloest (muss nicht das
-   sendende Objekt selber) und wird vor allem fuer die Ignorierepruefung
-   verwendet. Default ist das sendende Objekt.
+   sendende Objekt selber) und wird vor allem fuer die
+   Ignorierepruefung verwendet. Default ist das sendende Objekt.
 
-   Letztendlich ist die sefun vergleichbar zu tell_room().
+   Letztendlich ist die sefun vergleichbar zu *tell_room()*.
+
+
+BEISPIEL
+========
+
+   Oft moechte man einfach nur, dass an den Spieler, der eine Aktion
+   oder aehnliches ausloest, eine andere Meldung gegeben wird, als an
+   andere im Raum befindliche Spieler. Folgenden Code koente man dann
+   verwenden:
+
+      /* Zuerst senden wir eine Nachricht nur an den Spieler.
+       * Ziel: der Spieler riecht etwas und schuettelt sich fuer alle im
+       * Raum sichtbar darauf.
+       */
+      this_player()->ReceiveMsg("Buah stinkt das. Du schuettelst Dich.\n",
+              MT_NOTIFICATION|MT_SMELL, MA_SMELL);
+      send_room(environment(this_player()),
+              // der Raum in dem der Spieler ist
+               this_player()->Name(WER) + " schuettelt sich. Wieso nur?\n",
+              // die eigentliche Nachricht
+              MT_LOOK, // man sieht das schuetteln
+              MA_UNKNOWN, // MA_SMELL moeglich; im Zweifel immer MA_UNKNOWN
+              "", // wir wollen kein Praefix vor der Ausgabe haben
+              ({this_player()}));
+              // Array nur mit dem Spieler, der das nicht noch
+              // mitbekommen soll.
+
+   Fuer weitere Optionen fuer *msg_type* und *msg_action* siehe die
+   manpage zu ReceiveMsg. Natuerlich haben *this_player* und
+   *environment* auch manpages.
 
 
 SIEHE AUCH
 ==========
 
-   ReceiveMsg(L)
-   tell_object(E), tell_room(E), say(E), write(E)
+   *ReceiveMsg()* tell_object(E), tell_room(E), say(E), write(E)
 
-13.03.2016, Zesstra
+31.01.2018, Deaddy
