guangchang1.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 179 行
C
179 行
// Room: /d/shaolin/guangchang1.c// Date: YZC 96/01/19inherit ROOM;void init();void close_gate();int do_open();int valid_leave();string look_gate();void create(){ set("short", "少林广场"); set("long", @LONG这里是少林寺前的广场,整个广场由大块的青石铺成,极为平坦。但因年代久远,都有些破损。丛丛小草从石板的缝隙中长了出来。广场周围都是密密的松树林,四角上各放了几块石碑,字迹都甚为模糊。正前方黄墙碧瓦,飞檐翘檩,正中一道二丈来宽,三丈来高的朱红杉木包铜大门(gate)。上方一块大匾,龙飞凤舞地书着『少林寺』三个大字。寺前三三两两的站着几个僧人。LONG ); set("exits", ([ "east" : __DIR__"guangchang1e", "south" : __DIR__"shijie11", "west" : __DIR__"guangchang1w", ])); set("outdoors", "shaolin"); set("item_desc",([ "gate" : (: look_gate :), ])); set("objects",([ CLASS_D("shaolin") + "/qing-fa" : 1, ]));// set("no_clean_up", 0); setup(); "/clone/board/shaolin_b"->foo();}/* TODO 此处改为:(knock gate) 敲门后一僧人应声打开大门:“吱”的一声,大门打了开来,一位壮年僧人上上下下打量了你(他,她,人名) 一会,(如为本寺僧人,且无罪过,正神提高或无增减)侧身让开,说道:师兄辛苦了,请进。(如为本寺僧人,正神降低或有负神)沉下脸来,说道:戒律院主持玄痛大师请师兄火 速去戒律院陈述此行过犯。 (直接送交戒律院处治查问后,打入僧监关押)。(如非本寺僧人,男性,有正神)说道:这位施主请回罢,本寺不接待俗人。(如非本寺僧人,女性,有正神)说道:这位女施主还是请回罢,本寺从不接待女客。(如非本寺僧人,无论男女,有负神)立时从身畔挚出一把雪亮的戒刀来,把明晃晃的 刀尖对准你的胸口,横眉怒目地说道:你等邪魔 外道,还不给我滚开!以后再敢走近少林一步, 我立时就斩断你们的狗腿!对不起,俗家弟子不得入寺修行 */void init(){ add_action("do_knock", "knock");}void close_gate(){ object room; if(!( room = find_object(__DIR__"smdian")) ) room = load_object(__DIR__"smdian"); if(objectp(room)) { delete("exits/north"); message("vision", "乒地一声,里面有人把大门关上了。\n", this_object()); room->delete("exits/south"); if (objectp(present("qingguan", room))) message("vision", "清观上前把大门关了起来。\n", room); else message("vision", "壮年僧人上前把大门关了起来。\n", room); } else message("vision", "ERROR: gate not found(close).\n", room);}int do_knock(string arg){ object room; if (query("exits/north")) return notify_fail("大门已经是开着了。\n"); if (!arg || (arg != "gate" && arg != "north")) return notify_fail("你要敲什么?\n"); if(!( room = find_object(__DIR__"smdian")) ) room = load_object(__DIR__"smdian"); if(objectp(room)) { set("exits/north", __DIR__"smdian"); message_vision("$N轻轻地敲了敲门,只听吱地一声," "一位壮年僧人应声打开大门,\n" "他用锐利的目光上上下下打量着$N。\n", this_player()); room->set("exits/south", __FILE__); message("vision", "外面传来一阵敲门声,壮年僧人应声上前把大门开。\n", room); remove_call_out("close_gate"); call_out("close_gate", 10); } return 1;}int valid_leave(object me, string dir){ if ( dir != "north" ) { return ::valid_leave(me, dir); } if (!::valid_leave(me, dir)) return 0; if ( (me->query("family/family_name") == "少林派")) { if (me->query("class") != "bonze") { return notify_fail("壮年僧人说道:对不起,俗家弟子不得入寺修行。\n"); } if (((int)me->query("guilty") == 0) && ((int)me->query("K_record") == ((int)me->query("PKS")))) { write("壮年僧人侧身让开,说道:师兄辛苦了,请进。\n"); return 1; } else { if((int)me->query("guilty") == 0) { if((int)me->query("shen_record") > (int)me->query("shen")) me->set("guilty", 1); else me->set("guilty", 2); me->set("K_record", me->query("PKS")); me->set("shen_record", me->query("shen")); } me->move(__DIR__"smdian"); return notify_fail("壮年僧人沉下脸来,说道:戒律院主持玄痛大师请师兄\n" "火速去戒律院陈述此行过犯。\n"); } } else if( present("yingxiong ling", me) ) { write("壮年僧人合十为礼,侧身让开,说道:原来是贵客驾到,请进请进!\n"); return 1; } if (me->query("shen") >= 0) { if (me->query("gender") == "女性") { return notify_fail("壮年僧人说道:这位女施主还是请回罢," "本寺从不接待女客。\n"); } else { return notify_fail("壮年僧人说道:这位施主请回罢,本寺不接待俗人。\n"); } } return notify_fail("壮年僧人立时从身畔挚出一把雪亮的戒刀来,把明晃晃的\n" "刀尖对准你的胸口,横眉怒目地说道:你等邪魔外道,还不给我滚开!\n" "以后再敢走近少林一步,我立时就斩断你们的狗腿!\n");}string look_gate(){ return "一道三丈来高的朱红杉木包铜大门。\n";}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?