dllkg 发表于 2016-9-19 16:06:11

单机NT6房间内添加动作出错

本帖最后由 dllkg 于 2016-9-19 16:06 编辑

在少林西侧殿/d/shaolin/twdian2.c中添加了个动作nian,代码如下:

inherit ROOM;
//增加念经提高禅宗心法动作 by nubi
int do_nian(string arg);

void create()
{
      set("short", "西侧殿");
      set("long", @LONG
这里是西侧殿。房间四周悬挂着达摩祖师、观音大士的画像,以
及一些寺内元老的字画。地下散乱地放着许多蒲团,木鱼等。看来此
处是本派弟子打坐修行之所。几位中年和尚手持数珠,正在喃喃念经。
LONG );
      set("exits", ([
                "east" : __DIR__"twdian",
      ]));
      set("no_clean_up", 0);
      setup();
      replace_program(ROOM);
}

void init()
{
      add_action("do_nian", "nian");
}

int do_nian(string arg)
{
                              int jing_cost;
      object me;

                              jing_cost = 0;
      me = this_player();

                              if(!arg || arg != "fojing" || arg != "jing" || arg != "经" || arg != "佛经")
                                        return notify_fail("你要念什么?\n");
                              if(!present("muyu chui", me))
                                        return notify_fail("你没拿木鱼槌,怎么念佛经?\n");
                              if((int)me->query_skill("buddhism", 1) < 100)
                                        return notify_fail("你的佛法基础不够,不能领悟更高深的佛法。\n");
                              if((int)me->query_skill("buddhism", 1) >= 500)
                                        return notify_fail("你已经不能再从这里领悟到什么了。\n");

                              jing_cost = 50-(int)me->query("int");
                              if(jing_cost<0) jing_cost=0;
                              
                              message_vision("$N默默的念着佛经,心中似有所悟。\n", me);

      me->receive_damage("jing", jing_cost);

      if( query("jing", me)<0 )
      {
                me->unconcious();
                return 1;
      }

      me->improve_skill("buddhism", (int)me->query_int()*10 + (int)me->query_skill("literate", 1));

      return 1;
}


添加完重启了driver,但是进入该地点输入“nian”后提示错误如下:执行时段错误:请执行 bug 检查详细错误回溯。
........档案:0
........行数:第 0 行
........错误:*Function for verb 'nian' not found.

请问这是什么问题?


signwall 发表于 2016-9-19 17:51:21

int do_nian(string arg);
这句话删了

是开碧落 发表于 2016-9-20 10:52:03

      replace_program(ROOM);
这行删了

dllkg 发表于 2016-9-21 08:50:12

是开碧落 发表于 2016-9-20 10:52
replace_program(ROOM);
这行删了

这行删了果然好用,谢谢!
请问这一行是什么作用?
页: [1]
查看完整版本: 单机NT6房间内添加动作出错