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

📄 chen.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// chen.c 陈近南#include <ansi.h>inherit NPC;inherit F_MASTER;int ask_weiwang();int ask_tuihui();int ask_job();int ask_fail();string ask_me();void create(){	set_name("陈近南", ({ "chen jinnan", "chen","jinnan" }));	set("title", HIR "天地会"HIM"总舵主"NOR );	set("nickname", HIC "英雄无敌" NOR);	set("long", 		"\n这是一个文士打扮的中年书生,神色和蔼。\n"		"他就是天下闻名的天地会总舵主陈近南,\n"		"据说十八般武艺,样样精通。\n"		"偶尔向这边看过来,顿觉他目光如电,英气逼人。\n");	set("gender", "男性");	set("class", "scholar");	set("age", 45);	set("attitude", "friendly");	set("shen_type", 1);	set("str", 30);	set("int", 30);	set("con", 30);	set("dex", 30);		set("max_qi", 2000);	set("max_jing", 1000);	set("neili", 3000);	set("max_neili", 3000);	set("jiali", 100);	set("combat_exp", 2000000);	set("score", 500000);	set_skill("literate", 100);	set_skill("force", 200);	set_skill("dodge", 200);	set_skill("unarmed", 200);	set_skill("parry", 200);	set_skill("whip", 200);	set_skill("blade", 200);	set_skill("sword", 200);	set_skill("hand", 200);	set_skill("claw", 200);	set_skill("houquan", 300);	set_skill("yunlong-xinfa", 300);	set_skill("yunlong-shengong", 300);	set_skill("wuhu-duanmendao", 300);	set_skill("yunlong-jian", 300);	set_skill("yunlong-shenfa", 300);	set_skill("yunlong-bian", 300);	set_skill("yunlong-shou", 300);	set_skill("yunlong-zhua", 300);	map_skill("dodge", "yunlong-shenfa");	map_skill("force", "yunlong-shengong");	map_skill("unarmed", "houquan");	map_skill("blade", "wuhu-duanmendao");	map_skill("hand", "yunlong-shou");	map_skill("parry", "yunlong-shou");	map_skill("claw", "yunlong-zhua");	map_skill("sword", "yunlong-jian");	map_skill("whip", "yunlong-bian");	prepare_skill("hand","yunlong-shou");	prepare_skill("claw","yunlong-zhua");	create_family("云龙门",1, "开山祖师");	set("book_count", 1);        set("inquiry", ([		"天地会" :  "\n只要是英雄好汉,都可以入我天地会(join tiandihui)。\n",		"入会" :  "\n只要入我天地会,可以向各位好手学武艺。\n",                "反清复明" : "去棺材店和回春堂仔细瞧瞧吧!\n",                "暗号" : "敲三下!\n",                "切口" : "敲三下!\n",                "威望" :  (: ask_weiwang :),                "江湖威望" : (: ask_weiwang :),		"云龙剑谱" : (: ask_me :),                "job" : (: ask_job() :),                "失败" : (: ask_fail() :),		"退会" : (: ask_tuihui :),		"tuihui"   : (: ask_tuihui :),	]) );	set("env/wimpy", 60);	set("chat_chance_combat", 70);  	set("chat_msg_combat", ({		"\n陈近南摇头叹道:螳臂当车,不自量力。唉,你这又是何苦呢?\n",		(: command("smile") :),		(: command("poem") :),		(: command("nomatch") :),		(: command("haha") :),		(: command("chat 这位" + RANK_D->query_respect(this_player())+",你我无冤无仇,何必如此?\n") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("unwield changjian") :),		(: command("wield changjian") :),		(: command("wield changjian") :),		(: command("wield changjian") :),		(: command("wield changjian") :),		(: command("wield bian") :),		(: command("wield bian") :),		(: command("wield bian") :),		(: command("wield bian") :),                (: perform_action, "sword.xian" :),                (: perform_action, "sword.xian" :),                (: perform_action, "sword.xian" :),                (: perform_action, "whip.chan" :),                (: perform_action, "whip.chan" :),                (: perform_action, "blade.duan" :),                (: perform_action, "blade.duan" :),                (: exert_function, "recover" :),                (: exert_function, "recover" :),		(: command("unwield bian") :),		(: command("unwield bian") :),		(: command("unwield bian") :),		(: command("unwield bian") :),		(: command("unwield bian") :),		(: command("unwield bian") :),		(: command("wield blade") :),		(: command("wield blade") :),		(: command("wield blade") :),		(: command("wield blade") :),		(: command("unwield blade") :),		(: command("unwield blade") :),		(: command("unwield blade") :),		(: command("unwield blade") :),		(: command("unwield blade") :),		(: command("unwield blade") :),	}) ); 	setup();	carry_object("/d/city2/obj/jinduan")->wear();	carry_object("/d/city2/obj/yaodai")->wear();	carry_object("/clone/weapon/changjian")->wield();	carry_object("/d/city2/obj/hlbian");	carry_object("/d/city/obj/gangdao");}string ask_me(){        mapping fam;         object ob;        if (!(fam = this_player()->query("family")) 	    || fam["family_name"] != "云龙门")                return RANK_D->query_respect(this_player()) +                 "与本派素无来往,不知此话从何谈起?";        if (query("book_count") < 1)                return "你来晚了,本派的云龙真经不在此处。";        add("book_count", -1);        ob = new("/clone/book/yljianpu");        ob->move(this_player());        return "好吧,这本「云龙剑谱」你拿回去好好钻研。";}void init(){	::init();	add_action("do_skills","skills");	add_action("do_skills","cha");	add_action("do_join","join");}void attempt_apprentice(object ob){	if ((int)ob->query_skill("yunlong-shengong", 1) < 50)	{		command("say 我云龙神功乃内家武功,最重视内功心法。"); 		command("say " + RANK_D->query_respect(ob) + 			"是否还应该在云龙神功上多下点功夫?");		return;	}	if ((int)ob->query("weiwang") <60)	{		command("say 我云龙门武功天下无敌,凡入我门,\n必闯荡江湖,行侠仗义,为天下苍生谋福利。\n"); 		command("say " + RANK_D->query_respect(ob) + 			"是否应该先出去闯一闯,做几件惊天动地的大事?");		return ;	}	if ((int)ob->query("shen") >0&&(int)ob->query("shen") < 5000) {		command("say 学武之人,德义为先,功夫的高低倒还在其次,未练武,要先学做人。");		command("say 在德行方面," + RANK_D->query_respect(ob) +			"是否还做得不够?");		return ;	}	if(ob->query("weiwang")<80)	{		if((int)ob->query("shen")<0) command("say "+ RANK_D->query_respect(ob) +"虽然是邪派中人,但也还做了些好事。\n");		command("chat 我天地会所作所为,无一不是前人所未行之事。\n");		command("chat 万事开创在我,骇人听闻,物议沸然,又何足论?\n");		command("chat 今天就收了你吧!!\n");		command("chat 想不到我一身惊人艺业,今日终于有了传人,哈哈哈哈!!!!\n");		message_vision(HIC "$N的江湖威望提高了!\n" NOR,this_player());		ob->set("weiwang",80);	}	command("recruit " + ob->query("id"));	if((!(string)ob->query("class")) || ((string)ob->query("class") != "fighter"))		ob->set("class","fighter");}int do_skills(string arg){	object ob ;	ob = this_player () ;	if( !arg || arg!="chen" )		return 0;	if(wizardp(ob))  return 0;	if (ob->query("party/party_name") != HIR "天地会" NOR )	{		message_vision("$N摇了摇头。\n",this_object());		command("tell "+ob->query("id")+" 不是天地会弟子不能察看。\n"); 		return 1;	}	command("tell "+ob->query("id")+" 我所有的基本武功如下:\n"+	"  基本刀法 (blade)                         - 深不可测 200/   \n"+	"  基本爪法 (claw)                          - 深不可测 200/   \n"+	"  基本轻功 (dodge)                         - 深不可测 200/    \n"+	"  基本内功 (force)                         - 深不可测 200/    \n"+	"  基本手法 (hand)                          - 深不可测 200/    \n"+	"  基本拳脚 (unarmed)                       - 深不可测 200/    \n"+	"  基本鞭法 (whip)                          - 深不可测 200/    \n"+	"  基本招架 (parry)                         - 深不可测 200/    \n"+	"  基本剑法 (sword)                         - 深不可测 200/    \n"+	"  云龙心法 (yunlong-xinfa)                 - 深不可测 200/    \n"+	"  读书写字 (literate)                      - 深不可测 100/    \n");	command("tell "+ob->query("id")+" 我所有的高深武功如下:\n"+	"□猴拳 (houquan)                           - 深不可测 150/    \n"+	"□五虎断门刀 (wuhu-duanmendao)             - 深不可测 150/    \n"+	"□云龙神功 (yunlong-shengong)              - 深不可测 150/    \n"+	"□云龙身法 (yunlong-shenfa)                - 深不可测 150/    \n"+	"□云龙剑法 (yunlong-jian)                  - 深不可测 200/    \n"+	"□云龙鞭 (yunlong-bian)                    - 深不可测 150/    \n"+	"□云龙手 (yunlong-shou)                    - 深不可测 150/    \n"+	"□云龙爪 (yunlong-zhua)                    - 深不可测 150/    \n");	return 1;}int ask_weiwang(){	command("tell "+this_player()->query("id")+" 你现在的江湖威望是 " +(string)(this_player()->query("weiwang")));	say("\n陈近南说道:如果你威望值很高,有些人见了你不但不会杀你,还会教你武功,送你宝贝。\n"	+"而且你还可以加入帮会,率领会众去攻打目标,就连去钱庄取钱也会有利息 。。。。。\n");	say("陈近南又说:杀某些坏人或救某些好人可以提高江湖威望。\n");	return 1;}int ask_tuihui(){	object ob;	ob=this_player();	if(ob->query("party/party_name") != HIR "天地会" NOR )	{message_vision("陈近南笑了笑,对$N说道:你还没加入我天地会呢,退什么退?\n", ob);		return 1;	}	if(ob->query("family/family_name") == "云龙门" )	{message_vision("陈近南板着脸对$N说道:你已经是我云龙门弟子,如何能退会?\n", ob);		return 1;	}	command("look "+ob->query("id"));	command("sigh ");	command("say 反清复明,就要坚贞志士,你去吧! ");	ob->delete("party");	ob->delete("rank");	ob->delete("level");	return 1;}                                           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_yunlong") == 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_yunlong", 1);                me->set("quest/quest_type", "救");                me->set("quest/quest", "反清义士");                me->set("task_time", time() + 300);                ob = new(__DIR__"shangdui",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_yunlong") == 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_yunlong");        return 1;}#include "/kungfu/class/yunlong/tiandihui.h";

⌨️ 快捷键说明

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