WoW插件(Tukui)的Lua错误

时间:2013-06-14 20:11:32

标签: lua string-concatenation world-of-warcraft

我没有很多编码经验,几年前做了一些C,所以这有帮助,但Lua处理的方式有点不同,所以我无法跟踪。

当朋友或公会登录游戏时,我有时(并非总是)会收到此错误:

Date: 2013-06-14 16:57:57
ID: -1
Error occured in: Global
Count: 4
Message: ..\AddOns\Tukui\scripts\chat.lua line 335:
        attempt to concatenate upvalue 'classColor' (a nil value)
Debug:
  [C]: ?
   Tukui\scripts\chat.lua:335: AddMessage()
   ..\FrameXML\ChatFrame.lua:2755: ChatFrame_MessageEventHandler()
   ..\FrameXML\ChatFrame.lua:2491: ChatFrame_OnEvent()
   ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:281:
   ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:252
   ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:308:
   ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:296

我必须重新加载ui,之后才能再次看到该人的聊天文字。

.lua文件中的第335行是:

text = replace(text, "^|Hplayer:(.+)|h%[(.+)%]|h", "|Hplayer:%1|h|cff"..classColor.."%2|r|h")

现在我已经知道..表示连接函数,但这并没有真正帮助我。

我不知道这是否足够,但如果你需要它,我可以发布整个本地函数或其他任何需要的函数。

如果它有任何区别,我正在运行3.3.5a魔兽客户端。

2 个答案:

答案 0 :(得分:1)

您可能正在使用以现在确定的方式从其他插件定义的全局 虽然(classColor或“”)将使你摆脱错误,你应该尝试找出为什么有时定义变量(classColor),有时不会。也许它只发生在某些类中?

答案 1 :(得分:0)

一个简单的黑客就是替换

..classColor..

..(classColor or "")..

classColor没有为其分配值时,它将选择一个空白字符串。