?? xuedao.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 + -