Meldung nur an ErrorD, wenn Objekt nicht loggt.

Wenn ein Objekt aus SmartLog() meldet, dass es die Meldung
selber geloggt hat (Rueckgabewert != 0), dann wird diese
nicht mehr an den zentralen ErrorD uebermittelt.

Change-Id: Iabc87a495e1d394b7d7ca0dd08ce2ccb940f407c
diff --git a/std/player/base.c b/std/player/base.c
index 27c4e70..89684e6 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -1414,7 +1414,7 @@
   * \param[in] myname Art der Spielermeldung (DETAILS, BUG, TYPO, MD)
   * @see md(string), idea(string), bug(string), typo(string)
   */
-void smart_log(string myname, string str, object obj)
+protected void smart_log(string myname, string str, object obj)
 {
   mapping err = ([ F_PROG: "unbekannt",
            F_LINE: 0,
@@ -1446,17 +1446,28 @@
       break;
   }
 
-  // Eintragung in die Fehler-DB
-  string hashkey = (string)ERRORD->LogReportedError(err);
-
-  // ggf. will das Objekte mit noch irgendwas anfangen.
-  obj->SmartLog(0, myname, str, strftime("%d. %b %Y"));
-
-  tell_object(this_object(), break_string( sprintf(
-    "Du hast an %s erfolgreich %s abgesetzt.\n"
-    "Die ID der abgesetzten Meldung lautet: %s\n",
-    (obj->IsRoom() ? "diesem Raum" : obj->name(WEM,1)),desc,
-    hashkey||"N/A"),78,BS_LEAVE_MY_LFS));
+  // ggf. will das Objekte selber loggen, dann wird nicht zentral geloggt.
+  if (obj->SmartLog(0, myname, str, strftime("%d. %b %Y")))
+  {
+    ReceiveMsg(sprintf(
+          "Du hast an %s erfolgreich %s abgesetzt.\n"
+          "Hinweis: Das Objekt selber hat die Meldung protokolliert.",
+          (obj->IsRoom() ? "diesem Raum" : obj->name(WEM,1)),desc),
+        MT_NOTIFICATION | MSG_BS_LEAVE_LFS | MSG_DONT_BUFFER |
+        MSG_DONT_STORE | MSG_DONT_IGNORE, MA_UNKNOWN, 0, ME);
+  }
+  else
+  {
+    // Eintragung in die Fehler-DB
+    string hashkey = (string)ERRORD->LogReportedError(err);
+    ReceiveMsg(sprintf(
+          "Ein kleiner Fehlerteufel hat D%s an %s unter der ID %s "
+          "notiert.",
+          (obj->IsRoom() ? "diesem Raum" : obj->name(WEM,1)),desc,
+          hashkey || "N/A"),
+        MT_NOTIFICATION | MSG_DONT_BUFFER | MSG_DONT_STORE | MSG_DONT_IGNORE,
+        MA_UNKNOWN, 0, ME);
+  }
 }
 
 /** Speichert den Spieler und loggt ihn aus (Spielerkommando 'ende').