[闲聊] 宏函式有更新

楼主: OAzenO (すごいにゃ~)   2024-09-02 21:58:26
因为突然发现以前正常使用的宏失效
/cast 太阳光束
/run s,d,e=GetSpellCooldown("太阳光束");
if (s>2 and d>2)
then SendChatMessage("太阳光束CD中:"..SecondsToTime(s+d-GetTime()),ic);
else SendChatMessage("对[%t]施放 <太阳光束>",ic);
end
错误讯息写 GetSpellCooldown 不动作了
查了一下发现11版又更新了函式
https://warcraft.wiki.gg/wiki/Patch_11.0.0/API_changes
虽然看不懂
但搜到了 reddit 这篇 https://reurl.cc/zDl75N
刚好解决了我的需求
简而言之就是 GetSpellCooldown 更新为 C_Spell.GetSpellCooldown(spell)
回传值用 C_Spell.GetSpellCooldown(spell).startTime
C_Spell.GetSpellCooldown(spell).duration
所以把原本的宏改成 (借助ChatGPT帮忙)
/cast 太阳光束
/run cd = C_Spell.GetSpellCooldown("太阳光束");
SCM=SendChatMessage;
if (cd.startTime > 0 and cd.duration > 2)
then local rt = cd.startTime + cd.duration- GetTime();
SCM("光束CD:"..SecondsToTime(rt), "SAY");
else SCM("对[%t] <太阳光束>", "SAY") end;
实测可用
共勉之
(ChatGPT还真方便XD 对写程式语法来说)
==
编辑.精简 229字符 记得接成一行
/cast 太阳光束
/run cd=C_Spell.GetSpellCooldown("太阳光束");
SCM=SendChatMessage;
st=cd.startTime;
dt=cd.duration;
if (st > 0 and dt > 2)
then SCM("太阳光束CD还有:"..SecondsToTime(st + dt - GetTime()), "SAY");
else SCM("对[%t] <太阳光束>", "SAY")
end;
作者: cn091103 (Fooder)   2024-09-02 23:40:00
快推,不然别人以为我们看不懂XD
作者: PrimeChaoz (Chaoz)   2024-09-03 00:05:00
所以这个宏是干嘛的?断法宏吗
作者: nepholi (我不是砲哥)   2024-09-03 00:08:00
施法成功用白频:对XXX 太阳光束施法失败用白频:光束CD:x (还有几秒)我可能误会了,如果只是要判断剩余冷却时间应该只要抓duration就可以了?请问rt那段的目的是什么
作者: Hylun (Wiz细伦)   2024-09-03 01:19:00
duration是技能完整的cd时间
作者: macheal (西云)   2024-09-03 02:52:00
超过255个字...
作者: summer17299 (隐匿)   2024-09-03 03:09:00
太多字最后一段可以不用把end移上去,也比较不洗画面
作者: cat05joy (CATHER520)   2024-09-03 12:02:00
应该有UI WA可以取代(?)
作者: scvb (格雷)   2024-09-03 12:31:00
难怪我万年没更新的MSBT一直说GetSpellCooldown 这个错误
作者: sarevork (蚰梜黎h郎)   2024-09-03 12:47:00
msbt不是更新了吗
作者: hh123yaya (KID)   2024-09-03 14:24:00
大声宏
作者: oldriver (oldriver)   2024-09-03 15:13:00
他这个会白字喊话 比较偏向RSA这种ui
作者: ray12121313 (妖风银狐)   2024-09-03 15:36:00
starttime是开始时间,duration CD, gettime是你电脑时间,所以你回推一下就知道为什么需要rt那段了reurl.cc/yvYdjO 参考这篇你可以压点字数
作者: nepholi (我不是砲哥)   2024-09-03 16:22:00
看来是我误会文件写的duration意思 原来是指完整CD我看完文件以为是剩余秒数XD 想说为啥要这么复杂算rt
楼主: OAzenO (すごいにゃ~)   2024-09-03 19:10:00
原来巴哈已经有讨论文了 没想到查巴哈XD

Links booklink

Contact Us: admin [ a t ] ucptt.com