我正在寻找一个非常简单的副词,甚至一个宏,我可以输入一个任务ID,并获得任务完成状态。事实上,我知道我可以使用IsQuestFlaggedCompleted
获得任务状态,但我也想知道任务的名称,这样聊天日志中的返回将显示一些更容易理解的内容。例如:输入/questDone 43502
而不是只输入43502: true
作为输出,我希望它看起来像A Change of Seasons: Quest Completed
。
我看到了一个函数C_TaskQuest.GetQuestInfoByQuestID
,它应该返回任务的标题,但它似乎不像预期的那样工作。它似乎总是返回nil
的任务名称..。
发布于 2017-09-04 22:33:15
尝试以下操作,创建工具提示并扫描名称:
local MyScanningTooltip = CreateFrame("GameTooltip", "MyScanningTooltip", UIParent, "GameTooltipTemplate")
local QuestTitleFromID = setmetatable({}, { __index = function(t, id)
MyScanningTooltip:SetOwner(UIParent, "ANCHOR_NONE")
MyScanningTooltip:SetHyperlink("quest:"..id)
local title = MyScanningTooltip.TextLeft1:GetText()
MyScanningTooltip:Hide()
if title and title ~= RETRIEVING_DATA then
t[id] = title
return title
end
end })
然后像这样使用这张表:
print(QuestTitleFromID[43502])
https://gamedev.stackexchange.com/questions/140363
复制相似问题