jlyuan.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 151 行
C
151 行
// Room: /d/shaolin/jlyuan.c
// Date: YZC 96/01/19
#include <ansi.h>
#include <login.h>
inherit ROOM;
void create()
{
set("short", "戒律院");
set("long", @LONG
整个大殿门户紧闭,密不透风。即便是在白昼,也犹如黑
夜一般,每隔几步的墙上,点燃着几枝牛油巨烛。下方摆着一
排排烙铁、水牛皮鞭、穿孔竹板及狼牙棒等刑具。四周站满了
手持兵刃的执法僧兵。他们正用冷酷的眼神打量着你,令你不
禁浑身哆嗦起来。
LONG );
set("no_fight", "1");
set("exits", ([
"southdown" : __DIR__"guangchang3",
]));
set("valid_startroom",1);
set("objects",([
CLASS_D("shaolin") + "/xuan-tong" : 1,
__DIR__"npc/seng-bing2" : 3,
__DIR__"npc/xiao-tong" : 1
]));
// set("no_clean_up", 0);
setup();
}
void init()
{
mapping fam;
object ob;
if( interactive(ob = this_player()) )
{
if( mapp(fam = ob->query("family"))
&& fam["family_name"] == "少林派"
&& fam["generation"] == 37
&& ob->query("guilty") == 0 )
return;
else
{
message_vision(HIY "$N一进戒律院,...只听几声大喝,如同炸雷般在大殿里回响。"
"$N不禁浑身发抖,再也站立不住,腿一软,扑通一声跪了下来。\n\n" NOR, ob);
ob->set("startroom", "/d/shaolin/jlyuan");
remove_call_out("processing");
call_out("processing", 3, ob);
}
}
}
void processing(object ob)
{
mapping fam;
if (!ob) return 0;
write(HIW "\n你定了定神,抬头细看,只见数十名持刀僧人将你团团围起来,\n"
"一片雪亮的刀光逼得你眼都睁不开。正前方的高台上放着一把\n"
"太师椅,居中高坐着位白须白眉的老僧,脸色铁青,目射精光,\n"
"狠狠地瞪着你。\n\n\n" NOR);
if ( !(fam = ob->query("family")) || fam["family_name"] != "少林派" )
message_vision(HIY "玄痛一声大喝:尔等大胆狂徒,擅闯本寺护法松林,意在不轨,该当何罪!"
"堂堂少林寺,岂能容你等宵小如此胡作非为!执法僧兵何在!\n\n" NOR, ob);
if ( (fam = ob->query("family")) && fam["family_name"] == "少林派" )
{
if (ob->query("guilty") == 1)
message_vision(HIY "玄痛一声大喝:$N!你离寺仅有数日,却在外杀人越货,胡作非为,"
"累犯大戒,败坏本寺千载清誉! 你该当何罪?!执法僧兵何在!\n\n" NOR, ob);
if (ob->query("guilty") == 3)
message_vision(HIY "玄痛一声大喝:$N!本寺护法松林历代向来不许门人弟子擅入,"
"你擅闯此地,意在不轨,该当何罪!执法僧兵何在!\n\n" NOR, ob);
if (ob->query("guilty") == 2)
{
message_vision(HIY "玄痛盯着$N看了半饷,说道:$N,你惩恶扬善,锄暴安良,当得表彰,"
"但出家人首戒杀生,你伤害人命,乃是僧家的重罪! "
"你去罢,下次定不轻饶!\n\n" NOR, ob);
ob->set("guilty",0);
ob->set("startroom", START_ROOM);
ob->move("/d/shaolin/guangchang3");
return;
}
}
call_out("responsing", 3, ob, 3);
}
void responsing(object ob, int i)
{
int j;
if (!ob) return 0;
message_vision(HIR "僧兵大声应道:弟子在!\n" NOR, ob);
i--;
j = random(3);
if (i == 0)
{
remove_call_out("beating");
call_out("beating", 3, ob);
return;
}
call_out("responsing", j, ob, i);
}
void beating(object ob)
{
if (!ob) return 0;
message_vision(HIY "\n\n玄痛喝道:杖责三百,将$N打入僧监拘押三月,非洗心悔改,"
"不得释放!意图越狱者罪加一等!\n\n" NOR, ob);
message_vision(HIR "僧兵们一涌而上,乱棒齐下,$N痛得昏了过去......\n" NOR, ob);
if ( ob->query("guilty") > 0 ) ob->set("guilty", 0);
ob->move("/d/shaolin/jianyu");
ob->unconcious();
}
int valid_leave(object me, string dir)
{
mapping fam;
if (!me) return notify_fail("你现在断线了!\n");
if ( userp(me) && dir == "southdown" )
{
if( mapp(fam = me->query("family"))
&& fam["family_name"] == "少林派"
&& fam["generation"] == 37 )
return ::valid_leave(me, dir);
else
return notify_fail("玄痛说道: 大胆,你还敢逃跑!执法僧兵何在!\n");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?