北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5216|回复: 5

mush多次颜色触发的问题

[复制链接]
发表于 2014-3-9 03:11:37 | 显示全部楼层 |阅读模式
在论坛里看到大神们关于颜色触发的帖子后,自己做了个wd炼丹quest的脚本。结果连续弹出第二次报了这样错误。这应该怎么解决呢?多谢啦

log:
Run-time error
World: rki
Immediate execution
[string "触发器: "]:1: attempt to call global 'lu_color' (a number value)
stack traceback:
        [string "触发器: "]:1: in main chunk


以下是tri和脚本

      enabled="y"
   group="liandan"
   match=".*\^{5}.*"
   regexp="y"
   send_to="12"
   sequence="100"
  >
  lu_color()
  


function lu_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
             lu_color = GetStyleInfo(line_num,i,14)
             lu_color_ch = RGBColourToName (lu_color)
             print("Lu的颜色是:"..lu_color_ch..",代码是:"..lu_color)
               break
           end
        end
end

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-3-9 07:27:04 | 显示全部楼层
函数名和里面的变量名重复,机器傻了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-3-9 12:09:58 | 显示全部楼层
问题是第一次触发是成功的,第二次就开始报错了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-3-9 12:10:03 | 显示全部楼层
问题是第一次触发是成功的,第二次就开始报错了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-3-9 13:21:32 | 显示全部楼层
回复 4# rki


    第一次触发成功后那个数值型lu_color覆盖了函数型lu_color,第二次调用当然就不灵光了。要养成编程的好习惯:
1不要用重名变量(lua里的函数好像也算变量吧)
2 能用局部变量的地方不要用全局变量
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-3-10 20:20:41 | 显示全部楼层
已经改出来了。谢谢大家啊!!!!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-1 11:47 AM , Processed in 0.009042 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表