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

📄 teller.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// teller.c

inherit NPC;

void tell_fortune();

int do_forge();

void create()
{
	set_name("李铁嘴", ({ "fortune teller", "teller" }) );
	set("gender", "男性" );
	set("age", 48);
	set("long", 
"李铁嘴是个买卜算卦的江湖术士,兼代客写书信、调幅。\n");
        set("str", 25);
        set("dex", 20);
        set("con", 17);
        set("int", 15);
	set("shen_type", -1);

        set_skill("unarmed", 30);
	set_skill("dodge", 25);
        set_temp("apply/attack", 25);
        set_temp("apply/defense", 25);
        set("combat_exp", 2500);

	set("attitude", "peaceful");
        set("inquiry", ([
//      "算命" : (: tell_fortune :),
		"写信" : "李铁嘴说道:代客写信,每页五十文。\n",
		"写调幅" : "李铁嘴说道:可以用各家字迹写调幅,每幅五两白银。\n",
		"伪造" : (: do_forge :),
        ]) );

	setup();
	add_money("silver", 5);
}

int do_forge()
{
	say("李铁嘴两只眼睛四下扫了扫,「嘿嘿嘿」的干笑了几声...\n");
	write(
"李铁嘴轻声跟你说道:不是我吹牛,保证蓦的跟原来字体一模一样,每封信\n"
"	            五十两白银,不二价。\n");
	this_player()->set_temp("marks/李", 1);
	return 1;
}

int accept_object(object who, object ob)
{
	object letter;
	letter = new(__DIR__"obj/letter");

	if ((string)ob->query("id")=="letter paper") {
	        if( who->query_temp("marks/李") ) {
			this_player()->set_temp("marks/李3", 1);
			write(
"李铁嘴对你说道:造封信容易,先拿五十两银子来。\n");
			this_player()->set_temp("marks/李", 0);
                call_out("destroy", 1, ob);
			return 1;
		} else if( who->query_temp("marks/李2") ) {
                        write(
"李铁嘴皮笑肉不笑的对你说道:伪造这封信可是关系重大啊,得多收五十两。\n");
                        this_player()->set_temp("marks/李4", 1);
			this_player()->set_temp("marks/李2", 0);
                call_out("destroy", 1, ob);
                        return 1;
                }
//              say("李铁嘴说:这是写好了的信,给我干什么?\n");
                return 0;
	}
       
	if( ob->value() >= 5000 ) {
		 if( who->query_temp("marks/李4") ) {
			write(
"李铁嘴对你说道:这封信是造好了,但" + RANK_D->query_respect(who) + 
"要是出了事,千万别把我说出来呀。\n");
			say("李铁嘴给了" + who->query("name") + "一封手信。\n");
			this_player()->set_temp("marks/李4", 0);
			letter->move(who);
			return 1;
		}
		if( who->query_temp("marks/李3") ) {
			write(
"李铁嘴皮笑肉不笑的对你说道:伪造这封信可是关系重大啊,得多收五十两。\n");
			this_player()->set_temp("marks/李4", 1);
			this_player()->set_temp("marks/李3", 0);
			return 1;
		} 
		if( who->query_temp("marks/李") ) {
			write(
"李铁嘴对你说道:你想伪造什么啊? 总得拿个样子来吧。\n");
		this_player()->set_temp("marks/李2", 1);
		this_player()->set_temp("marks/李", 0);
		return 1;
		}
                say(
"李铁嘴一面急忙把钱收起来,一面笑嘻嘻说道:" + RANK_D->query_respect(ob) + 
",这怎么敢当。\n");
		return 1;
	}
        if( ob->value() >= 500 ) {
		say(
"李铁嘴笑嘻嘻说道:调幅写好了,请您收起来吧,多谢关照。\n");
		return 1;
	}
	if( ob->value() >= 50 ) {
		say(
"李铁嘴笑嘻嘻说道:信写完了,您收好了,多谢关照。\n");
		return 1;
	}
	return 0;
}

void destroy (object ob)
{
        destruct(ob);
        return;
}

⌨️ 快捷键说明

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