gudi.c

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

C
132
字号
// Room: /testmud/d/changan/gudi.c// This is a room made by Wsl.inherit ROOM;int do_break(string arg);int do_jump(string arg);int do_enter(string arg);void create(){        set("short", "谷底");        set("long", @LONG头顶几道阳光照在地上,脚下是一片很厚的草地,走在上面软绵绵的,很是恰意,四周看上去高不可攀,怪石嶙峋,你心中不由一惊,要不是这片厚厚的草堆垫着,在好的轻功也会摔得变成一堆肉泥。LONG);        set("item_desc", ([        "怪石" : "在嶙峋的怪石中,有块岩石十分光滑,与其他岩石不同。\n", ]));         setup();}void init(){    add_action("do_break", "break");    add_action("do_jump", "jump");    add_action("do_enter", "enter");}int do_break(string arg){    int n;int i;	object *inv;	int sizeinv;        object room;    object me = this_player();    if(!this_player()->query_temp("killer")) return 0;		inv=all_inventory(me);		sizeinv=sizeof(inv);			while (sizeinv--)		{       			if (inv[sizeinv]->is_character())       				return notify_fail("你背着人什么也做不了!\n");      				}    if( !arg || arg!="岩石" )    {        write("你要震碎什么!\n");        return 1;    }    if (query("break"))        return notify_fail("岩石已被打破了。\n");    n = (int)me->query("neili");    if (n >= 3000)    {        message_vision("$N气运丹田,双掌直向前方打出一道劲力。\n", this_player());        message_vision("只见被$N打碎的岩石四出飞溅,中间的一块巨岩承受不了震动,\n", this_player());        message_vision("掉落在草地上,发出巨大的响声。你惊喜的发现在岩石上方出现了一个洞。\n", this_player());        set("break",1);        this_player()->set("neili",0);        remove_call_out("close");        call_out("close", 5, me);    }    else    {        message_vision("结果只听一声闷哼,$N被自己的内力震得眼前一黑....\n", this_player());        this_player()->set("neili",0);        this_player()->unconcious();    }    return 1;}int do_jump(string arg){        object me;        me = this_player();        if(!query("break")) return 0;        if (me->query_temp("climb"))                return notify_fail("你已经站在岩石上了。\n");        if( !arg || arg!="碎岩" )        {        write("你想爬到什么地方去?\n");        return 1;        }        if ((int)me->query_skill("dodge",1) > 100 ) {                message_vision("$N一个纵身,跳上了岩石。\n", me);                me->set_temp("climb",1);        }else{                message_vision("$N施展轻功,向上跳去,但却怎么也跳不上去。\n", me);        }        return 1;}int do_enter(string arg){    int n;int i;	object *inv;	int sizeinv;        object room;    object me = this_player();    if(!this_player()->query_temp("killer")) return 0;		inv=all_inventory(me);		sizeinv=sizeof(inv);			while (sizeinv--)		{       			if (inv[sizeinv]->is_character())       				return notify_fail("你背着人什么也做不了!\n");      				}        if(!me->query_temp("climb")) return 0;        if( !arg || arg!="岩洞" )        {        write("你想去那啊?\n");        return 1;        }        message_vision("$N躬了躬身体,钻进了岩洞里。\n", me);        me->move("/d/changan/qinhuang/mudong0.c");        message_vision("“隆隆”,洞口已经封死了。\n", me);        return 1;}void close(object me){    if (me)        me->delete_temp("climb");    message("vision","上面几块岩石掉了下来,把洞口又封住了。\n", this_object());    delete("break");}

⌨️ 快捷键说明

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