真的想了解巨集原理跟應用的人,可以參考一下巴哈風凌正大寫的精華文【心得】巨集應用樣本整理
◎ 基本型
01 瞬發
/cast 精通元素
/cast 閃電箭
精通元素+閃電箭的組合可以改成自然迅捷+強效治療波,照順序換掉就ok了。
02 自動開飾品施法
#showtooltip 閃電箭
/use 13
/use 14
/cast 閃電箭
第一行是直接顯示法術圖示,如果不想從旁邊那一、大、堆圖示裡面找出你要的,直接加上這行會比較好。
13代表第一飾品(上),14代表第二飾品(下),數字的意義是從左邊數來的格數,不過算法會有跳過某些東西,因為沒什麼關連所以直接省略不提。就記住是13跟14就好。
03 大雨前隨機判斷隊伍喊話
/script msg=(({"大雨將至~靠過來享受回血的暢快吧!!!","馬麻,威~什麼要下雨?因為愛vvv","大雨撫慰你身心!!速速進圈不然貓貓打爆你>皿<"})[math.random(3)]); a=SendChatMessage;if GetNumRaidMembers()>0 then a(msg, "RW")else a(msg, "say"); end
/cast 治癒大雨
大雨可以換成別的,藍字可以改成自己想喊的,數量也可以自己增加或減少,但是改變句子數量的話記得要把對應的藍色3改成變更後的句子數量。
另外,這個巨集是隊伍時用「說(say)」,團隊時用「團隊警告(RW)」,不想要的話自己改紅字即可。
備註一:
隊伍(party)、悄悄話(whisper)、團隊(raid)
備註二:
按下巨集之後他會先喊話再施法,但是因為大雨是需要唱法的法術,所以可以有預先提醒大雨將至的功用,個人覺得在音波龍等的副本王都很有效果XD
04 嗜血隨機判斷隊伍喊話
/script msg=(({"施放 無差別格鬥貓派奧義-通通變吸血鬼術!!\(>A<)/","貓貓...貓貓變吸血貓了啦!!快讓我喝他的血>皿<","馬麻,威~什麼要開嗜血術?因為愛。","可愛貓貓開嗜血囉,大家快打快打>3<"})[math.random(4)]); a=SendChatMessage;if GetNumRaidMembers()>0 then a(msg, "RAID")else a(msg, "PARTY"); end
/cast 嗜血術
基本上跟上面那個沒什麼兩樣,只是改成正常的在隊伍裡就用隊伍頻道喊,在團隊就改團隊罷了。
不過03跟04都有個缺點是沒有寫入幾秒內重複按不會一直喊的指令,因為有字數限制的關係,所以大家要自己克制一下不要太激動一直按XD 不然會被罵~
04 嗜血隨機判斷隊伍喊話
/script msg=(({"施放 無差別格鬥貓派奧義-通通變吸血鬼術!!\(>A<)/","貓貓...貓貓變吸血貓了啦!!快讓我喝他的血>皿<","馬麻,威~什麼要開嗜血術?因為愛。","可愛貓貓開嗜血囉,大家快打快打>3<"})[math.random(4)]); a=SendChatMessage;if GetNumRaidMembers()>0 then a(msg, "RAID")else a(msg, "PARTY"); end
/cast 嗜血術
基本上跟上面那個沒什麼兩樣,只是改成正常的在隊伍裡就用隊伍頻道喊,在團隊就改團隊罷了。
不過03跟04都有個缺點是沒有寫入幾秒內重複按不會一直喊的指令,因為有字數限制的關係,所以大家要自己克制一下不要太激動一直按XD 不然會被罵~
◎ 進階型
01 嗜血術CD喊話
/script gs=GetSpellCooldown;sc=SendChatMessage;se=SecondsToTime;
/script s,d=gs("嗜血術");if s>0 then m="嗜血術CD還有"..se(s+d-GetTime()) else m="真 嗜血術已經準備好了!!隨時可以吸光他們血>w<!!" end;sc(m,"raid");sc(m,"party");
02 屍變CD喊話
/script gs=GetSpellCooldown;sc=SendChatMessage;se=SecondsToTime;
/script s,d=gs("復生效果");if s>0 then m="屍變CD還有"..se(s+d-GetTime()) else m="復生效果準備好囉!!死了都要爬起來打爆他!!" end;sc(m,"raid");sc(m,"party");
※ 引述《yumeotameni (閻貓)》之銘言
回覆刪除> 03 大雨前隨機判斷隊伍喊話
> /script msg=(({"大雨將至~靠過來享受回血的暢快吧!!!","馬麻,威~什麼要下雨?因為愛vvv","大雨撫慰你身心!!速速進圈不然貓貓打爆你>皿<"})[math.random(3)]); a=SendChatMessage;if GetNumRaidMembers()>0 then a(msg, "RW")else a(msg, "say"); end
> /cast 治癒大雨
>
>
> 大雨可以換成別的,藍字可以改成自己想喊的,數量也可以自己增加或減少,但是改變句子數量的話記得要把對應的藍色3改成變更後的句子數量。
> 另外,這個巨集是隊伍時用「說(say)」,團隊時用「團隊警告(RW)」,不想要的話自己改紅字即可。
> 備註一:
> 隊伍(party)、悄悄話(whisper)、團隊(raid)
> 備註二:
> 按下巨集之後他會先喊話再施法,但是因為大雨是需要唱法的法術,所以可以有預先提醒大雨將至的功用,個人覺得在音波龍等的副本王都很有效果XD
> 04 嗜血隨機判斷隊伍喊話
> /script msg=(({"施放 無差別格鬥貓派奧義-通通變吸血鬼術!!(>A<)/","貓貓...貓貓變吸血貓了啦!!快讓我喝他的血>皿<","馬麻,威~什麼要開嗜血術?因為愛。","可愛貓貓開嗜血囉,大家快打快打>3<"})[math.random(4)]); a=SendChatMessage;if GetNumRaidMembers()>0 then a(msg, "RAID")else a(msg, "PARTY"); end
> /cast 嗜血術
> 基本上跟上面那個沒什麼兩樣,只是改成正常的在隊伍裡就用隊伍頻道喊,在團隊就改團隊罷了。
> 不過03跟04都有個缺點是沒有寫入幾秒內重複按不會一直喊的指令,因為有字數限制的關係,所以大家要自己克制一下不要太激動一直按XD 不然會被罵~
>
引言過多恕刪只留想回應的部份,
最後兩行閻貓大說字數限制問題在以/scritp起頭的巨集中是可以解決的,
只要先用一個空巨集把常用或過長的指令事先宣告成你要的字串或字元就可以了,
像閻貓大範例中的a=SendChatMessage就是一種宣告,
且宣告有個特性是在還沒做下一次宣告時都會維持宣告的狀態,
意即在把SendChatMessage宣告成其它字元或字串前a都代表SendChatMessage直到下次宣告或關閉wow,
因此可以先編寫一個宣告用的巨集把指令宣告過後,其他巨集如果有使用到宣告過的指令即可以代替的字串編寫,就可大幅減少字數,
只是每次進遊戲後要記得先按宣告巨集不然其他巨集一使用會跳錯誤,
宣告編寫範例
/script UH=UnitHealth;UM=UnitMana UL=UnitLevel;UHM=UnitHealthMax UMM=UnitManaMax;UE=UnitExists UIR=UnitInRaid;UCA=UnitCanAttack P="player"Ta="target"TU=TargetUnit AU=AssistUnit;IUA=IsUsableAction GIIL=GetInventoryItemLink PIIB=PutItemInBag GT=GameTooltip
以上範例無實質作用純宣告示範而已,各宣告間可用"空格"或";"分開
這篇回應或許遲了很久但希望這些小技巧對你有幫助
匿名大你好!
回覆刪除看到你的回應,真的是專業的,宣告巨集一次宣告了好多變數!
這樣真的解決了我們的問題,真的是很感謝。
因為不瞞你說...我跟貓都只有高中學了一點點程式語言,連這些巨集都是從網路上查詢,跟自行實驗拼湊出來的,所以在你這樣的明眼人眼裡應該是略微粗糙XD
幸好你有來分享這強大的小技巧,應該可以幫助到很多巨集塞不下的讀者!
至於超懶惰的狼貓嘛...只能偷偷用ui然後跟程式語言老師說對不起了XDD
喔喔!就是先設定一個母集合,然後需要的時候從裡面呼叫的意思就對了@@!
回覆刪除雖然知道原理,可是一直卡在不知道該怎麼寫的部份,很謝謝你的回應呢~~~不然之前在弄的時候一直覺得字數限制很令人苦惱> <
感謝你的回應喔~(還特地po到這裡來真的很貼心XD)