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

📄 gu.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
//Cracked by Kafei// /d/hangzhou/npc/gu.c// by aln  2 / 98inherit NPC;string ask_jiannan();string ask_degree();#include <ansi.h>string ask_book();void create(){        set_name("顾炎武", ({ "gu yanwu" , "gu" }));        set("gender", "男性");        set("age", 55);        set("long", "他又高又瘦,面目黝黑。\n""他字亭林,江苏昆山人士。\n");        set("shen_type", 1);        set("combat_exp", 2000);        set_temp("no_kill",1);        set("str", 20);        set("int", 30);        set("con", 20);        set("dex", 20);        set("max_qi", 500);        set("max_jing", 500);        set("score", 10000);        set_skill("dodge", 30);        set_skill("sword", 30);	set_skill("literate", 300);        set("inquiry", ([		"画" : "这是二瞻先生的丹青。",		"二瞻" : "他乃是当今一位大画家。",		"查士标" : "二瞻先生有位本家伊璜先生牵连在这场‘明史’大案中。",		"伊璜" : "查伊璜, 也就是查继佐, 因大力将军所助, 免罪不究。", 		"大力" : "大力将军乃广东提督吴六奇将军。",		"大力将军" : "大力将军乃广东提督吴六奇将军。",		"吴六奇" : "吴六奇将军身在曹营心在汉, 实际上是天地会洪顺堂香主。",		"天地会" : "天地会是台湾国姓爷延平郡王郑成功手下谋主陈永华所创。",		"陈永华" : "陈先生暗中联络老兄弟,胸口所刺八字便是会里的口号。",		"陈近南" : "就是天地会总舵主陈永华,江湖人言道:‘平生不识陈近南,便称英雄也枉然’。",		"口号" : "天父地母,反清复明。",		"反清复明" : "你也要学一学当年岳武穆尽忠报国, 刺字以决你心? ",		"岳武穆" : "岳武穆名飞字鹏举,乃抗金的名将,一生用兵如神。据说他死后留下了一部武穆遗书,其中记载着他一生戎马生涯的兵法要诀。",		"武穆遗书" : "这部遗书最早收藏在皇宫之中,后听说铁掌帮帮主上官剑南率帮中高手,将此书偷走,不知是真是假。",		"上官剑南" : (: ask_jiannan :),		"学位" : (:ask_degree:),         	"科举" : (:ask_degree:),                 "《明书辑略》" : (: ask_book :),                 "明书辑略" : (: ask_book :),                 "修撰" : (: ask_book :),                 "book" : (: ask_book :),        ]));	set("chat_chance", 3);	set("chat_msg", ({		"顾炎武高声呤道:清风虽细难吹我,明月何尝不照人? 真是绝唱! \n",		"顾炎武道:如此江山,沦于夷狄。我辈忍气吞声。偷生其间,实令人悲愤填膺。\n",		"顾炎武道:终有一日驱除胡虏,还我大汉河山,比之徒抒悲愤,更加令人气壮。\n",		"顾炎武道:当今之世,便真有桃源乐土,咱们也不能独善其身,去躲了起来。\n",        }) );        setup();        carry_object("/clone/cloth/cloth")->wear();}void init(){	add_action("do_yes","yes");	add_action("do_no","no");	::init();}string ask_jiannan(){	object me = this_object();	object ob = this_player();        	if (present("zitie", ob)) return "顾炎武道:我不是已经告诉你了么,怎么还问?\n";        command("say 这位上官帮主乃是一位侠义之士,铁掌帮自他接任后,力加整顿,多行侠义之事,不过数年声势大振,在江湖上侵寻已可以与北方的丐帮分庭抗礼了。只是后来忽然消声匿迹,不知所踪了。看来想找到武穆遗书,必先找到上官帮主才行!\n");        command("look " + ob->query("id"));        command("say 看来" + RANK_D->query_respect(ob) + "也是我辈中人,老朽这里有一幅字帖送给你,希望你能不忘驱除胡虏,还我河山的志向!");	new("/d/tiezhang/obj/zitie")->move(ob);        message_vision("$N交给$n一幅字帖。\n", me, ob);        return "";}int is_apprentice_of() {	return 1;}int recognize_apprentice(object ob){	int money = 50, level = ob->query_skill("literate", 1);	if (level > ob->query("int")*10){		message_vision(CYN"\n$N对着$n端详了一番道:“你因先天所制,已无法再进修更高深的学问了。”\n"NOR, this_object(), ob);                message_vision(CYN"$N又点了点头:“"+ask_degree()+"”\n\n"NOR, this_object());		return 0;	}		if (level > 29) money = 100;	if (level > 59) money = 500;	if (level > 89) money = 1000;	if (level > 119) money = 2500;	ob->delete_temp("mark/literate");	switch (MONEY_D->player_pay(ob, money)) {		case 0:		case 2: write("你现在的学费是每次" + MONEY_D->money_str(money) + ",请备好零钱。\n");			return 1;	}        ob->set_temp("mark/literate", 1);        return 1;}void kill_ob(){	if(!is_killing(this_player()->query("id")))        	command("chat* !!!");        this_player()->start_busy(2);        ::kill_ob(this_player());}int accept_object(object who, object ob){	object me = this_object();                if (!who || environment(who) != environment()) return 0;        if (!objectp(ob) ) return 0;        if (!present(ob, who)) return notify_fail("你没有这件东西。");        if (userp(ob)){		command("fear "+(string)who->query("id"));		command("say 你这粗人,怎么做出这等事来?");		return 0;	}        if (ob->query("id") == "tu juan") {		command("ah " + who->query("id"));		command("say 真是想不到啊!竟然能见到" + ob->query("name") + "真迹!\n");		message_vision("$N拿起$n仔细地欣赏着。\n", me, ob);		who->set_temp("gu_gold", 100);		remove_call_out("destroying");		call_out("destroying", 1, ob);            		remove_call_out("ask");		call_out("ask", 4, me, ob, who);		return 1;	}        else if (ob->query("id") == "xiang shi") {		command("ah");		command("say 东汉画像石!你是从哪里搞到的?\n");		message_vision("$N拿起$n仔细地欣赏着。\n", me, ob);		who->set_temp("gu_gold", 50);		remove_call_out("ask");		call_out("ask", 4, me, ob, who);		return 1;	}        else if (ob->query("id") == "kuaixueshiqing tie") {		command("fly");		command("say 快雪时晴帖!王羲之的真迹!!\n");		message_vision("$N拿起$n仔细地欣赏着。\n", me, ob);		who->set_temp("gu_gold", 250);		remove_call_out("ask");		call_out("ask", 2, me, ob, who);		return 1;	}        else if (ob->id("xi shan xing lv tu")) {		command("jump " + who->query("id"));		command("say 范宽的溪山行旅图!我找它好久了!!\n");		message_vision("$N拿起$n仔细地欣赏着。\n", me, ob);		message_vision("$N把玩了半天,叹道:可惜可惜,这是无价之宝,老夫已经买不起了。\n", me);	}        else if (ob->id("ou xie pu")) {		command("nod " + who->query("id"));		command("say 老夫也略通棋理,看来这是一张很高深的棋谱,你可以去找识货的人。\n");	}        else if (ob->id("guang ling san")) {		command("nod " + who->query("id"));		command("say 老夫也略通音律,不过这本琴谱高深莫测,你还是去找识货的人吧。\n");	}        return 0;}void ask(object ob, object obj, object me){	if(!me || environment(me) != environment()){		command("say 咦,人呢?");if (obj)		destruct(obj);		return;	}	command("hmm "+me->query("id"));	message_vision(HIY"$N说道:在下极其喜爱这" + "东西" + HIY",不知这位" + RANK_D->query_respect(me) + "能(yes)不能(no)忍痛割爱呢?\n"NOR, ob, me);	me->set_temp("gu_answer", 1);if (obj)	destruct(obj);       }int do_yes(){	object me = this_player();	if (!me->query_temp("gu_answer")) return 0;	message_vision(CYN"$N连忙对$n一鞠躬,答道:先生竟然喜爱,那就当晚辈送给先生的礼物吧。\n"NOR,me, this_object());	me->set_temp("gu_yes", 1);	me->delete_temp("gu_answer");		remove_call_out("answer");	call_out("answer", 3, me);	return 1;}int do_no(){	object me = this_player();	if (!me->query_temp("gu_answer")) return 0;	message_vision(CYN"$N面有难色:这个…这个…\n"NOR, me);	me->delete_temp("gu_answer");	remove_call_out("answer");	call_out("answer", 4, me);	return 1;}int answer(object me){	int amount;	object n_money, ob = this_object();	if (!me->query_temp("gu_yes")) {		command("pat "+me->query("id"));		command("say 哈哈,我知你也舍不得。这样吧,就当是我求你,我再给双倍价钱。");		message_vision("说着$N不由$n分说,塞给$n几锭黄金,就拿进内屋里去了。\n", ob, me);		n_money = new("/clone/money/gold");		n_money->move(me);		amount = me->query_temp("gu_gold"); 		n_money->set_amount(amount);		me->delete_temp("gu_gold");	}	else {		command("haha");		command("say 好,那我就多谢你了!");		me->delete_temp("gu_yes", 1);			me->delete_temp("gu_gold");		return 1;	}}void die(){	object killer;		if(objectp(killer = query_temp("last_damage_from")) ){                killer->add("shen", -5000);      	        killer->apply_condition("killer", killer->query_condition("killer")+100);	        command("chat "+killer->name()+"奸诈险恶,竟然背叛我朝,投靠清廷...");	        }	::die();}		 	string ask_degree(){     	object me = this_player();     	string title,newtitle;     	int level;        level = me->query_skill("literate",1);        if (!level || level < 1 )                newtitle = "文盲";        else if (level < 10)                newtitle = "学童";        else if (level < 20)                newtitle = "童生";        else if (level < 30)                newtitle = "书生";        else if (level < 40)                newtitle = "秀才";        else if (level < 50)                newtitle = "举人";        else if (level < 60)                newtitle = "解元";        else if (level < 70)                newtitle = "贡士";        else if (level < 80)                newtitle = "会元";        else if (level < 100)                newtitle = "进士";        else if (level < 120)                newtitle = "庶吉士";        else if (level < 130)                newtitle = "传胪";        else if (level < 140)                newtitle = "探花";        else if (level < 150)                newtitle = "榜眼";        else if (level < 160)                newtitle = "状元";        else if (level < 170)                newtitle = "翰林";        else if (level < 180)                newtitle = "学士";        else if (level < 200)                newtitle = "内阁大学士";        else if (level < 230)                newtitle = "内阁首辅";        else if (level < 250)                newtitle = "文坛领袖";        else if (level < 270)                newtitle = "文学大宗师";        else newtitle = "圣人";                title =  newtitle + " " + me->query("name") +                 "(" + capitalize(me->query("id")) + ")";        me->set_temp("apply/short", ({title}));        return "凭阁下的学识,依老夫看,你可以做一名"+newtitle+"。";}string ask_book(){        object ob;        if( !(ob = present("mingshi", this_player())) )                return "没有原稿,我怎么修撰?";        if( ob->query("checked") )                return "我已经修撰过此书了。";        ob->set("checked", 1);        message_vision("顾炎武将书阅后修改了几处谬误,同时也给$N讲解了一下。\n", this_player());        if( (int)this_player()->query_skill("literate", 1) < 60 )                this_player()->improve_skill("literate",                           10 * this_player()->query("int"));        return "修撰明史乃是一件美事,老夫已尽力而为了。";}

⌨️ 快捷键说明

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