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

📄 xuedao.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// /kungfu/class/xueshan/xuedao.c  血刀老祖// by secret#include <ansi.h>inherit NPC;inherit F_MASTER;int ask_job();int ask_fail();void create(){        set_name("血刀老祖", ({ "xuedao laozu", "xue dao", "laozu" }));        set("long",@LONG这喇嘛身着黄袍,年纪极老,尖头削耳,脸上都是皱纹。他就是血刀门第四代掌门。LONG        );        set("title",HIR"血刀门第四代掌门"NOR);        set("gender", "男性");        set("age", 85);        set("attitude", "peaceful");        set("shen_type", -1);        set("str", 30);        set("int", 30);        set("con", 30);        set("dex", 30);        set("max_qi", 5000);        set("max_jing", 2000);        set("neili", 12000);        set("max_neili", 12000);        set("jiali", 50);        set("combat_exp", 1800000);        set("score", 180000);        set_skill("lamaism", 150);        set_skill("literate", 80);        set_skill("force", 180);        set_skill("parry", 180);        set_skill("blade", 180);        set_skill("sword", 120);        set_skill("dodge", 180);        set_skill("longxiang", 180);        set_skill("shenkong-xing", 180);        set_skill("hand", 180);        set_skill("dashou-yin", 180);        set_skill("mingwang-jian", 120);        set_skill("xue-dao", 200);        map_skill("force", "longxiang");        map_skill("dodge", "shenkong-xing");        map_skill("hand", "dashou-yin");        map_skill("parry", "xue-dao");        map_skill("blade", "xue-dao");        map_skill("sword", "mingwang-jian");	set("chat_chance_combat", 90);  	set("chat_msg_combat", ({                (: perform_action, "blade.kuangdao" :),                (: perform_action, "blade.shendao" :),                (: perform_action, "blade.kuangdao" :),                (: perform_action, "blade.shendao" :),                (: perform_action, "dodge.tianmaxingkong" :),                (: exert_function, "fumozhou" :),                                (: exert_function, "fumozhou" :),                                (: exert_function, "fanchang" :),                	}) );	set("inquiry", ([                "美女" : (: ask_job() :),                "job" : (: ask_job() :),                "失败" : (: ask_fail() :),	]) );        create_family("雪山寺", 4, "弟子");        set("class", "bonze");        setup();        carry_object("/d/xueshan/obj/y-jiasha")->wear();        carry_object("/d/xueshan/obj/xblade")->wield();        add_money("gold",2);}void attempt_apprentice(object ob){        if ((string)ob->query("gender") != "男性")        {                command("say 我不收女徒弟。\n");                return;        }        if ((string)ob->query("family/family_name") != "雪山寺")        {                command("say 这位" + RANK_D->query_respect(ob) +                        "既非本门弟子,还是请回吧!\n");                return;        }        if ((int)ob->query("shen") > -100000)        {                command("say 你是不是向着侠义道,连杀人都不会!\n");                return;        }        if ((int)ob->query_skill("longxiang", 1) < 60)        {                command("say 入我血刀门,修习龙象功法是首要的。\n");                return;        }        command("haha");        command("nod");        command("recruit " + ob->query("id"));        ob->set("title", HIR "血刀门第五代弟子" NOR);}int ask_job(){        object me = this_player();        object ob;        mapping quest;        mapping skl;         string *sname, place;                int i, skill = 0;        quest = (__DIR__"lagjob")->query_quest();        skl = me->query_skills();        if ( !skl ) {                tell_object(me, "你去学一些本事先吧!\n");                return 1;                }        sname  = sort_array( keys(skl), (: strcmp :) );        for(i=0; i<sizeof(skl); i++)                 if (skl[sname[i]] >= skill && sname[i] != "literate" && sname[i] != "taoism")                        skill = skl[sname[i]];                                if (skill < 80) skill = 80;        if( me->query("family/family_name") != "雪山寺")           {                      message_vision("$N对着$n说道。你是哪里来的奸细?\n", this_object(), me);                      return 1;            }           if (me->query("combat_exp") < 100000) {                command("say " + RANK_D->query_respect(me) + "找美女的事没那么容易,你还是练高经验再来吧");                return 1;}        if ((int)me->query_condition("menpai_busy"))              {                      message_vision("$N对着$n摇了摇头说:你办事不利,等会再来!\n", this_object(), me);                      return 1;            }        if (me->query("potential") < 200 || me->query("combat_exp") < 300) {                command("say 你的潜能太少了.找不到什么好货!!");                return 1;        }        if (me->query("kill_xueshan") == 1) {                command("kick " + me->query("id"));                command("say 我不是给了你任务了吗?");                return 1;                }        else {                command("nod" + me->query("id"));                command("say " + RANK_D->query_respect(me) + "和我志同道合,嘿嘿嘿。");                command("say " + me->query("id") + " 听说在『" + quest["short"]             + "』附近有个绝世美女,快去吧!\n" NOR);                me->set("kill_xueshan", 1);                me->set("quest/quest_type", "抢");                me->set("quest/quest", "绝世美女");                me->set("task_time", time() + 300);                ob = new(__DIR__"meinv",1);                ob->move(quest["place"]);                ob->set_temp("owner/id",me->query("id"));                ob->set("combat_exp", me->query("combat_exp"));                ob->set("max_force", me->query("max_force"));                ob->set("eff_kee", me->query("max_kee"));                ob->set("max_kee", me->query("max_kee"));                ob->set("kee", me->query("max_kee"));                ob->set_skill("dodge", skill);                ob->set_skill("force", skill);                ob->set_skill("parry", skill);                                ob->set("force_factor", random(10));                   return 1;               }                              }int ask_fail(){        object me = this_player();                if (me->query("kill_xueshan") == 1) {                command("pk1");                command("say 你害得我没有美女玩,坏我练功大事,扣你150点POT.");                me->add("potential",-50);                me->apply_condition("menpai_busy",10);                call_out("delete", 1);                return 1;                }}int delete(){        this_player()->delete("kill_xueshan");        return 1;}int accept_object(object me, object obj){   object ob=this_object();   if(!me || environment(me) != environment()) return 0;   if(!objectp(obj)) return 0;   if(!present(obj, me)) return notify_fail("你没有这件东西。");           if(userp(obj)){       command("consider "+(string)me->query("id"));       command("say 你拿个快死的人来骗我?");       return 0;       }   if(obj->query("id") == "meinu" && me->query("kill_xueshan") == 1)   {       command("nod "+(string)me->query("id"));       command("say 嘿嘿.干得好!\n");       remove_call_out("destroying");       call_out("destroying", 5, obj, ob, me);                              return 1;       }   if(obj->query("money_id")) {       command("pat " + me->query("id"));       command("say 我要钱干什么?");       return 0;       }//   if(me->query("kill_xueshan") == 0 ){//       command("hehe "+(string)me->query("id"));//       command("say 不错啊,但这活我没叫你干啊。");//       return 1;//       }   else return 0;       }void destroying(object obj, object ob, object me){      object n_money;   int kar, exp, pot;   kar = random(me->query("kar")) * 15;   exp = 600 + kar;   pot = 300 + random(exp);   if(obj) destruct(obj);//   if(ob) destruct(ob);   if(!ob) return;   if(!me || environment(me) != environment()){      command("say 咦,人呢?");      return;      }   command("pat "+me->query("id"));   message_vision(HIR"$N对$n说道:你这次做得极为出色!我就指点你两手吸阴补阳的奇功吧.\n"NOR,ob, me);                  message_vision(HIC "\n由于$N成功的抢回了美女,被奖励:\n"                + chinese_number(exp / 2) + "点实战经验,\n"                + chinese_number(pot / 2) + "点潜能,\n"                + chinese_number(50) + "点评价作为答谢。\n" NOR, me);                me->add("combat_exp", exp / 2);                me->add("potential", pot / 2);                me->add("score",50);                me->add("shen",-200);                me->delete("quest");                destruct(present("meinu",ob));                me->delete("kill_xueshan");   message_vision(HIM"$N说完就把美女关进了后面的山洞......\n"NOR,ob);   return;      }

⌨️ 快捷键说明

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