3.2中Cartographer_questinfo报错的解决办法
by Ody on 2009.08.11, under 插件
Cartographer_questinfo是我最喜欢的任务插件,从下载量上看,相信很多人也是这样认为的。可更新3.2:十字军的呼唤后,Cartographer_questinfo在“QuestLogPatch.lua”文件的281行报错。美服已经更新一周,但是原作者一直没有放出新版本。分析错误日志,发现是281行的For循环限制条件中的“QUESTS_DISPLAYED”有问题。而这个“QUESTS_DISPLAYED”是暴雪官方定义的一个常量,默认值为6,用于确定追踪任务列表的上限。但是3.2中这个常量貌似被暴雪从“QuestLogFrame.lua”中移除了,最终导致For循环中的限制条件为nil,出错。
目前有个临时的解决办法,将以下代码加入“QuestLogPatch.lua”中:
if not QUESTS_DISPLAYED then QUESTS_DISPLAYED = 6; end
加入位置尽量靠前点,比如在下面这句话的后面添加:
local CQI = Cartographer_QuestInfo
因为暴雪最近对任务方面改动很多,感觉上“QUESTS_DISPLAYED”没有被移除,而可能是改名或者放到别的文件中了,可惜目前为止我还没找到该常量的新定义……先拿上面的方法凑合用吧。
八月 12th, 2009 on 1:03 上午
改過后仍然是報錯:
Message: …her_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:279: table index is nil
Time: 08/12/09 01:09:29
Count: 1
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:
[C]: ?
…her_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:279: in function `?’
Interface\AddOns\Cartographer_QuestInfo\Core.lua:451: in function
Locals: self = {
quest_ids = {
}
quest_objectives = {
}
ShareQuestByUid = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:822
GetQuestById = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:634
GetNumPartyMembersWithQuest = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:740
IteratePartyMemberQuests = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:762
GetReactionLevel = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:900
PartyMemberHasQuest = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:718
shorttags = {
}
GetPartyQuestNumObjectives = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:782
RegisterCallback = defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:117
UnregisterCallback = defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:180
UID_to_name = {
}
quest_items = {
}
GetQuestText = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:663
quest_zones = {
}
GetReactionName = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:904
GetTaggedQuestName = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:861
GetQuestByUid = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:628
GetQuestObjective = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:643
IsQuestMob = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:674
callbacks = {
}
ShowQuestLog = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:835
PartyMemberHasQuixote = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:712
quest_mobs = {
}
RemoveQuestWatchByUid = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:814
party = {
}
IterateQuestsInZone = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:593
AddQuestWatchByUid = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:806
IsQuestWatchedByUid = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:799
GetPartyQuestObjective = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:775
IsQuestItem = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:693
IterateQuestsForMob = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:687
quests_complete = 0
GetShortTagForQuest = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:844
GetNumQuestObjectives = defined @Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:650
tags = <
八月 12th, 2009 on 8:29 上午
这个是QuestInfo下面的一个Quixote库的错,跟大部分人3.2碰到的错误地方不一样。
这个情况我没碰到过,所以得看下你的“Cartographer_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua”文件,可以发我信箱。
也建议更新下Cartographer_QuestInfo,最新版本是3.1.1,你这个库文件可能老了。
八月 15th, 2009 on 10:09 下午
你好的我的Cartographer_QuestInfo也是显示…her_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:279: table index is nil
Time: 08/12/09 01:09:29
Count: 1
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:
[C]: ?
…her_QuestInfo\libs\LibQuixote-2.0\LibQuixote-2.0.lua:279: in function `?’
Interface\AddOns\Cartographer_QuestInfo\Core.lua:451: in function
大脚精灵也都一样基本上只要开地图任务查询就会报错,我如何才能联系上你很希望你能帮帮我!!谢谢!
八月 16th, 2009 on 1:36 下午
“LibQuixote-2.0.lua:279: table index is nil”
这个错误的请下载以下文件,解压后替换游戏目录下“\Interface\AddOns\Cartographer_QuestInfo\libs\LibQuixote-2.0\”同名文件
http://www.wowprimus.com/wp-content/uploads/2009/08/LibQuixote-2.0.lua.zip
八月 16th, 2009 on 5:30 下午
真的非常感谢你!!不报错了,这两天为了这个报错折腾死我了!!
对于插件来说我还算是个门外汉,但是我也清楚是那个文件有问题可是我就是在网上找不到最新的文件,所以可否给我提供一个比较好的wow插件网站,万分感谢!!
p.s.目前我的单体插件都是在www.wowui.cn下,当然这个问题插件也是出自此网站
八月 17th, 2009 on 11:37 上午
这个错误的原因我也不太清楚,提供给你的文件也不是原作者的最新文件,是我上次帮Lucifr修改的那个,问题和你的一样。
这个问题很奇怪,我估计是由于更新后个别任务的信息不完整所造成的。同样的文件,很多人不报错,一些人用却报错。
插件上目前比较好的国外有curse.com和wowinterface.com
国内的我觉得wowar论坛里的插件版还不错。
八月 17th, 2009 on 6:18 下午
对!的确如你所说的一样,这个错误在之前我没有覆盖你给我的修改文件前只在我的猎人角色上报错,我的猎人目前是我所有角色里等级最大的虽然也还是个小号只有48.。。其他的还有新建的仓库和其他阵营的角色都没有这个猎人等级高。因此我也觉得肯定是因为猎人已经接到了导致错误的任务而报错的。
以后如果又遇到了什么我自己不能解决的问题还会来麻烦你望你还能不吝赐教~真心的感谢你!
最后谢谢你提供给我的网站有时间我会去好好看看的!
八月 17th, 2009 on 9:52 下午
呵呵 你客气了