qianyuan.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 80 行

C
80
字号
// Room: /guiyun/qianyuan.c
// Date: Nov.18 1998 by Winder
#include <ansi.h>;
inherit ROOM;

void create()
{
	set("short", "前院");
	set("long", @LONG
这里是归云庄的前院,相当宽敞。左右靠墙各建有几间低矮的
平房,像是家人的住处。正前方几棵树木,湖中清风吹来,落叶萧
萧而下。树木再往后是一间大厅。右首有一对白雕(diao)。原来这
里是桃花岛为方便弟子回岛的。
LONG );
        set("outdoors", "guiyun");
	set("no_clean_up", 0);
	set("valid_startroom", 1);
	set("item_desc", ([
		"diao" : "一对白雕正展翅欲飞。如果是桃花岛的弟子,\n"
		"骑上(ride)就可以飞回桃花岛。\n",
	]));

	set("exits", ([
		"out"   : __DIR__"damen",
		"north" : __DIR__"dating",
	]));
	setup();
	"/clone/board/guiyun_b"->foo();
}

void init()
{
	add_action("do_ride", "ride");
}
int do_ride ( )
{
	mapping myfam;
	object room;
	object ob = this_player () ;
	myfam = (mapping)ob->query("family");
	if(!myfam || myfam["family_name"] != "桃花岛")
	{
		message_vision("$N一跃身跨上了白雕。只见白雕仰天长唳,突然猛然一颠......\n"
		HIR "结果$N摔了个鼻青脸肿!\n" NOR
		"看来白雕对$N并不感兴趣,它只认识桃花岛的弟子。\n" , ob ) ;
		ob -> receive_damage ("qi",50) ;
		ob -> receive_wound  ("qi",50) ;
		return 1;
	}
	if( !(room = find_object("/d/taohua/lantian")) )
		room = load_object("/d/taohua/lantian");
	if( room = find_object("/d/taohua/lantian") ) 
	if((int)room->query_temp("tian_trigger")==1 ) 
	{
		message_vision("现在白雕正忙着,请过一会再乘坐!\n" , ob) ;
		return 1 ;
	}
	room->set_temp("tian_trigger", 1);
	message_vision("$N一跃身跨上了白雕。只见白雕仰天长唳,突然展翅高飞。\n\n"
		"但看一雕一人身形渐渐缩小,终至不见。\n" , ob );
	ob->move(room) ;
	tell_object(ob, CYN  "\n你不断地飞呀飞,万水千山身下飘过 ......\n\n" NOR ) ;
	call_out("taohua", 3 , ob );
	room->delete_temp("tian_trigger");
	return 1 ;
}
void taohua( object ob )
{
	tell_object(ob, "你终于飞到了桃花山庄,白雕落了下来。\n\n"  ) ;
	ob -> move ("/d/taohua/damen") ; 
}
void reset()
{
	object room;

	::reset();
	if( room = find_object("/d/taohua/lantian") )
		room->delete("tian_trigger"); 
}

⌨️ 快捷键说明

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