private static int i;
private static string gval;
private static string *gfuncs;
static void set_item_functions(mixed *things, string *funcs) {
mapping tmp;
gfuncs = funcs;
if((i=sizeof(things)) != sizeof(funcs)) return;
tmp = allocate_mapping(i);
while(i--) tmp[things[i]] = (: this_object(), gfuncs[i] :);
set_items(tmp);
}
void add_item_function(string key, string val) {
gval = val;
add_item(key, (: this_object(), gval :));
}
void remove_item_function(string str) { remove_item(str); }
void set_item_descriptions(mixed *things, string *descs) {
mapping tmp;
int i;
if((i=sizeof(things)) != sizeof(descs)) return;
tmp = allocate_mapping(i);
while(i--) tmp[things[i]] = descs[i];
set_items(tmp);
}
void add_item_description(string str, string desc) {
add_item(str, desc);
}
void remove_item_description(string str) { remove_item(str); }