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

📄 zhou.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
// zhou.c 周伯通#include <ansi.h>#include <skill.h> inherit NPC;string *questions = ({	"西毒欧阳峰的绝技是什么?",	"洪老叫花那个最具威力的掌法是什么?",	"黄老邪打赌赢我用的功夫是什么?",	"老哥哥我左手右手打着玩的功夫是什么?",	"我师兄的无上内功心法是什么?",	"我教最神奇的剑阵是什么?",	"铁掌裘千仞的轻功是什么?",	"西毒蛤蟆功的克星是什么?",	"黄老邪是用什么奇学把我关在这里的?",	"洪老叫花的打狗棒法中最具威力的一式是什么?",	"杨过小兄弟自创的功夫是什么?",	"天龙寺的镇寺武学是什么?",	"逍遥派的那个能吸敌人内力的功夫是什么?",	"段誉最拿手的轻功是什么?",	"风老头教令狐冲的剑法是什么?",	"明教的镇教武学是什么?",	"洪老叫化的降龙十八掌中最具威力的一招是什么?",	"白猿腹中的经书里记载的是什么武学?",	"黄老邪的两个小徒弟偷学了九阴真经里什么武功?",	"老哥哥我自创的独门拳法是什么?"});int ask_jieyi();int ask_hubo();int do_fangyuan();int do_learn(string arg);int ask_jiuyin();int ask_story();int ask_story2();int ask_quest();int do_answer(string arg);int ask_kungfu();void create(){        set_name("周伯通", ({ "zhou botong", "zhou", "bo tong" }));        set("gender", "男性");        set("nickname", CYN "老顽童" NOR ) ;        set("title", "全真教第一代弟子") ;        set("age", 45);        set("long",        "他就是人称「老顽童」的周伯通。\n"        "他本来是全真教掌门人的师弟,武功高强,但现在却被人囚禁在\n"        "这小小山洞之中,头发胡子长长的,毛茸茸的象一个野人。\n",        );        set("no_get",1);        set("combat_exp", 3000000);        set("shen_type", 1);        set("double_attack", 1);        set("max_neili", 5000);        set("neili", 5000);        set("jiali", 0);        set_skill("cuff", 300);        set_skill("strike", 300);        set_skill("force", 300);        set_skill("sword", 300);        set_skill("unarmed", 300);        set_skill("dodge", 300);        set_skill("parry", 300);        set_skill("hubo" ,300);        set_skill("qixing-array",300);        set_skill("kongming-quan",300);        set_skill("quanzhen-jian",250);        set_skill("xiantian-qigong", 300);    //先天气功        set_skill("haotian-zhang", 300);    //昊天掌        set_skill("jinyan-gong", 300);   //金雁功        map_skill("unarmed","kongming-quan");        map_skill("parry","kongming-quan");        map_skill("dodge","jinyan-gong");        map_skill("force","xiantian-qigong");        set("double_attack", 1);        set_temp("apply/attack", 120);        set_temp("apply/defense",150);        set_temp("apply/armor", 150);        set_temp("apply/damage", 120);        set("inquiry", ([                "东邪": "是黄药师这个无耻的家伙,骗了我的九....去看。",                "黄药师": "这个无耻的家伙,骗了我的九....去看。",                "中神通": "我的师兄是天下武功最高的,第一次华山论剑时公推为第一高手。",                "王重阳": "我的师兄是天下武功最高的,第一次华山论剑时公推为第一高手。",                "周伯通": "找我有什么事吗?",                "瑛姑": "四张机,鸳鸯织就欲双飞....",                "刘瑛": "四张机,鸳鸯织就欲双飞....",                "段皇爷": "老顽童做事对不起他,没脸再见他了。",                "段智兴": "老顽童做事对不起他,没脸再见他了。",                "南帝": "老顽童做事对不起他,没脸再见他了。",                "老顽童": "我就是啊,找我有什么事吗?",                "空明拳": "空明拳共七十二路,口诀是:空朦洞松、风通容梦、冲穷中弄、童庸弓虫。",                "kongming-quan": "空明拳共七十二路,口诀是:空朦洞松、风通容梦、冲穷中弄、童庸弓虫。",                "黄蓉": "是几个月前来陪我聊天的那个小姑娘吗?",                "郭靖": "那是我的结义兄弟,人虽然傻,心肠倒好。",                "方": "方要正方!",                "fang": "方要正方!",                "圆": "圆要浑圆!",              	"九阴真经": (: ask_jiuyin :),                "双手互搏": (: ask_hubo :),                "左右互搏": (: ask_hubo :),                "结义": (: ask_jieyi :),                "结拜": (: ask_jieyi :),                "故事": (: ask_story :),                "后来怎样": (: ask_story2 :),		"问题": (: ask_quest :),		"功夫": (: ask_kungfu :),        ]) );        create_family("全真教", 1, "弟子");        setup();        carry_object("/clone/misc/cloth")->wear();}void init(){        object ob = this_player();        add_action("do_fangyuan","fangyuan");        add_action("do_draw","draw");        add_action("do_draw","hua");        add_action("do_learn","learn");        add_action("do_learn","xue");        add_action("do_answer","answer");        ::init();        if (ob->query("family/family_name") == "全真教") {                command("angry " + ob->query("id"));                command("say 怎么你到今天才来找我?!明天我就去和处机说让他打你屁股。");        }}void kill_ob(object me){        command("chat* crazy " + me->query("id"));        ::kill_ob(me);}void unconcious(){        command("chat 叹道:老顽童今日是要归天了,到阴世玩玩两只鬼打架,那些大头鬼、无常鬼一定瞧得莫名其妙,鬼色大变。");        ::unconcious();}int ask_story(){        object me = this_player();        string msg;	if (me->query_temp("jiuyin/fanhe") && !me->query("jiuyin/full") && !me->query("jiuyin/shang") && me->query("jiuyin/shang-failed") < 3) {	        msg = HIY"周伯通听到$N要他讲故事,登时兴高采烈。\n"NOR;	        msg+= HIY"周伯通开始讲起九阴真经和黄裳的故事。\n"NOR;	        msg+= HIW"周伯通看$N不问后来怎样,便赌气不说了。\n"NOR;	        message_vision(msg, me);	        me->delete_temp("jiuyin/fanhe");	        me->set_temp("jiuyin/story",1);	        return 1;	}        return 0;}int ask_story2(){        object me = this_player();        string msg;        if (me->query_temp("jiuyin/story")==1)        {                msg = HIY"周伯通一听$N问他后来怎样,又口沫横飞的说起来。\n";                msg+= HIY"周伯通讲完又开始对$N说起他和全真教的故事。\n";                msg+= HIW"$N听着,也学到了些全真教练气的皮毛。\n"NOR;                msg+= HIC"周伯通说完故事,又无聊的问道:“兄弟,我来考你几个问题吧!\n"NOR;                message_vision(msg, me);                me->set_temp("jiuyin/story",2);                return 1;        }        return 0;}int ask_jieyi(){        object ob=this_player();        if (ob->query("zhou/jieyi")) {                command("? " + ob->query("id"));                command("say 咱俩不是结拜过了吗?");                return 1;        }        if (ob->query("zhou/fail") >=3 ){                command("hmm");                command("say 我不是说了,我没兴趣和你结拜啊!");                return 1;        }//        if (ob->query("age") > 30){//                command("shake");//                command("say 我老顽童只喜欢和青年人玩,和你结拜?没意思,没意思!");//                return 1;//        }        if (ob->query("gender") != "男性" && ob->query("gender") != "女性") {                if (ob->query("age") > 45)                         command("say 我本来也想与你结拜,就是不知是兄弟相称还是姐弟相称?");                else                        command("say 我本来也想与你结拜,就是不知是兄弟相称还是兄妹相称?");                command("laugh");                ob->add("zhou/fail", 1);                return 1;        }        if ( ob->query("class") =="bonze" ){                command("monk "+ ob->query("id"));                command("say "+RANK_D->query_respect(ob)+",老顽童我可没有兴趣和你结拜。");                ob->add("zhou/fail", 1);                return 1;        }        if ( ob->query_skill("literate", 1) > 100) {                command("shake");                command("say 你这个人鬼灵精,保不准打着什么主意呢。");                ob->add("zhou/fail", 1);                return 1;        }        if ((int)ob->query("shen") <= -1) {                command("shake");                command("say 我虽然天性随便,但师尊教诲不敢忘,于正邪之道还是要分清的。");                ob->add("zhou/fail", 1);                return 1;        }        if ( ob->query("combat_exp") < 100000){                command("shake "+ ob->query("id"));                command("say 这位"+RANK_D->query_respect(ob)+"你的武艺实在太糟糕了,我可没兴趣和你结拜。");                return 1;        }        if (random(ob->query("kar")) < 20){                command("shake");                command("say 我现在没有空,要不你先陪我玩玩?");                ob->add("zhou/fail", 1);                return 1;        }        command("nod " + ob->query("id"));        if (ob->query("gender") == "男性") {                command("say 好吧,你我就结拜为兄弟吧。");        }        else if (ob->query("gender") == "女性") {                if (ob->query("age") > 48)                         command("say 好吧,你我就结拜为姐弟吧。");                else                        command("say 好吧,你我就结拜为兄妹吧。");        }        message_vision("周伯通与$N并肩而跪,朗声说道:“老顽童周伯通,今日与" + ob->name() +"义结金兰,日后有福共享,有难共当。\n"+                       "若是违此盟誓,教我武功全失,连小狗小猫也打不过。”\n", ob);//        log_file("ZHOU",sprintf("%s(%s)与周伯通结拜于: %s\n",ob->name(1), getuid(ob), ctime(time())));        ob->set("zhou/jieyi", 1);        return 1;}int ask_jiuyin(){        object me=this_player();	object ob;	if (me->query("jiuyin/full")) {		if(present("jiuyin zhenjing", me)) {	                command("? " + me->query("id"));	                command("say 不是已经给你了吗?");	                return 1;	        } else {			ob = new("/clone/book/jiuyin-book.c");			ob->move(me);			message("channel:rumor", MAG"【谣言】某人:"+me->query("name")+"拿到《九阴真经》啦。\n"NOR, users());	                command("say 好好保管,掉了可别再来找我了。");			return 1;		}	}        command("say 你打听这个干什么?!");        return 1;}int ask_hubo(){        object ob=this_player();        int hubo;        if(!ob->query("zhou/jieyi")){                tell_object(ob,"周伯通正盯着你看,不知道打些什么主意。\n");                command("say 你是谁啊,怎么莫名其妙地问我双手互搏的事啊?");                return 1;        }                       if (ob->query("double_attack")) {                command("? " + ob->query("id"));                command("say 你不是已经学会了吗?");                return 1;        }        if(ob->query("zhou/failed") >= 3){                command("disapp " + ob->query("id"));                command("say 已经试了这么多次,看来你一辈子也练不会这门功夫了。");                return 1;        }        hubo = ob->query_temp("zuoyou_hubo");        if (hubo == 22) {                command("say 接着练第一课!");                return 1;        }        if (hubo == 1) {                command("say 让你练你就快练嘛!");                return 1;        }        if (hubo > 1 && hubo <= 21) {                command("say 怎么样,练不会吧?就象黄蓉那女孩儿玲珑剔透,一颗心儿上生了十七八个窍,可是这门功夫她便始终学不会!");                return 1;        }        if (ob->query_skill("force") < 100 || ob->query("max_neili") < 500 || ob->query("combat_exp") < 10000) {                command("say 你还是先打好武学基础再说吧。");                return 1;        }        command("say 这门功夫是我在洞中无聊之时想出来的玩意儿,说难是难到极处,说容易也容易之至。\n"+                "有的人一学便会,有的人一辈子也学不了,越是聪明,越是不成。");        command("say 你先练练这第一课:左手画方(fang),右手画圆(yuan)。");        ob->set_temp("zuoyou_hubo", 1);        return 1;}int do_fangyuan(){        object ob=this_player();        int hubo;        if (ob->is_busy() || ob->is_fighting()) return notify_fail("你正忙着呢!\n");        hubo = ob->query_temp("zuoyou_hubo");        ob->start_busy(1);        if (!hubo) return 0;        if (hubo < 21) {                message_vision("$N伸出两根食指在地上划画,但画出来的方块有点象圆圈,圆圈又有点象方块。\n", ob);                ob->add_temp("zuoyou_hubo", 1);                return 1;        }        if (hubo == 21) {                message_vision("$N伸出两根食指在地上划画,但画出来的方块有点象圆圈,圆圈又有点象方块。\n", ob);                command("haha " + ob->query("id"));                command("say 是么?你这一下便办不到!");                ob->add_temp("zuoyou_hubo", 1);

⌨️ 快捷键说明

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