goodzhujie 发表于 2011-6-3 08:53:32

集体门派任务设想

这是mud所有大门派公有的job,首先找到本派的任务使.然后在
那里使用ask shi about teamjob命令.
    条件:exp>********
要求:2-4人,经验值相差不超过****k,领取任务的玩家经验值大于****k
过程:组队后去任务使处,ask shi about teamjob,任务使会告诉你阻击地点
,然后全队人去这个地点守候,杀掉几批别派弟子后奸细会出现, 杀死奸细并从他
身上拿到密件,最后销毁密件(xiaohui mi jian)任务完成。
备注:一次只能一组人做这个任务,而且不能放弃。
      杀死一名别派弟子,也会给杀死npc的玩家一定的奖励.所以不加入组队的玩家
去帮助杀敌,也有相当的好处.
      领取任务的玩家如果死亡,任务自动失败。
      任务难度较大,请玩家小心。最好把在线的高手全叫上.二个人去危险很大.

#include <ansi.h>;
mixed names = ({
      ({
      场景自己写以"",结尾
      }),
      ({
         NPC以"",结尾
      }),
      });
string ask_fangqi()
{
         object me;
         me = this_player();
         if(me->query_condition("husong_busy")<=1)
         return "你没有领任务,跑这里瞎嚷嚷什麽?";
         me->clear_condition("husong_busy");
         me->add("combat_exp",-100+random(20));
         me->apply_condition("zzz_busy",4+random(4));
         me->delete_temp("hu_song");
         return "没关系,下次继续努力 。";
}
string ask_job()
{   object wang,ob;
      object *team;
   int i=0,count=0,minexp,maxexp;
      string where;
   wang =this_object();
   ob=this_player();
   
if (interactive(ob) && (int)ob->query_condition("zzz_busy"))
       return "你办事不力,先等会吧。";
//   if (ob->query_condition("husong_busy"))
//   return "我现在没有给你的任务。";//husong busy time
   
if (interactive(ob) && ob->query_temp("hu_song")
      && (int)ob->query_condition("husong_busy"))
       return "你上一次的任务还没完成!";
   if(ob->query("combat_exp")<500000)
      return"你的功夫太差了。";//too low exp
      team=ob->query_team();
      count=sizeof(team);
      if(count>=5)
   return "此事不宜张扬。"; //too many people
   minexp=ob->query("combat_exp");
   maxexp=minexp;
      
   for(i=1;i<count;i++)
      { if(team!=0)
   {
if(team->query("combat_exp")<minexp)
   minexp=team->query("combat_exp");
if(team->query("combat_exp")>maxexp)
      maxexp=team->query("combat_exp");
   }
   }
   if ((maxexp-minexp)>300000)
      return "你们的武功相差太悬殊。";//exp too far
   //check ok
   // ob->set_temp("team_count",count);
   ob->apply_condition("husong_busy",30);
   for(i=0;i<count;i++)
   {if(team!=0)
    team->apply_condition("husong_busy",30);
   }
   for(i=100;i*i*i/10<=maxexp;i++);
      where=names;
   call_out("make_npc",0,i,ob,where,count);
   message_vision(HIY"\n$N挥挥手,一位公子从内室慢慢走了过来。\n"NOR,this_object());
   command("say 你帮我把这位公子护送到"+where+"。");
          ob->start_busy(2);
   return "速去速回,一路上多加小心。";   
}
void make_npc(int maxpot,object player,string where,int count)
{   object obj;
//      player->start_busy(3);
// player->set("hu_song",1);
player->set_temp("hu_song",1);
obj = new(__DIR__"gongzi");
    obj->move(environment(player));
obj->set_temp("target",where);
obj->set_temp("maxpot",maxpot);
    obj->set_temp("count",count);
obj->set_temp("host",player->query("id"));
obj->set_leader(player);
message_vision("$N决定跟随$n一起行动。\n",obj,player);
obj->apply_condition("hu_song",200);
return;
}   
   




北大侠客行MUD,中国最好的MUD

[ 本帖最后由 goodzhujie 于 2011-6-3 10:24 AM 编辑 ]

ivanfox 发表于 2011-6-3 09:03:47

代码,您发给大神们吧。

不用放出来的。

labaz 发表于 2011-6-3 09:05:30

bugbugbug,没门派的你让人家去哪领任务

sojimy 发表于 2011-6-3 09:05:51

快速培养小号的任务?

mytoy 发表于 2011-6-3 10:18:45

期待!!hzn

ivanfox 发表于 2011-6-3 11:30:07

和 老和尚 护送有啥区别 ?
页: [1]
查看完整版本: 集体门派任务设想