[心得] Weakauras 地震篇(?
這禮拜打大秘 那個屍爆+地震實在是太銷魂
所以就做了一個aura來監控地震週期
剛好有幾個東西可以講
0. 地震從第一次施放以後每20秒丟一次骰子
有骰中就放出來 不會因為任何事情(甚至滅團) 而delay這個週期
-> 所以來做個每20秒固定觸發的aura
想法是讓他20秒結束 並且結束時丟一個事件出來給自己接
因此我們會用到Scanevents
1. WeakAuras.Scanevents
https://github.com/WeakAuras/WeakAuras2/wiki/The-Aura-Environment
假如你已經會接事件的話 Weakaura可以提供自訂的事件名稱和參數
這在不同Aura要互相接收資訊時非常好用
語法上是WeakAuras.ScanEvents("事件名稱",["參數1","參數2",...)
( [後面都是可省略的 要接的話用args[n]去接)
所以我做了 WeakAuras.ScanEvents("WA_EARTHQUAKED")
把他放在要用的Aura的 動作->事件隱藏視窗時觸發
- http://i.imgur.com/W8DyiwQ.jpg


但是當然這個Aura不會自己啟動 那就再加兩個觸發:
a. 事件 / 戰鬥紀錄 / 法術 / 光環應用 / 法術ID 240447 / 隱藏 3 秒
- http://i.imgur.com/sv2fTSI.jpg


b. 自訂 / 事件 / WA_EARTHQUAKED
事件的觸發內容裡面寫:
function(event, args)
if event == "WA_EARTHQUAKED" then
return true
end
end
拿來接我們剛剛用的WA_EARTHQUAKED
- http://i.imgur.com/FQnudjY.jpg

a,b 兩個只要有一個觸發就好 所以關係是任意觸發
(BTW, 那個連結內還有講aura_env 是另外一個好用的東西 改天再說!)
2. call DBM slash command
接事件不夠 還要有個時間條
可是用Weakaura自帶的progressbar又不能ping給隊友看
那乾脆直接call DBM的倒數條 簡單輕鬆
-> 目標是做出打 "/dbm timer 20 地震預報" 會出現的效果
可是要怎麼call?
來看DBM-Core/DBM-Core.lua 的code 裡面有這段:
SlashCmdList["DEADLYBOSSMODS"] = function(msg)
...
elseif cmd:sub(1, 5) == "timer" then
代表這個是我們要的 跟timer有關的函數
所以把剛剛的觸發內容改成:
function(event, args)
if event == "WA_EARTHQUAKED" then
RunScript('SlashCmdList["DEADLYBOSSMODS"]("timer 20 地震預報")')
return true
end
end
其中的RunScript代表他會跑像是巨集內打 /run 後面接的內容
- http://i.imgur.com/g8wCg5O.jpg

但這個命令在Weakaura本本身是被禁止的
要把這個命令打開 去把interface/addons/Weakauras資料夾裡面的Weakauras.lua
中間有一行 local blockedFunctions = {
...
RunScript = true,
這行砍掉 就沒問題了
這樣就完成一個每20秒自動跑dbm計時條的aura了
還可以按shift ping給隊友看XD
(然後就有人一直跟我說預報完沒中有bug 阿就沒出阿~~)
完成品: https://pastebin.com/zFF7ypwm
順便附上一個倒數巨集:
/run local GM,DPULL=GetMouseButtonClicked,SlashCmdList["DEADLYBOSSMODSPULL"]
if GM()=="RightButton" then num="8" elseif GM()=="MiddleButton" then num="0"
SendChatMessage("──暫停!──",(UnitInRaid("player")and "RAID" or "PARTY"))
else num="3" end DPULL(num)
左鍵數3秒 右鍵數8秒 中鍵停手XD
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.66.1
※ 文章網址: https://www.ptt.cc/bbs/WOW/M.1497784648.A.2BB.html
→
06/18 19:19, , 1F
06/18 19:19, 1F
推
06/18 19:21, , 2F
06/18 19:21, 2F
→
06/18 19:24, , 3F
06/18 19:24, 3F
→
06/18 19:33, , 4F
06/18 19:33, 4F
推
06/18 19:34, , 5F
06/18 19:34, 5F
推
06/18 19:34, , 6F
06/18 19:34, 6F
→
06/18 19:35, , 7F
06/18 19:35, 7F
→
06/18 19:37, , 8F
06/18 19:37, 8F
→
06/18 19:37, , 9F
06/18 19:37, 9F
→
06/18 19:38, , 10F
06/18 19:38, 10F
→
06/18 19:41, , 11F
06/18 19:41, 11F
→
06/18 19:44, , 12F
06/18 19:44, 12F
推
06/18 20:22, , 13F
06/18 20:22, 13F
推
06/18 20:46, , 14F
06/18 20:46, 14F
→
06/18 20:55, , 15F
06/18 20:55, 15F
→
06/18 21:25, , 16F
06/18 21:25, 16F
→
06/18 21:45, , 17F
06/18 21:45, 17F
推
06/18 21:48, , 18F
06/18 21:48, 18F
推
06/18 23:47, , 19F
06/18 23:47, 19F
推
06/19 00:44, , 20F
06/19 00:44, 20F
推
06/19 05:44, , 21F
06/19 05:44, 21F
→
06/19 05:44, , 22F
06/19 05:44, 22F
阿 有一件事情我忘了提QQ
安全性考量 Weakaura會把一些指令鎖起來
要把Weakauras資料夾裡面的Weakauras.lua
中間有一行 local blockedFunctions = {
...
RunScript = true,
這行砍掉 就沒問題了
→
06/19 05:46, , 23F
06/19 05:46, 23F
推
06/19 07:22, , 24F
06/19 07:22, 24F
推
06/19 07:40, , 25F
06/19 07:40, 25F
→
06/19 12:05, , 26F
06/19 12:05, 26F
→
06/19 12:10, , 27F
06/19 12:10, 27F
推
06/19 17:23, , 28F
06/19 17:23, 28F
推
06/19 19:36, , 29F
06/19 19:36, 29F
→
06/19 19:46, , 30F
06/19 19:46, 30F
推
06/19 21:56, , 31F
06/19 21:56, 31F
推
06/20 09:09, , 32F
06/20 09:09, 32F
推
06/20 09:56, , 33F
06/20 09:56, 33F
※ 編輯: aegius1r (122.116.66.1), 12/04/2017 00:08:07