作者OAzenO (すご-い!)
看板WOW
标题Re: [问题] 任务巨集改写
时间Sat Mar 18 13:28:10 2023
※ 引述《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 风暴汹涌:未完成
--
◢ミ
_爫◣ | ◢
=▂▃▂◣
▊
◤▂ ▂◥ 彡 ▂≡▂
▉ー○-○- 竜が我が敌を喰らう! | 龙神の剣を喰え!
▉/●"▆Δ▆▲
● △ ▏ ◤
/▲▲\◤
▊ ︵ ~胡适 | ~爱因斯坦
◢◥﹨▅ ▲
▉\ ◤▄▂ ψ ▎ \ \◥
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.38.73.215 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/WOW/M.1679117294.A.B66.html
1F:推 pig8409: 再问一下,如果要把多任务写进去判定要怎麽加@@? 03/18 14:15
2F:→ pig8409: 像我前面提的世界王,他是三个ID在里面吗@@? 03/18 14:16
3F:→ OAzenO: 多个任务 像你贴的那个 是用回圈写的 加在IF外面 03/18 17:34
5F:推 j8ininder4ni: 搞不好之後微软爸爸直接把ai导入魔兽,大家只要表 03/18 21:02
6F:→ j8ininder4ni: 达清楚自己要干嘛就好 03/18 21:02
※ 编辑: OAzenO (114.38.73.215 台湾), 03/18/2023 23:59:50
7F:→ virnux: 那个if判断式的 ==true是多余的 03/19 00:04
8F:→ virnux: if判断式前面的C_QuestLog.IsQuestFlaggedCompleted(qid) 03/19 00:05
9F:→ virnux: 的回传值本身就是布林值了 不需要再判断true of false 03/19 00:06
10F:→ virnux: 然後你取得任务名称失败是因为你参数给的是空值 03/19 00:09
11F:→ virnux: 你把C_QuestLog.GetTitleForQuestID(questID)里面的questI 03/19 00:09
12F:→ virnux: D改成任务实际ID或是其他有定义过的变数就能取出正确的任 03/19 00:10
13F:→ virnux: 务名称 这会出现nil大概是复制来用 但是别人取得变数名称 03/19 00:11
14F:→ virnux: 跟你取的变数名称(qid)不一样 03/19 00:12
※ 编辑: OAzenO (114.38.73.215 台湾), 03/19/2023 10:27:26
15F:→ OAzenO: 还是搞不太懂任务ID的规则就是... 03/19 10:43
16F:→ OAzenO: 所以有可能同个任务 每个人ID不一样? 03/19 10:43
17F:→ virnux: 应该只是别人有定义questID这个变数 而你没有定义就丢这个 03/19 10:46
18F:→ virnux: 未定义的变数进去当参数才会出现nil 03/19 10:46
19F:→ virnux: 不然正常有丢东西进去(纵使是不存在的任务ID)就不会出nil 03/19 10:47
20F:推 pig8409: 大感谢,特别是最後多个任务的!! 05/23 11:09