// force.c

string *effect_cmd = ({
		"follow",
		"kill",
		"fight",
		"halt",
		"hit",
		"get",
		"drop",
		"wield",
		"unwield",
		"wear",
		"remove",
		"drink",
		"eat",
});
inherit F_CLEAN_UP;
inherit F_BH;
void create() { seteuid(getuid()); }

int main(object me, string arg)
{
	string dest,cmd,verb,some;
	object ob;
	if( me != this_player(1) ) return 0;

	if( !arg || sscanf(arg, "%s to %s", dest, cmd) != 2 )
		return notify_fail("mingling <某人> to <指令>\n");
	if(me->is_fighting()||me->is_busy())
		return notify_fail("你正忙着呢。\n");
	if( !(ob = present(dest, environment(me))) )
		return notify_fail("这里没有 " + dest + "。\n");
	if( !living(ob) )
		return notify_fail("这个物件不能执行命令。\n");
	if( userp(ob) )
		return notify_fail("你只能命令本帮NPC帮众。\n");
	if(! is_bangzhu(me))
		return notify_fail("只有帮主才能使用这条命令。\n");
	if((string)ob->query("banghui")!= me->query("banghui"))
		return notify_fail("对方不是本帮会成员，无法对其使用这条指令。\n");
	verb=cmd;
		if(member_array(verb,effect_cmd)==-1)	{
			sscanf(cmd,"%s %s",verb,some);
			if(member_array(verb,effect_cmd)==-1)
				return notify_fail("你无法命令NPC执行这个命令。\n");
		}
	return ob->force_me(cmd);
}

int help(object me)
{
	write(@Help
指令格式：mingling <某人> to <做某事>
这条指令可以让帮主控制本帮NPC帮众。
目前帮主可以对NPC帮众使用的命令有：
fight,kill,hit,halt,follow,
get,drop,wield,unwield,wear,remove.

Help
	);
	return 1;
}
