請問密語的巨集 - WOW

Table of Contents

※ 引述《monkeykej (真是個麻煩)》之銘言:
: 在精華區看到有關密語的巨集
: SendChatMessage("想說的話","WHISPER",nil,UnitName("mouseover"));
: 這個巨集可以對滑鼠指向的人發出密語
: 可是如果不同伺服器的話
: UnitName的回傳不包含伺服器名稱 會回應找不到這個ID
: 請問要密語不同伺服器的人要怎麼寫呢?

離開很久了,剛剛去爬了一下API

UnitName實際上是回傳兩個值,name跟realm

所以你需要設變數把這兩個回傳值串成一個字串

然後因為同伺服回傳的realm值會是nil,直接串會變成同服的有問題XD

所以得再多放一個判斷式

看不懂上面在說什麼沒關係,底下這個script拿去試看看

(如前面所說我離開一段時間了所以也不方便測試)

/run local name,realm=UnitName("mouseover")
if realm~=nil then
SendChatMessage("想說的話","WHISPER",nil,name.."-"..realm)
else
SendChatMessage("想說的話","WHISPER",nil,name) end

請連成一行,看起來應該是可行

上面這個script其實是從美版論壇爬來的

在裡面有看到另一個寫法不過我看不懂XD

然後這個script看起來又臭又長又佔掉太多字數

如果你只是想要放技能的時候密語對方的話

找個Spell Announce類型的插件或許會簡便得多
--
EDIT:
論壇上的另一個script似乎比較簡單,我一併貼上來給你測試看看好了

/run
SendChatMessage("想說的話","whisper",nil,
GetUnitName("mouseover",1):gsub(" ","",2))

一樣要接成一行
--

All Comments

Necoo avatarNecoo2017-09-04
第二個真神奇 後半那個看不太懂
Blanche avatarBlanche2017-09-05
這個:gsub(" ","",2) 分號後面是什麼語法呀??
Barb Cronin avatarBarb Cronin2017-09-08
我剛剛測試了一下 沒有加: 後面那段 就跟ForeverSky大
給的方法一樣 就可以用了 感謝兩位