?? 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"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 + -