我没有很多编码经验,几年前做了一些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魔兽客户端。
答案 0 :(得分:1)
您可能正在使用以现在确定的方式从其他插件定义的全局 虽然(classColor或“”)将使你摆脱错误,你应该尝试找出为什么有时定义变量(classColor),有时不会。也许它只发生在某些类中?
答案 1 :(得分:0)
一个简单的黑客就是替换
..classColor..
与
..(classColor or "")..
当classColor
没有为其分配值时,它将选择一个空白字符串。