魔兽世界插件(Tukui)的Lua错误。

我没有太多编程经验,几年前写过一些 C 代码,这有所帮助,但 Lua 处理事情有点不同,所以我跟不上。

有时(不总是),当朋友或公会成员登录游戏时,我会遇到此错误:

`` ` 日期:2013-06-14 16:57:57 ID:-1 发生错误在:全局 计数:4 消息:..\AddOns\Tukui\scripts\chat.lua 第335行: 尝试连接内部变量“classColor”(一个空值) 调试: [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 WoW 客户端。

点赞
用户1190388
用户1190388

一个简单的技巧就是仅仅替换

..classColor..

..(classColor or "")..

这样它将在 classColor 没有被赋值时选择一个空字符串。

2013-06-14 21:14:54
用户1130744
用户1130744

你很可能正在使用一个从其他插件中以不确定的方式定义的全局变量。 尽管 (classColor 或 "") 可以帮你摆脱错误,但你应该尝试找出为什么这个变量 (classColor) 有时被定义,有时没有。也许这只发生在某些职业中?

2013-06-15 17:32:58