RemoveObject(): Anzahl entfernter Objekte melden
Change-Id: I54d36d07f17fa662ec050cb071e7de1def90488f
diff --git a/p/daemon/objectd.c b/p/daemon/objectd.c
index 1b5d821..bf1c34e 100644
--- a/p/daemon/objectd.c
+++ b/p/daemon/objectd.c
@@ -61,7 +61,7 @@
if(!obj || !env || !stringp(env))
return 0;
- // save information
+ int ret;
if(member(objects, env))
{
mixed oblist = objects[env];
@@ -70,6 +70,7 @@
if (load_name(arr[CLASS]) == load_name(obj))
{
arr = 0;
+ ++ret;
// nur eins Austragen, nicht alle, falls mehr als einmal angemeldet
break;
}
@@ -80,7 +81,7 @@
m_delete(objects, env);
do_save=1;
- return 1;
+ return ret;
}
// Fragt nicht wirklich ab, sondern erstellt die angemeldeten Objekt in env.
@@ -148,3 +149,31 @@
return 1;
}
+/*
+void clean(string *list)
+{
+ if (!list)
+ list = m_indices(objects);
+ while (sizeof(list) && get_eval_cost() > 50000)
+ {
+ tell_object(this_player(),"Cleaning: "+list[0]+"\n");
+ mixed arrarr = objects[list[0]];
+ foreach(mixed arr: &arrarr)
+ {
+ if (load_name(arr[CLASS]) == "/p/service/miril/advent/obj/tuerchen")
+ {
+ arr = 0;
+ }
+ }
+ objects[list[0]] = arrarr - ({0});
+ list = list[1..];
+ }
+ if (sizeof(list))
+ call_out(#'clean, 4);
+ else
+ {
+ save_object(OBJECTD_SAVE);
+ tell_object(this_player(), "Fertig!");
+ }
+}
+*/