Exemplo n.º 1
0
int main(object me, string arg)
{
	string name, reason;
	string status;
	int day;

	status = wizhood(me);
	if( me!=this_player(1)
	|| wiz_level(me) < wiz_level(status) )
		return notify_fail("你没有权力使用这个指令。\n");

	if( !arg ) return notify_fail(SYNTAX);

	if( sscanf(arg, "%d", day) && day >= 0) return do_purge_players(day);

	if( sscanf(arg, "%s because %s", name, reason)!=2 )
		return notify_fail(SYNTAX);

	seteuid(getuid());
	if( file_size(DATA_DIR + "login/" + name[0..0] + "/" + name + SAVE_EXTENSION)<0 )
		return notify_fail("没有这位使用者。\n");

	rm(DATA_DIR + "login/" + name[0..0] + "/" + name + SAVE_EXTENSION);
	rm(DATA_DIR + "user/" + name[0..0] + "/" + name + SAVE_EXTENSION);
	write( "使用者 " + capitalize(name) + " 删除掉了。\n");
	log_file("static/PURGE", sprintf("[%s] %s purged %s because %s.\n",
		ctime(time())[0..15], geteuid(this_player(1)), name, reason));

	return 1;
}
Exemplo n.º 2
0
int main(object me, string arg)
{
        string name, reason;
        int day;
        object ob;

        if( me!=this_player(1))
                return notify_fail("你没有权力使用这个指令。\n");

        if( !arg ) return notify_fail(SYNTAX);

        if (arg == "(player)") return do_purge_all_players();
        if( sscanf(arg, "%d", day) && day >= 0) return do_purge_players(day);

        if( sscanf(arg, "%s because %s", name, reason)!=2 )
                return notify_fail(SYNTAX);

        if (SECURITY_D->get_status(name) != "(player)")
                return notify_fail("请用 purgewiz 的指令来 purge 巫师。\n");

        seteuid(getuid());
        if( file_size(DATA_DIR + "login/" + name[0..0] + "/" + name + __SAVE_EXTENSION__)<0 )
                return notify_fail("没有这位使用者。\n");

        if(ob=find_player(name))
                destruct(ob);

        cp(DATA_DIR + "login/" + name[0..0] + "/" + name + __SAVE_EXTENSION__, "/data/backup/login/" +  name[0..0] + "/" + name +__SAVE_EXTENSION__);
        cp(DATA_DIR + "user/" + name[0..0] + "/" + name + __SAVE_EXTENSION__, "/data/backup/user/" +  name[0..0] + "/" + name + __SAVE_EXTENSION__);
        rm(DATA_DIR + "login/" + name[0..0] + "/" + name + __SAVE_EXTENSION__);
        rm(DATA_DIR + "user/" + name[0..0] + "/" + name + __SAVE_EXTENSION__);
        write( "使用者 " + capitalize(name) + " 删除掉了。\n");

tell_object(users(),"【"HIC"闲聊"NOR"】"HIC"清秀小岚美眉(Anmy)说道:"HIC+ capitalize(name) +HIC"受到"HIW"天谴"HIC",消失于狂想空间了。\n"NOR);
        log_file("static/PURGE", sprintf("[%s] %s purged %s because %s.\n",
                ctime(time())[0..15], geteuid(this_player(1)), name, reason));

        return 1;
}