看板 WOW 關於我們 聯絡資訊
Weakaura 自訂篇 其實這篇幾天前就寫好了 不過感覺不太實用 所以.. 決定多分享一點aura 教學的部分當自由閱讀(? (1) http://pastebin.com/LF40WNsg 觀察身上的吸收盾總量 call api的簡單範例 (2) http://pastebin.com/XesFzUi2 pal的信標 6版用到現在 特效部分 可以參考怎麼增加文字顏色 (3) http://pastebin.com/TFkd6SYs 監視夜禍的點燃靈魂 (現在貼好像有點晚? 抓到的人會上標+喊話中的名字 其實做法不太複雜 看懂下面的寫法可以試著做看看 (4) http://pastebin.com/rgDYNy0e 新增兩個按鈕 會在出現商人/銀行的時候跳出來 按一下把列表東西存進銀行/賣給商人 但裡面的清單是很久以前寫的 所以都是六版的東西 可以自行修改~ 如果要調位置的話改兩個背景的位置就好 另外有圖示的會跟著動 其實我另外有做一套是按一鍵把東西寄給分身的 還沒改好 改一改再放上來 打大秘比較重要(欸 (5) http://pastebin.com/G1aqaFFs 斷法 http://pastebin.com/5hUBJ8Wx 驅散 偵測團隊或小隊內 有人驅散和斷法時 會在對話框列印出訊息 專門抓戰犯用的 (6) http://pastebin.com/4yqV4THZ 監視古爾丹p3的靈魂之井殘餘靈魂/正在吸收的人數/下次的傷害量 純抄來 只做了一點翻譯! (7) http://pastebin.com/DYs4w9PB 小東西 滑鼠指標旁邊放個圈 本來是想做cursor UI的功能 可是移動速度不太快 不夠漂亮 -- 底下有興趣可以看一看 但是我要說 如果完全沒有程式基礎 不推薦用自訂觸發 會搞得你暈頭轉向 去抄別人的/用內建的比較好 現在weakaura內建功能已經多很多了 之前幾個用自訂刻出來的我都想要不要用內建重作一下XD 當然自訂還是可以做出一些比較自由的功能 1. wow api http://wowprogramming.com/docs/api_categories 首先要知道 魔獸很多功能都只是在call api 你放個寒冰箭就是CastSpellByID或CastSpellByName 說一句話就是SendChatMessage 所以找得到api 就可以用出許多功能 但是BZ覺得 不行 這樣很危險 所以他們把一些api鎖起來(Protected) 只能從BZ內建的技能之類觸發 這也就是為什麼巨集做不出 if (目標血量<50) then 施放法術 這類功能 因為後面那個被鎖起來惹 朕不給的你不能要! 那些api可以call? 看上面那個網址都會寫 哪個是幹嘛的? 想辦法試囉 點進去就看得出他的arguments(參數)和returns(傳回值) 舉例來說 我寫health = UnitHealth("player") 什麼意思? 來看看UnitHealth這個api http://wowprogramming.com/docs/api/UnitHealth health = UnitHealth("unit") or UnitHealth("name") Arguments: unit - ......(string, unitID) name - ......(string) Returns: health - ......(number) 表示你要給他一個單位ID或字串 他回傳一個number 那這整個api在幹嘛? 網頁上面告訴你啦 回傳單位目前的血量值 所以我們做的UnitHealth("player") 就是傳玩家這個unitID給他 他回傳玩家目前的血量給你 假如寫個巨集 /run print(UnitHealth("player")) 就是印出玩家目前的血量啦 好 api先放一邊 能用的api太多了 需要的時候再去查資料庫就好 2. wow events http://wowprogramming.com/docs/events 魔獸裡很多事情都是事件的發生 拿上面那個(3)夜禍的aura當範例 我們要做的是偵測點燃靈魂 這個光環覆蓋時觸發 並且利用api抓一些我們想放的功能 可以import aura 或跟著做一次: 先新增一個文字 觸發選自訂 特效文字打個空白 (不需要用到圖示的我通常會這樣做) 事件類型選 事件 底下冒出來的空格填上 COMBAT_LOG_EVENT_UNFILTERED 這個事件是專門抓戰鬥紀錄的 再來我們找到COMBAT_LOG_EVENT_UNFILTERED的介紹 http://wow.gamepedia.com/COMBAT_LOG_EVENT (重導頁面 反正兩個的參數有87%像) 既然是施放技能 開頭找法術 SPELL 那我們想抓的是光環覆蓋 所以是接_AURA_APPLIED的字尾 阿裡面怎麼這麼多東西? 因為一個技能裡面有 施法者 法術ID 法術名稱 目標 等等一堆參數 等下撈你要的東西出來用就好 當weakaura發現我們前面偵測的event觸發時 它就會去跑看看自訂觸發裡面的function(...) 看return 了什麼 true 的話就觸發 false當然就不觸發 自訂觸發的完整code如下: http://pastebin.com/JJ67hzZR function(event, timestamp, message, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, ...) --這邊是所有COMBAT_LOG_EVENTS_UNFILTERED的基本參數 if message == "SPELL_AURA_APPLIED" then --如果是光環覆蓋 local spellId, spellName, spellSchool, auraType = ... --額外參數 if spellName == "點燃靈魂" then --如果技能名稱叫點燃靈魂 local message = (spellName); if destName ~= nil then message = destName .. "中了" .. message .. "!"; --設定訊息 SetRaidTarget(destName,8); --標記中的人 C_Timer.After(10, function() SetRaidTarget(destName,0) end) --10秒後取消標記 SendChatMessage(message, "YELL"); --大喊訊息 return true end end end end -- 後面是備註 這邊用到了 SetRaidTarget 標記目標 C_Timer.After 時間後執行指令 SendChatMessage 喊話 這幾個api 不過只有COMBAT_LOG_EVENT_UNFILTERED這個event嗎? 當然不只 登入遊戲(PLAYER_ENTERING_WORLD) 打開信箱(MAIL_SHOW) 抓events可以做出各種奇怪的功能 做custom code還蠻容易壞 可以裝個addon: buggrabber來抓runtime的錯誤 (同時你的遊戲會該該叫 你的UI有太多的錯誤誤誤誤) 如果真的做壞了怎麼辦? 之前有過 /wa 完全開不起來 重登什麼都沒效 同時buggrabber狂叫 關遊戲 打開world of warcraft/WTF/Account/你的帳號/SavedVariables/WeakAuras.lua 找到你做壞的weakaura 在它的lua table ["load"] = { ["use_never"] = true, --加上這一行 (或已經有了 應該會是 ["use_never"] = false 就把它改成true) 再進遊戲把它搞好 大概就這樣 其他還有一些零零落落可以講的 可是好像沒有完整到值得發文 如果有weakaura想做的歡迎詢問(? -- 葡萄酒商勒修斯說:進到桶子,踏踩那些水果! 葡萄酒商勒修斯說:進到桶子,踏踩那些水果! 葡萄酒商勒修斯說:進到桶子,踏踩那些水果! 葡萄酒商勒修斯說:進到桶子,踏踩那些水果! 葡萄酒商勒修斯說:進到桶子,踏踩那些水果! 葡萄酒商勒修斯說:你一定能成為厲害的酒商!又有一批秘能酒準備好出貨了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.66.1 ※ 文章網址: https://www.ptt.cc/bbs/WOW/M.1489425468.A.8B3.html
raider01: 其實聖騎的奉獻BUFF也有類似的狀況03/14 01:24
raider01: 抱歉,推錯篇了03/14 01:41
gbaian10: 簽名檔少一次吧,我記得任務要弄6次03/14 01:45
aegius1r: 放不下惹03/14 01:51
gbaian10: 原來乳此03/14 01:54
awaited: 寫個WA死掉後顯示巨大的「白痴別再放魂了等群活」03/14 08:24
aegius1r: 上次還真的有看到 我找一下..03/14 08:38
aegius1r: https://wago.io/EJ4ruy2wG03/14 08:38
QingTing: 雖然看得懂,但沒愛無法玩那麼深入03/14 09:04
sukura99: 用心~推推03/14 09:10
garfunkel: 我還蠻喜歡有人誤放魂的 一直滅需要一點時間平復情緒03/14 09:58
awaited: XD 曾經遇到過因放魂而吵架..03/14 10:45
aegius1r: 跳法刃拓斷橋 深刻體會阿 嗚嗚03/14 10:48
※ 編輯: aegius1r (61.222.31.187), 03/14/2017 10:52:59
lfstgenius: 存到銀行那個材料銀行滿了他不給存材料耶 要怎麼改才03/14 12:30
lfstgenius: 可以讓它存在一般銀行03/14 12:30
Titus: 推WA!自訂那邊超詳細欸讚03/14 12:55
aegius1r: 這我要想想 剛剛翻了一下好像沒有材料銀行格子的api 03/14 13:12
aegius1r: 現在的做法單純是跑DepositReagentBank()把東西都丟進去03/14 13:12
aegius1r: http://pastebin.com/kjiEYE2w 改好了XD 其實做法挺簡單03/14 20:20
aegius1r: 判斷一下是不是交易技能材料 是的話就先丟進銀行03/14 20:21
aegius1r: 再把材料存進材料倉03/14 20:21
Onine24: 這我直接跳過,還是用用內建的觸發就好XD03/14 20:40
MeauD2: 推 讚 繼續!!!03/15 00:53
CIIIO: 推03/15 00:58
aegius1r: 暫時應該不會有下集 因為不知道要寫什麼03/15 14:50
aegius1r: 有任何idea或問題歡迎寄信XD03/15 14:51
※ 編輯: aegius1r (1.200.227.109), 03/15/2017 14:51:43
lfstgenius: 真不錯 感謝!! 還有個問題有沒有辦法做個按鈕可以吃 03/15 14:51
lfstgenius: 神兵 不用一個個去點 03/15 14:52
aegius1r: 這個有addon 也有weakaura~ 03/15 15:00
aegius1r: addon https://goo.gl/raFQMt 03/15 15:01
aegius1r: aura https://wago.io/UseArtifactPower 03/15 15:02
lfstgenius: !! 感謝 03/15 15:15
2017/3/23 試著丟了一個aura上wago.io~ https://wago.io/NJJHJsoif BossSpellTrack 會新增一個按鈕 按下去之後 戰鬥中會列印出boss唱法的紀錄+時間 用來記錄時間軸用的 不然看log有一點煩XD ※ 編輯: aegius1r (61.222.31.187), 03/23/2017 12:14:57