※ 引述《pig8409 (Grinbear)》之铭言:
: /run print(C_QuestLog.IsQuestFlaggedCompleted(70893))
: 这个宏的功能是判断有没有完成每周的盛筵任务,有会显示true,反之则显示false。
: 想请问能不能修改变成显示 盛筵完成 之类的,因为我想跟其他周任写在一起。
: 简单说想要达成像之前周年王判断的宏,以下宏会显示
: Doomwalker:No
: Kazzak:No
: /run for k, v in pairs({Doomwalker=60214,Azuregos=47462,Kazzak=47461}) do
: print(format("%s: %s", k, C_QuestLog.IsQuestFlaggedCompleted(v) and
: "\124cff00ff00Yes\124r" or "\124cffff0000No\124r")) end
: 感谢!
试了一下
大概是这样吧
记得接成一行
/run qid=70893
/run if(C_QuestLog.IsQuestFlaggedCompleted(qid)==true)
then print(qid," 完成")
else print(qid," 未完成") end
78093就是任务的ID
想查什么任务的就查出ID改上去
有完成就会回传true 没有则是false
简单用if判断是否true
print显示出来 70893 完成 或 70893 未完成
想显示什么字就自己改
另外想取得任务名称却失败了
name = C_QuestLog.GetTitleForQuestID(questID)
不知如何使用
总是nil 没东西
看有没有强者知道如何使用?
参考
https://wowpedia.fandom.com/wiki/API_C_QuestLog.IsQuestFlaggedCompleted
====
编辑 加上任务名称
/run qid=70893;
/run qn=C_QuestLog.GetTitleForQuestID(qid);
/run if(C_QuestLog.IsQuestFlaggedCompleted(qid)==true)
then print(qn,qid," 已完成")
else print(qn,qid," 未完成") end
====
编辑 多个任务
新增修改有颜色的字即可
/run qidp={70893,72723,72686};
/run for k, v in pairs(qidp) do
print( k, v,
C_QuestLog.GetTitleForQuestID(v),
":",
C_QuestLog.IsQuestFlaggedCompleted(v) and "已完成" or "未完成")
end
显示
1 70893 集体盛宴:已完成
2 72723 战斗的呼唤:未完成
3 72686 风暴汹涌:未完成