作者o035016 (AIR劇本檔提供中 請Q我)
看板WOW
標題[心得][巨集] 尋找 Buff/Debuff 真實名稱
時間Tue Oct 24 17:30:59 2006
嗯...我又來啦,不過拖了好久XD
上次提到各技能產生的 Buff、Debuff 在系統判斷的時候它用的是"真實名稱",或者更精
確一點是該 Buff / Debuff 的圖示名稱orz...最機車的是他常常跟技能名稱沒啥關係。
這部分在 wowwiki 有一些資料可以參考:
http://www.wowwiki.com/Queriable_Buff_effects
最右邊那欄就是名稱。(那名稱包括圖示檔名路徑,通常不用全寫進去)
但是都靠網頁也是會有出槌的時候,所以同一網頁下半部有可以在遊戲中顯示
Buff / Debuff 資訊的巨集:
Macro for querying in-game
/script function m(s) DEFAULT_CHAT_FRAME:AddMessage(s) end
for i=1,16 do
s=UnitBuff("target", i) if(s) then m("B "..i..": "..s) end
s=UnitDebuff("target", i) if(s) then m("D "..i..": "..s) end
end
(藍色部分是結構骨幹)
語法解釋:
function m(s) DEFAULT_CHAT_FRAME:AddMessage(s) end
這是自定義函式,簡化字句。定義 "
m(s)" = "
DEFAULT_CHAT_FRAME:AddMessage(s)"
DEFAULT_CHAT_FRAME:AddMessage() 是可以在預設的"綜合"對話窗加入訊息的函式。
這個訊息是單機的,只有你自己會看到;一些UI會在對話窗顯示訊息也是應用這個函式。
顯示的訊息就是括弧中的 s,等一下會定義。
接下來是
for i=1,16 do XXXXXX end 這樣的結構。這表示在XXXXXX的部分,只要用到 i
,都引用這裡的定義: i=1,16 。這表示 i = 1~16 。
(有可能在別的例子看到 i=1,16,1
這種格式,最後的 1 表示依序由 1 到16 ,相反可以是 -1 表示從 16 到 1)
然後,這裡的XXXXXX是
s=UnitBuff("target", i) if(s) then m("B "..i..": "..s) end
s=UnitDebuff("target", i) if(s) then m("D "..i..": "..s) end 這兩段。
UnitDebuff("target", i) 這個函式的內容上次說過了,在此就不再贅述。
UnitBuff("target", i) 也非常類似,詳細的內容可以參考:
http://www.wowwiki.com/World_of_Warcraft_API#Buff.2FDebuff_Functions
s=UnitBuff("target", i) 這句定義了 s,接下來我們就可以使用一開始定義過的 m(s)。
if(s) then m("B "..i..": "..s) end 這句是典型的
if XXX
then XXX
end 句型,注意
代換掉的部分之後,比較複雜的是 m("B "..i..": "..s)。原來是
m(s) = DEFAULT_CHATFRAME:AddMessage(
UnitBuff("target", i))
這裡為了顯示清楚,m(s) 變成 m("B "..i..": "..s)
括弧中被" "包起來的部分是會
直接顯示的,這邊是 B
(提示現在顯示的是 Buff),和冒號
。其他是一些變數和函式,例如 i,在檢查第一個 Buff 時就會顯示 1;s 的話顯示出來
就是我們要的資訊,形式像 Spell_Holy_Heal 這樣。要注意的是,在" "與變數或函式之
間要以..分開來。
Debuff的部分 s=UnitDebuff("target", i) if(s) then m("D "..i..": "..s) end
結構是一樣的,後面的"D" 表示顯示出來的是 Debuff 。
結果,最後顯示在對話窗的會像這樣:
B 1: Interface\Icons\Spell_Holly_Worldfortitude
D 1: Interface\Icons\Ability_Gouge
嗯...現在知道為什麼是圖示的名稱了吧,根本就是檔名啊! (╯‵□′)╯︵ ┴─┴
--
這些東西的作者都不是我,我純粹就我的了解做簡單的教學而已;如有謬誤請不吝指教。
然後,我完全沒有程式基礎,想寫東西的時候只是靠著狂K
http://www.wowwiki.com/World_of_Warcraft_API 而已。
只要有心,你也是食神! <( ̄﹌ ̄)@m
--
当然だ 付き合って 不幸になどなってたまるものか
當然的啊。互相交往,誰想要變得不幸呢?
~坂上 智代
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.63.88
推 tantalas:推 10/24 17:38
→ statue:如果只是要圖示, 那應該找一下網站, 點圖示右鍵就可以.. 10/24 17:41
→ o035016:驚 你老說的對!以前不會用... 10/24 18:06
推 jonahlin:我也來推啦 雖然還沒細看 10/24 18:26
推 c8853043:先推在說! 10/24 19:06
推 guithawk:推 10/24 19:31
推 teeeeth:推 10/24 20:00
推 eury:這篇要m吧 10/25 07:11