********************************** 函数说明 **********************************

传回所有任务的英文字串  	string	*query_quests ()
系统增加一个 quest	int	install_quest (string quest, string chinese)
系统删除一件任务		int	delete_quest (string quest)
传回整个任务的 mapping		mapping	query_quests_ob()
求已完成 quests 个数		int	query_n_f_quests (object who)
用英文字串求中文名称 		string	quest_chinese (string str)
用索引值取回中文任务名称	string	query_quest_cname (int idx)
用索引值取回英文任务名称	string	query_quest_name (int idx)
设定玩家已经完成到第几步	int set_quest(object ob, string quest, int step)
查询玩家已经完成到第几步        int query_quest(object ob, string quest)
设定某玩家已经完成一个任务	int set_finish_quest (object ob, string quest)
查询是否完成一个任务		int query_finish_quest (object ob, string quest)

******************************** 实际上的运作 ********************************

    1. 所有 quests 都记录在档案里, 函数则设在 /adm/daemons/questd 上,
         请参考最前面, 或者后面的说明
    2. 对玩家来说, 变数是设在身上, 但是每个任务可能分好几步,
	 完成某 quest 就设 set("quests/xxxxxx",1);
         中间步骤采用暂时变数法, 即 set_temp()/query_temp()
         也就是说, 玩家身上的任务变数只记住有没有完成, 完成的值就是 1
    3. 要安装新的任务一定要透过用命令的方式
          setquests <英文> <中文>
       也可以砍掉, 用 delquests <英文>
       也可以查询总数 quests

********************************** 使用范例 **********************************

    请参考 /cmds/arch/setquests.c
           /cmds/arch/delquests.c
           /cmds/usr/quests.c

********************************** 实例说明 **********************************
	   mapping sys_quests;		// 系统(任务问答机)上的所有任务资料库
	   string *sys_quests_name;	// 系统(任务问答机)上的所有任务的英文名
	   mapping quests;		// 玩家身上已完成的任务
           object quest_man;		// 任务问答机
           object player;		// 玩家的物件
           string quest;		// 任务的英文名
           string cquest;		// 任务的中文名
	   int	  step;			// 任务的中间步骤

	 取得所有任务的英文名:
	     QUEST_D->query_quests();
	 取得任务的中文名:
	     cquest = QUEST_D->quest_chinese(quest);
         查询玩家是否完成某一任务:
             if (player->query("quests/quest"))
	 设定玩家完成某任务的中间步骤:
	     player->set_temp(quest, step);
	 查询玩家完成某任务到第几步骤:
	     player->query_temp(quest);
         设定玩家完成某任务, 可以用
             player->set(quest, 1);
	 查询玩家完成某任务:
	     player->query(quest);
	 查询玩家完成的所有任务:
	     quests = player->query("quests");
	 查询系统有几个任务:
	     query_quests_n ()
	 查询玩家完成几个任务:
	     sizeof("quests");


by wade 10/31/1995
