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

📄 zhou.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
                return 1;        }        if (hubo == 22) {                if ( ob->query("kar") > 40 ){                    if( random(ob->query("kar")) > 30 ){                        message_vision("$N微微一笑,凝神守一,心地空明,随随便便的伸出双手手指,左手画了一个方块,右手画了一个圆圈,\n"+                                       "方者正方,圆者浑圆。\n", ob);                        say("周伯通大吃一惊,过了半晌才道:“这定是你从娘胎里学来的本领,那便易办了。”\n");                        message_vision("周伯通将他领悟出来的这门天下无比的奇功,一古脑儿都教给了$N。\n", ob);                        ob->delete_temp("zuoyou_hubo");//                        log_file("ZHOU",sprintf("%s(%s)从周伯通处领悟到双手互搏于: %s\n",ob->name(1), getuid(ob), ctime(time())));                        ob->set("double_attack", 1);                        return 1;                    }                    else {                        ob->delete_temp("zuoyou_hubo");                        message_vision("$N又伸出两根食指在地上划画,但画出来的仍旧是方块有点象圆圈,圆圈又有点象方块。\n", ob);                        write("看来并不是这么简单。\n");                        ob->add("zhou/failed", 1);                        return 1;                    }                }                message_vision("$N又伸出两根食指在地上划画,但画出来的仍旧是方块有点象圆圈,圆圈又有点象方块。\n", ob);                message_vision("$N终于发现自己是一辈子也练不会这门功夫了。\n", ob);                ob->delete_temp("zuoyou_hubo");                ob->add("zhou/failed", 1);                command("disapp " + ob->query("id"));                return 1;        }        return 0;}int do_draw(string arg){        object ob=this_player();        if (!ob->query_temp("zuoyou_hubo")) return 0;        if (arg == "fang" || arg == "方" || arg == "yuan" || arg == "圆") return notify_fail("周伯通怒道:让你同时画方圆!\n");        if (arg == "fang yuan" || arg == "方圆") return do_fangyuan();        return 0;}int do_learn(string arg){        object me=this_player();        string skill, teacher, skill_name;        object ob;        int master_skill, my_skill, gin_cost, rand;        if (me->is_busy())                return 0;        if(!arg || (sscanf(arg, "%s %s", teacher, skill)!=2 ))                return 0;        if (teacher != "zhou" && teacher != "botong")                return 0;        if( me->is_fighting() )                return 0;        if( !(ob = present(teacher, environment(me))) || !ob->is_character()) {                write("你要向谁求教?\n");                return 1;        }        if( !living(ob) ) {                write("嗯....你得先把" + ob->name() + "弄醒再说。\n");                return 1;        }        if( !me->query("zhou/jieyi")) {                write("周伯通奇怪地看着你,问道:你是谁呀?\n");                return  1;        }        if (skill != "kongming-quan" && skill != "空明拳") {                write("这项技能你恐怕必须找别人学了。\n");                return 1;        }        my_skill = me->query_skill(skill, 1);        master_skill = ob->query_skill(skill, 1);        if( my_skill >= master_skill ) {                write("你在空明拳上的造诣已经不下老顽童了!\n");                return 1;        }        if( !SKILL_D(skill)->valid_learn(me) ) {                write("你必须是空手并且有足够的内功和内力才可以学习空明拳。\n");                return 1;        }        gin_cost = 150 / (int)me->query("int");        if( !my_skill ) {                gin_cost *= 2;                me->set_skill(skill,0);        }        rand = random(20);        if (rand == 4)                gin_cost *= 2;        else if (rand == 15)                gin_cost += 4;        if( (int)me->query("potential") < 1 ) {                write("你的潜能已经发挥到极限了,没有办法再学了。\n");                return 1;        }        message_vision("$N向$n请教有关「空明拳」的问题。\n", me, ob);        if( (int)me->query("jing") > gin_cost ) {        write("周伯通念道:老子《道德经》里有句话道:“埏植以为器,当其无,有器之用。凿户牖以为室,当其无,有室之用。”\n");                write("周伯通吟口诀道:大成若缺,其用不弊,大盈若冲,其用不穷。\n");                if( (string)SKILL_D(skill)->type()=="martial"                &&      my_skill * my_skill * my_skill / 10 > (int)me->query("combat_exp") ) {                        write("也许是缺乏实战经验,你对老顽童的讲解总是无法领会。\n");                }                 else {                        if (rand == 13) {                                write("就在你试图领悟其中道理的时候,老顽童忽然在你旁边大做鬼脸,又故意放了个屁来捣乱,搞得你心烦意乱。\n");                                write("结果你什么都没学到。\n");                                return 1;                        }                        else if (rand == 5) {                                write("周伯通讲解了两句,忽然不耐烦起来,拉着你道:“咱俩玩四个人打架可好?”\n");                                write("结果你只好陪他玩耍了一阵。\n");                                return 1;                        }                        else if (rand == 4) {                                write("就在你试图领悟其中道理的时候,老顽童忽然在你旁边大做鬼脸,又故意放了个屁来捣乱,搞得你心烦意乱。\n");                                write("结果你花了比平常多一倍的精力。\n");                        }                        else if (rand == 15) {                                write("就在你试图领悟其中道理的时候,老顽童忽然在你旁边大做鬼脸,又故意放了个屁来捣乱,搞得你心烦意乱。\n");                                write("结果你花了比平常多得多的精力。\n");                        }                        if(skill_name = SKILL_D(skill)->query_skill_name(my_skill))                                write("你听了老顽童的指导,对「" + skill_name + "」这一招似乎有些心得。\n");                        else                                write("你听了老顽童的指导,似乎有些心得。\n");                        me->add("potential", -1);                        me->improve_skill(skill, random(me->query_int()));                }	}        else {                gin_cost = me->query("jing");                write("你今天太累了,结果什么也没有学到。\n");        }        me->receive_damage("jing", gin_cost );        return 1;}void finish(object me){	me->delete_temp("jiuyin/asking");	me->delete_temp("jiuyin/question");	me->delete_temp("jiuyin/story");	if (me->query_temp("jiuyin/count") > 0 && random(me->query_temp("jiuyin/count")) > 10) {		me->delete_temp("jiuyin/count");		me->set_temp("jiuyin/passed", 1);		command("admire " + me->query("id"));		command("say 原来我们是同道中人啊。");		command("hoho");		message_vision("\n", me);		command("say 你陪我陪了这么久,一定很无聊吧?");		command("hmm");		command("ah " + this_object()->query("id"));		command("say 这样吧,我教你点好玩的功夫!");		command("grin");	} else {		me->delete_temp("jiuyin/count");		me->add("jiuyin/shang-failed", 1);		command("disapp");		command("say 真可惜,你的见闻实在太差,下次再来陪我玩吧。");	}}int ask_quest(){        object me = this_player();        if (me->query_temp("jiuyin/story") == 2)        {		if (me->query_temp("jiuyin/asking")) {			command("say 我们不是正在玩么?专心点!");			command("kick " + me->query("id"));	                return 1;		}		me->set_temp("jiuyin/asking", 1);		me->set_temp("jiuyin/count", 0);		command("say 准备好,我们开始啦!");	 	call_out("ask_question", 1, me);	 	call_out("finish", 60, me );		return 1;        }        return 0;}int do_answer(string arg){        object me = this_player();        string answer;	if (!me->query_temp("jiuyin/asking") || !me->query_temp("jiuyin/question"))		return 0;        if( !arg || arg=="" ) {           write("想好答案再回答。\n");           return 1;        }        switch ((int) me->query_temp("jiuyin/question")) {          case 1: answer="hamagong"; break;          case 2: answer="xianglong-zhang"; break;          case 3: answer="tanzhi-shentong"; break;          case 4: answer="hubo"; break;          case 5: answer="xiantian-qigong"; break;          case 6: answer="qixing-array"; break;          case 7: answer="shuishangpiao"; break;          case 8: answer="yiyang-zhi"; break;          case 9: answer="qimen-wuxing"; break;          case 10: answer="wugou"; break;          case 11: answer="anran-zhang"; break;          case 12: answer="six-finger"; break;          case 13: answer="beiming-shengong"; break;          case 14: answer="lingboweibu"; break;          case 15: answer="lonely-sword"; break;          case 16: answer="qiankun-danuoyi"; break;          case 17: answer="kanglongwuhui"; break;          case 18: answer="jiuyang-shengong"; break;          case 19: answer="jiuyin-baiguzhua"; break;          case 20: answer="kongming-quan"; break;        }	if (arg == answer) {		me->add_temp("jiuyin/count", 1);		command("say 不错不错,有点头脑嘛。");		command("praise " + me->query("id"));	} else {		me->add_temp("jiuyin/count", -1);		command("say 错!");		command("papaya " + me->query("id"));	}	command("say 再来一题吧。");	me->delete_temp("jiuyin/question"); 	call_out("ask_question", 1, me);        return 1;}void ask_question(object me){	int quest;	if (me->query_temp("jiuyin/asking")) {		message_vision("\n", me);		command("say 注意听好了!");		message_vision(HIW"用 answer 来回答,回答请使用拼音输入,不要用汉字。\n"NOR, me);		quest = random(20);		command("say " + questions[quest]);		message_vision("\n", me);		me->set_temp("jiuyin/question", quest+1);	}	return;}int accept_object(object who, object ob){	if ((string)ob->query("id") == "fan he") {		command("say 是黄老邪的小丫头叫你帮忙送饭来么?");		message_vision(HIC"周伯通不等$N回答,已经开始将食物塞进嘴中。\n"NOR, who);		message_vision(HIC"周伯通吃完,干笑了一下,才对$N问道:“不知道你吃过了没有?\n"NOR, who);		command("say 黄老邪想要我的九阴真经,把我关了十五年啦。");		command("sing3");		command("say 你想不想听听我说故事?");		call_out("destroying", 1, ob);		who->set_temp("jiuyin/fanhe", 1);		return 1;	}	if (who->query("jiuyin/xia") && (string)ob->query("id") == "jiuyin xiajuan") {		command("ah " + who->query("id"));		command("say 这正是我被黄老邪骗去的九阴真经下卷。");		command("say 不知道你有没有拿到上卷呢?");		call_out("destroying", 1, ob);		who->set_temp("jiuyin/give", 1);		return 1;	}	if (who->query("jiuyin/shang") && (string)ob->query("id") == "jiuyin shangjuan") {		if (!who->query_temp("jiuyin/give")) {			command("say 这本九阴真经上卷你不想要了?");			return 0;		}		who->delete_temp("jiuyin/give");		call_out("destroying", 1, ob);		message_vision(HIC"周伯通将手上的九阴真经的上卷和下卷合而为一。\n"NOR, who);		command("say 兄弟,我就把这本九阴真经交给你了,你可要好好保管它!");		who->delete("jiuyin/shang");		who->delete("jiuyin/xia");		who->set("jiuyin/full", 1);		new("/clone/book/jiuyin-book.c")->move(who);		message("channel:rumor", MAG"【谣言】某人:"+who->query("name")+"拿到《九阴真经》啦。\n"NOR, users());		return 1;	}	return 0;}void destroying(object obj){     	if (!obj) return;	destruct(obj);}int ask_kungfu(){        object me = this_player();	if (me->query_temp("jiuyin/passed")) {		me->delete_temp("jiuyin/passed");		command("say 这些功夫是我自己的创作,可厉害的很啊。");		if (me->query("kar") > 40 && random(10) == 0) {			command("say 上次我碰巧误闯入黄老邪的五行阵,就把书藏在那里了。");			command("say 本来想自己去拿的,谁知道那个五行阵很邪,差点把老命送在那里了。");			command("say 我看小兄弟的运气好象不错,你自己去试试吧!");			me->delete("jiuyin/shang-failed");			me->set("jiuyin/shang", 1);		} else {			command("heihei " + this_object()->query("id"));			message_vision(HIC"周伯通却只是告诉$N如何施展,完全不演练给$N看。\n", me);			message_vision("$N无论怎么练习就是无法成功。\n"NOR, me);			command("sigh");			command("say 我这高深武功,你大概别想学了吧。");			me->add("jiuyin/shang-failed", 1);		}		return 1;	}	return 0;}

⌨️ 快捷键说明

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