"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