⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhike.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// zhike.c 知客inherit NPC;#include <ansi.h>void create(){        set_name(HIM"左三"NOR, ({ "riyue hufa", "hufa" }));        set("long",                "他是日月神教左护法。\n");        set("gender", "男性");        set("age", 30);        set("attitude", "peaceful");        set("shen_type", 1);        set("class", "taoist");        set("no_get", 1);        set_temp("no_kill", 1);        set("str", 40);        set("int", 40);        set("con", 45);        set("dex", 40);        set("max_qi", 8000);        set("max_jing", 8000);        set("neili", 13000);        set("max_neili", 13000);        set("combat_exp", 800000);        set("score", 1000);        set_skill("force", 160);        set_skill("dodge", 140);        set_skill("unarmed", 140);        set_skill("parry", 140);        set_skill("sword", 140);        set_skill("wudang-jian", 220);        set_skill("taoism", 220);        map_skill("parry", "wudang-jian");        map_skill("sword", "wudang-jian");        set_temp("apply/attack", 120);        set_temp("apply/defense",450);        set_temp("apply/armor", 450);        set_temp("apply/damage", 100);        create_family("日月神教", 3, "左护法");        set("chat_chance",2);        set("chat_msg", ({            "左护法说道:最近有官兵来抓我教弟子,我等一定要精心护卫(huwei),不可丝毫懈殆。\n"        }));        setup();        carry_object("/clone/weapon/changjian")->wield();}void init(){        object ob;        ::init();        if( interactive(ob=this_player()) && !is_fighting() )        {                remove_call_out("greeting");                call_out("greeting", 1, ob);        }        add_action("do_volunteer","huwei");}void greeting(object ob){        mapping myfam;        myfam = (mapping)ob->query("family");        if(!myfam || myfam["family_name"] != "日月神教")              say ("左护法冷冷地说:这位"+RANK_D->query_respect(ob) + ",不要再往里走了。\n");        else              say ("左护法冷冷地说:这位"+RANK_D->query_respect(ob) + ",教主在招集弟子,快上山吧。\n");        return;}int do_volunteer(){        object me=this_player();        object* ob;        int i;        if(me->query_condition("riyuejob")>0)           return notify_fail("左护法对你说:你先休息一会再来。\n");        if (me->query_temp("in_guard"))            return notify_fail("左护法对你说:你专心守好平定州,别想打两份工。\n");        if( me->query("family/family_name") != "日月神教")           {            message_vision("左护法大喝一声:你是哪里来的?我没见过你!\n", me);                      return 1;           }        if (me->query_temp("in_guard"))            return notify_fail("左护法对你说:你专心守好平定州,别想打两份工。\n");        ob = users();        for (i=sizeof(ob); i>2; i--)        {                if (ob[i-1]->query_temp("in_guard"))                return notify_fail("左护法对你说:已经有人在平定州护法了,你一会再来吧。\n");        }        tell_room(environment(me),me->query("name")+"开始在平定州护法值守。\n");	me->set("guard", HIG"日月护法"NOR);        me->set_temp("in_guard",1);         me->save();        remove_call_out("end_guard");        call_out("end_guard", 150, me);        remove_call_out("clone_meng");        call_out("clone_meng", 30, me);        return 1;}void clone_meng(object me){        object ob;	int maxskill;	int maxexp;	int maxqi;	maxskill=me->query_skill("force");	maxexp=me->query("combat_exp");	maxqi=me->query("eff_qi");        tell_room(environment(me),"山下突然冲上来一伙官兵。\n");        ob=new("/quest/menpaijob/riyue/mengmian.c");        ob->move("/d/heimuya/pingdingzhou");        ob->set("combat_exp",maxexp);        if ( maxskill>5) {        ob->set_skill("kuang-jian",maxskill);        ob->set_skill("sword",maxskill);        ob->set_skill("parry",maxskill);                ob->set_skill("unarmed",maxskill);        ob->set_skill("dodge",maxskill);                }     else {        ob->set_skill("kuang-jian",5);        ob->set_skill("sword",5);        ob->set_skill("parry",5);                ob->set_skill("unarmed",5);        ob->set_skill("dodge",5);                 }        ob->set("eff_qi",maxqi);        	ob->set("title",HIR"官府精兵"NOR);	ob->kill_ob(me);	message_vision(HIR"\n$N对着$n大叫一声,杀啊!。\n"NOR,ob,me);         ob=new("/quest/menpaijob/riyue/mengmian.c");        ob->move("/d/heimuya/pingdingzhou");        ob->set("combat_exp",maxexp);        if ( maxskill>5) {        ob->set_skill("kuang-jian",maxskill);        ob->set_skill("sword",maxskill);        ob->set_skill("parry",maxskill);                ob->set_skill("unarmed",maxskill);        ob->set_skill("dodge",maxskill);                }     else {        ob->set_skill("kuang-jian",5);        ob->set_skill("sword",5);        ob->set_skill("parry",5);                ob->set_skill("unarmed",5);        ob->set_skill("dodge",5);                 }        ob->set("eff_qi",maxqi);        	ob->set("title",HIR"官府精兵"NOR);	ob->kill_ob(me);	message_vision(HIR"\n$N对着$n大叫一声,杀啊!。\n"NOR,ob,me);         ob=new("/quest/menpaijob/riyue/mengmian.c");        ob->move("/d/heimuya/pingdingzhou");        ob->set("combat_exp",maxexp + 10000);        if ( maxskill>5) {        ob->set_skill("kuang-jian",maxskill);        ob->set_skill("sword",maxskill);        ob->set_skill("parry",maxskill);                ob->set_skill("unarmed",maxskill);        ob->set_skill("dodge",maxskill);                }     else {        ob->set_skill("kuang-jian",5);        ob->set_skill("sword",5);        ob->set_skill("parry",5);                ob->set_skill("unarmed",5);        ob->set_skill("dodge",5);                 }        ob->set("eff_qi",maxqi);        	ob->set("title",HIG"官府班头"NOR);	ob->kill_ob(me);	message_vision(HIR"\n$N对着$n大叫一声,杀啊!。\n"NOR,ob,me);         call_out("clone_meng", 100, me);}void end_guard(object me){        me->delete("guard");               if (me->query("combat_exp")<800000)               {               me->add("combat_exp", random(100) + 80);               me->add("potential", random(100) + 80);               }        me->add("combat_exp",random(620) + 80);        me->apply_condition("riyuejob",1+random(5));        me->add("potential",random(320) + 80);        me->delete_temp("in_guard");         me->save();        remove_call_out("clone_meng");        tell_room(environment(me),me->query("name")+"在平定州护法守期已满。\n");        tell_object(me,HIG"你在平定州护法日期已满。你的武功增加了!\n");}void die(){        object *me;        int i;        me = users();        for (i = 0; i < sizeof(me); i ++)            me[i]->delete_temp("in_guard");         ::die();}void kill_ob(object ob){        ob->remove_killer(this_object());        remove_killer(ob);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -