[閒聊] 巨集函式有更新

作者: 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