[心得] 常用巨集整理(施法/整合). 看板 Wow. 作者 gyd. 時間 2017-07-10 13:52:21. 留言 50則留言,31人參與討論. 推噓 30 ( 30推 0噓 20→ ). 討論串 4. ... <看更多>
魔獸巨集語法 在 簡單WOW巨集教學 - YouTube 的推薦與評價
示範滑鼠目標英勇躍擊之 巨集 #showtooltip /cast [@cursor] 英勇躍擊. ... <看更多>
魔獸巨集語法 在 Re: [徵文] 基礎巨集介紹- 看板WOW | PTT遊戲區 的推薦與評價
引述《CarPusher (薩掐)》之銘言: 看到版友這麼熱心的整理出一大篇我也來幫忙補一些我自己知道的小地方吧~ 因為文章太長,不需要補的地方我就刪掉了: 一、常用指令: ... ... <看更多>
魔獸巨集語法 在 [心得] 判斷型巨集寫法- 精華區WOW 的推薦與評價
最近看到巨集的討論比較熱烈了一點點,真是高興XD
高手變多的話就有更多教學可以看了...這是遜腳的悲歌
以下是前一陣子寫判斷型巨集時候的心得,看到前幾篇貓德練功巨集而興起的XD:
主題內容:
/script z=0 i=1 u=UnitDebuff t="target" c=CastSpellByName while u(t,i)
do if string.find(u(t,i),"AbominationExplosion")~=nil
then z=1 end i=i+1 end if z==0 then c("腐蝕術") else c("痛苦詛咒") end
黃色部分是可替換的,藍色是這個巨集的骨幹結構
語法解釋:
z=0 i=1 就是先定義變數,完全是自己設的,就是在一開始沒有任何動作的
時候,設一個 z=0,i=1
然後定義u=UnitDebuff t="target" c=CastSpellByName 簡化字串,節省字元數
接下來是while u(t,i) do (XXXXXXX...)
先說一下 u(t,i) 這是被我們簡化過的,原來是UnitDebuff("target",i)。
UnitDebuff(unitID,debuffIndex,showDispellable)是傳回某單位(unit)的debuff
資訊的函式,後面的括弧中是要填入的參數,作用是指引函式的目標。
其中unitID是妳的對象是誰?可以是player, target 等等;
debuffIndex 是妳想知道的是第幾個debuff,一個單位最多可以同時有16個debuff,在這
裡我們設的是變數 i(之前有設i=1);
showDispellable 是一個選擇性的參數,非必要。在此也沒有使用,就不提了。
先前提過這是傳回資訊的函式,傳回的格式是:
debuffTexture, debuffApplications, debuffApplications
debuffTexture:字串-此debuff的路徑和檔名(identifier),如果沒有debuff則傳回 nil;
debuffApplications:數字-此debuff疊加的次數(本例沒用到)
debuffType:字串-此減益法術(debuff)的類型。"Magic", "Curse", "Poison",
"Disease" 如果是無法解除的 debuff 則傳回 nil(本例沒用到)
while u(t,i) do XXXXXX,這裡的XXXXX是 "if XXX then XXX end"
,而 if 的內容是
string.find(u(t,i),"AbominationExplosion")~=nil
這表示查看u(t,i)傳回的字串中,有沒有AbominationExplosion(腐蝕術的debuff真名,不
等於英文技能名)這段,假使查看的結果"不等於" nil
then z=1 (如果這樣,定義z=1) end
但是我們注意到,我們之前定義 i=1 這樣只有檢查到第一格 debuff,其他格也要檢查
,所以再加一行 i=i+1 end 給他迴圈檢查,不用設什麼時候停止是因為內部定義
debuffIndex 最多到16,達到16時會自動停止;就這樣讓他全部跑完一遍。
接下來是 if z==0 then c("腐蝕術") else c("痛苦詛咒") end
剛剛說道,如果檢查結果不是 nil--就是如果有"腐蝕術"這個debuff在的話--z=1,如果
是 nil (沒有中"腐蝕術")則 z 不變,還是原來的 0 。
這邊就是說,如果z是0的話,放"腐蝕術",不是0的話,放"痛苦詛咒"。c 是之前定義過的
CastSpellByName 函式。要注意的是,講到判斷"值"的時候,要用兩個等於 == ,
一個等於 = 是定義的時候用的。
以上,即完成"沒腐蝕術先放腐蝕術,有的話就放痛苦詛咒"的巨集,只要狂按這顆鍵,
就可以自動判斷了。
--
下篇:查不到debuff真名的話怎麼辦?
如果有人想看的話 orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.63.88
... <看更多>