"My code doesn't work, I don't know why.
My code works, I don't know why."
-=-=
最近在嘗試寫一個WA觸發: 當第一個WA"不"觸發的時候, 觸發第二個WA
(然後當第一個WA觸發的時候, 把第二個WA關掉)
-=-=
找了別人寫的東西
最接近的是(不過他是要第一個WA觸發的時候觸發第二個WA):
他的做法是在第一個WA的Actions頁面
On Show - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", true)
On Hide - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", false)
然後在第二個WA的Trigger頁面
Trigger 1: Custom
Event Type: Event
Event(s): MY_EVENT_NAME
Custom Trigger:
function(event, status)
return status
end
-=-=
我試了這個, 把這改成
在第一個WA的Actions頁面
On Show - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", false)
On Hide - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", true)
然後在第二個WA的Trigger頁面
Trigger 1: Custom
Event Type: Event
Event(s): MY_EVENT_NAME
Custom Trigger:
function(event, status)
return status
end
結果雖然第一個WA會根據本身的觸發正常開關
第二個WA也會正常的在第一個WA關掉的時候開起來
可是第二個WA在第一個WA開起來的時候卻不會關掉
-=-=
我後來改成把第一個WA的Actions頁面
On Show - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", Close)
On Hide - Custom: WeakAuras.ScanEvents("MY_EVENT_NAME", true)
第二個WA的Trigger頁面改成
Trigger 1: Custom
Event Type: Event
Event(s): MY_EVENT_NAME
Custom Trigger:
function(event, status)
return status
end
Custom Untrigger:
function (event, Close)
if event == "Close" then
return true
end
(然後WA還回了說我這段code有錯的訊息:
[string "return function (event, Close)"]:4: 'end' expected (to close
'function' at line 1) near '<eof>')
結果這樣改完後反而可以正常照我想的動了
...WHY!????????????
-=-=
總之 分享給有寫WA的人參考一下orz