Lua 魔兽世界API设置点API“;不能';找不到名为'的区域;(空)和#x27&引用;
我想修复TukUI插件中的lua错误Lua 魔兽世界API设置点API“;不能';找不到名为'的区域;(空)和#x27&引用;,lua,world-of-warcraft,Lua,World Of Warcraft,我想修复TukUI插件中的lua错误GameTooltip:SetPoint():找不到名为“(null)”的区域。当我的两个插件打开时就会发生这种情况:TukUI(moded)和LKNOWNER。如果我关闭LKNOWNER,错误就会消失。我读到你不能简单地在WoW中调试lua代码,因为你可能在附加调试器时被禁止。我唯一能想到的就是使用print调用。这有点奇怪,但如果我重新加载UI(/reload),错误消息就会消失。它可能与插件加载顺序有关吗 我的目标是自己找出问题并解决它。我在这里发现AP
GameTooltip:SetPoint():找不到名为“(null)”的区域
。当我的两个插件打开时就会发生这种情况:TukUI(moded)和LKNOWNER。如果我关闭LKNOWNER,错误就会消失。我读到你不能简单地在WoW中调试lua代码,因为你可能在附加调试器时被禁止。我唯一能想到的就是使用print
调用。这有点奇怪,但如果我重新加载UI(/reload),错误消息就会消失。它可能与插件加载顺序有关吗
我的目标是自己找出问题并解决它。我在这里发现API:
插件的链接:(3.3.5)
打印结果:
print(self) // nil
print(TukuiDB) // table: 1BDD81D0
这是错误消息:
Message: Interface\AddOns\Tukui\datatext\system.lua:98: GameTooltip:SetPoint(): Couldn't find region named '(null)'
Time: 01/30/20 11:50:59
Count: 1
Stack: [C]: in function `SetPoint'
Interface\AddOns\Tukui\datatext\system.lua:98: in function <Interface\AddOns\Tukui\datatext\system.lua:94>
Locals: (*temporary) = GameTooltip {
updateTooltip = 0.12099999543279
SetInventoryItem = <function> defined @Interface\AddOns\GearScoreLite\GearScoreLite.lua:226
0 = <userdata>
comparing = false
shoppingTooltips = <table> {
}
}
(*temporary) = "BOTTOM"
(*temporary) = <table> {
ZOOMED_ICON_SMALL = ":12:12:0:0:64:64:4:60:4:60"
RemoveHealer = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2650
ratio_to_hex_color = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:14
RemoveFromAssignments = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3405
stuns = <table> {
}
HandleCombatMessage = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3491
RemoveRotationSelect = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2505
ReleaseUID = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2361
UpdateRaidRoster = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2814
debug = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3
dec_to_hex_color = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:21
message = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:45
Announce_Slows = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2715
AddHealer = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2616
ValkyrTimeout = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3635
CheckWipe = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2963
AnnounceInfests = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2576
possible_infests = <table> {
}
possible_aoe_stuns = <table> {
}
slows = <table> {
}
AddInfest = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2513
shapes_sets = <table> {
}
StartEncounter = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2969
ChatUpdate = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:299
possible_stuns = <table> {
}
GetDefaultOptions = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:4142
CheckInfestWasted = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2470
PlagueExpired = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3765
aoe_slows = <table> {
}
FlashScreen = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2447
printraid = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:49
EndEncounter = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2988
Set_Assignment = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2492
pad = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:35
Announce_Trap_Hits = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3770
LeftRaid = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3004
AnnounceDPS = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2552
DefaultOptions = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:4339
DefaultAssignments = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:4138
GetDefaultAssignments = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:4125
Handle_Valks = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3819
RemoveRole = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3200
AnnounceHealingAssignment = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3476
Calculate_Plagues = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:3641
UpdateTarget = <function> defined @Interface\AddOns\LKAnnounce\LKAnnounce.lua:2887
Get_Assignment = <function>
我也读了这篇文章:我尝试了BugSack和BugGrabber来识别问题。它说:
1. 1x Tukui-1.44\datatext\system.lua:98: GameTooltip:SetPoint(): Couldn't find region named '(null)'
Tukui-1.44\datatext\system.lua:98: in function <Tukui\datatext\system.lua:94>
Locals:
formatMem = <function> @ Tukui\datatext\system.lua:16:
Total = 11453.549804688
Memory = <table> {
1 = <table> {}
2 = <table> {}
...
问题:GameTooltip:SetPoint()自WoW 8.2以来受到保护,以防止作弊 详细信息:此加载项试图通过手动将锚重新定位到其他位置来覆盖GameTooltip:SetOwner()的行为,该行为仅出现在前面的两行。它通过清除所有点(第93行)和手动分配点(第94行)来实现 假设:设定点命令最初在WoW 8.2之前正确执行,这意味着TukuiDB.mult是工具提示的数字y偏移 解决方案:用一个命令替换第92到94行
GameTooltip:SetOwner(self, "ANCHOR_TOP", 0, TukuiDB.mult)
参考资料:
- 6月19日,凯瓦克斯
Message:Interface\AddOns\Tukui\datatext\system.lua:98:尝试索引全局“TukUIDB”(一个零值)
。另外,补丁版本是3.3.5。我犯了一个错误,修复了上面的问题。TukUIDB应该是TukUIDB。另外,这是SetOwner()。我在WowMedia上链接了正确的命令,但不小心在答案中写错了。英雄联盟
GameTooltip:SetOwner(self, "ANCHOR_TOP", 0, TukuiDB.mult)