hswz.c

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

C
104
字号
// hswz.c 黑石围子#include <ansi.h>inherit ROOM;void create(){        set("short", "黑石围子");        set("long", @LONG这个叫做黑石围子的地方其实是个山前的小湖泊。这里非常的奇怪,他四周两面是大沙漠,一面过去是西域白驼山,往西却是大草原。周围乱七八糟的有几百个灰褐色的巨石(stone),象是自然形成的又象是有人搬来的。LONG);        set("resource/water", 1);        set("exits", ([            "southeast" : "/d/xingxiu/shamo4",            "south" : "/d/xingxiu/shamo4",            "north" : __DIR__"gebi2",            "southwest" : __DIR__"caoyuan10",        ]));                         set("item_desc", ([                "stone" : "这里有一块特别大的石头,它后面还有块石碑,但被这块大石挡了,看不见上面有些什么东西。\n",        ]));        set("outdoors", "gaochang");        setup();}void init(){        add_action("do_tui", "tui");        add_action("do_tui", "push");        add_action("do_kan", "read");        add_action("do_kan", "look");}int do_tui(string arg){              object me, room;                me = this_player();        room = this_object();               if( !arg ) return 0;                      if( (int)room->query_temp("stone_pushed") )                 return notify_fail("你怎么这么喜欢没事推石头?\n");                 if (arg == "stone" ){                 if (me->query_skill_mapped("force") != "hamashengong" ){               me->add("neili", -1500);               message_vision(HIR "$N运气猛力向巨石一击,结果不但没推开它,反而震伤了自己。\n" NOR, me);               me->unconcious();               return 1;               }         if (me->query("neili") < 1000 || me->query_str() < 25 ){               message_vision("$N运起蛤蟆功使劲推了推巨石,无赖力量不够,只好做罢。\n", me);               me->add("neili", -200);               return 1;               }              else{             me->add("neili", -500);               message_vision(HIG "$N体内蛤蟆功来回运转,口中一叫,双掌推出。\n只听轰的一声,巨石竟然被$N推开了,露出了后面的石碑。\n" NOR, me);       if(me->query_skill("hamashengong", 1) < 100)               me->improve_skill("hamashengong", me->query("int"));               room->set_temp("stone_pushed", 1);               call_out("stone_push", 10);            }                           }        return 1;}int do_kan(string arg){              object me, room;                me = this_player();	room = this_object();              if( !arg ) return 0;                       if( !(int)room->query_temp("stone_pushed") )                 return notify_fail("隔着块石头怎么看得见?\n");                         if ( me->query_skill_mapped("force") != "hamashengong" )                return notify_fail("你看了半天,还是不明白那上面写了些什么东西。\n");                      tell_object(me, HIB "\n 。。。。。。此处乃入白陀山庄之秘道,尔既然可以推开巨石,当已有我蛤蟆功功底,可算白陀山转之人。可按如此走法进入山庄。。。\n                白陀山庄庄主西毒欧阳锋\n\n" NOR);          message_vision("$N盯着石碑看了半天,脸上露出欣慰的表情,跟着$N脚步转了几转,走进乱石堆里不见了。\n", me);        me->move("/d/baituo/midao");        tell_object(me, "你兜兜转转走了半天,发现自己已经身在山洞中。\n");        return 1;}int stone_push(){       object room = this_object();       if(objectp(room)){		message("vision", "轰的一声,巨石又滚回来挡住了石碑。\n", this_object());		room->delete_temp("stone_pushed");         }}int valid_leave(object me, string dir){       if( dir != "northwest" && !userp(me) && !me->query_temp("go"))            return notify_fail("...\n");               return ::valid_leave(me,dir);}

⌨️ 快捷键说明

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