private string creator;
/*
* NAME: _Q_creator()
* DESCRIPTION: return the creator of the current object
*/
nomask string _Q_creator()
{
return creator;
}
/*
* NAME: creator()
* DESCRIPTION: return the creator of this object
*/
static string creator(object obj)
{
ARGCHECK(obj, creator, 1);
return obj->_Q_creator();
}
/*
* NAME: init_creator()
* DESCRIPTION: set the creator of this object
*/
private void init_creator()
{
string *path;
path = explode(object_name(this_object()), "/");
if (path[0] == "players") {
creator = path[1];
} else if (sscanf(object_name(this_object()), "%*s#") == 1 &&
previous_object() != 0) {
creator = previous_object()->_Q_creator();
}
}