selfmud 发表于 2011-9-13 01:58:37

MUSH的颜色触发,触发了一次就又不行了,咋回事

zhao
你开始在兵器架上找寻称手的刀剑。
> 你找到一柄钢剑。
钢剑的颜色是red代码是:255
zhao
你开始在兵器架上找寻称手的刀剑。
> 你找到一柄钢刀。
钢刀的颜色是yellow代码是:65535
zhao
你开始在兵器架上找寻称手的刀剑。
> 你找到一柄钢剑。
Run-time error
World: pkuxkx_2011
Immediate execution
:1: attempt to call global 'sword_color' (a number value)
stack traceback:
      :1: in main chunk
【求助】婆娑罗(Basara): find lu qing
zhao
你开始在兵器架上找寻称手的刀剑。
> 你找到一柄钢剑。
Run-time error
World: pkuxkx_2011
Immediate execution
:1: attempt to call global 'sword_color' (a number value)
stack traceback:
      :1: in main chunk
zhao
你开始在兵器架上找寻称手的刀剑。
> 你找到一柄钢剑。
Run-time error
World: pkuxkx_2011
Immediate execution
:1: attempt to call global 'sword_color' (a number value)
stack traceback:
      :1: in main chunk
-----------------------------------------------
代码如下
--找到的是钢剑
function sword_color (name, line, wildcards, styles)
   local line_num = GetLinesInBufferCount()
   local styles_num = GetLineInfo(line_num,11)
      for i = 1,styles_num do
         if GetStyleInfo(line_num,i,1) == "钢剑" then
         sword_color = GetStyleInfo(line_num,i,14)
            sword_color_ch = RGBColourToName (sword_color)
             print("钢剑的颜色是"..sword_color_ch.."代码是:"..sword_color)
             break
          end
      end
end
--找到的是钢刀
function blade_color (name, line, wildcards, styles)
   local line_num = GetLinesInBufferCount()
   local styles_num = GetLineInfo(line_num,11)
      for i = 1,styles_num do
         if GetStyleInfo(line_num,i,1) == "钢刀" then
         blade_color = GetStyleInfo(line_num,i,14)
            blade_color_ch = RGBColourToName (blade_color)
             print("钢刀的颜色是"..blade_color_ch.."代码是:"..blade_color)
             break
          end
      end
end

北大侠客行MUD,中国最好的MUD

selfmud 发表于 2011-9-13 02:12:40

这个粘贴颜色粘贴不过来,粘贴过来成黑白的了

截图,彩色的好看代码如下


mush里面出错的情况如下



可以看出,开始正确了,然后我再找到,就出错了
不知道咋回事。谁说说解决办法


另外一个问题:

比如NPC叫我去找**比如说sword,然后当时捕捉到的那个颜色和代码,还有东西的名称比如“名称的变量叫Needweapon,颜色叫needweapon_color_ch。代码是needweapon_color
然后后面找到的东西函数里面有了找到的东西的代码,比如名称变量是sword,颜色是sword_color_ch,代码是sword_color
这样获得的这个变量的数值是一直存在这里了,然后我可以用sword和needweapon去做比较还是就失效了?

selfmud 发表于 2011-9-13 15:08:40

这个。。。
我再顶一下

pizzagoo 发表于 2011-9-13 20:13:35

初步怀疑是不是全局变量名于函数同名的问题,试试把函数名称改一下。

selfmud 发表于 2011-9-13 21:16:09

原帖由 pizzagoo 于 2011-9-13 08:13 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
初步怀疑是不是全局变量名于函数同名的问题,试试把函数名称改一下。
你的意思是说有可能我的函数名和函数里面的变量写重复了,所有导致了错误对把,比如函数命是sword_color而函数里面有个变量也是这个名字我觉得有道理,我去修改修改。

pizzagoo 发表于 2011-9-14 09:01:57

原帖由 selfmud 于 2011-9-13 09:16 PM 发表 http://pkuxkx.com/forum/images/common/back.gif

你的意思是说有可能我的函数名和函数里面的变量写重复了,所有导致了错误对把,比如函数命是sword_color而函数里面有个变量也是这个名字我觉得有道理,我去修改修改。
看错误提示,怀疑是这个问题。
怎么样,是不是?

selfmud 发表于 2011-9-14 15:00:15

上不了网了。。。。。没办法测试。。。。不好意思。。。。
郁闷中。。。

pizzagoo 发表于 2011-9-14 15:33:17

原帖由 selfmud 于 2011-9-14 03:00 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
上不了网了。。。。。没办法测试。。。。不好意思。。。。
郁闷中。。。
chat* sigh

selfmud 发表于 2011-9-14 16:29:08

周末搬家。。。ttk_01

dgqf 发表于 2013-2-5 16:15:42

期待问题进一步解决。
页: [1] 2
查看完整版本: MUSH的颜色触发,触发了一次就又不行了,咋回事