📄 zhou.c
字号:
// 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 + -