1

我没有很多编码经验,几年前做过一些 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

在碰巧能够再次看到那个人的聊天文本之后,我必须重新加载用户界面。

该 .lua 文件中的第 335 行是这样的:

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

现在我了解到 .. 表示连接功能,但这并没有真正帮助我。

我不知道这是否足够的信息,但如果您需要它,我可以发布整个本地功能或其他任何需要的信息。

如果有什么不同,我正在运行 3.3.5a WoW 客户端。

4

2 回答 2

1

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

于 2013-06-15T17:32:58.783 回答
0

一个简单的技巧就是替换

..classColor..

..(classColor or "")..

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

于 2013-06-14T21:14:54.857 回答