作者k0286 (妹控之秋)
看板WOW
標題Re: [巨集] 技能冷卻中施放寫法
時間Wed Aug 17 23:06:20 2011
※ 引述《zonhan (我願與妳共舞)》之銘言:
: ※ 引述《ironsalami (好好想想)》之銘言:
: : 這篇比較有價值回,也比較有跟到各種狀況
: : 故回應於此篇:
: : 1.2010.10.14(四)
: : 「浩劫與重生前夕」當天晚上,還沒砸壞的暴風城木人區
: : 就已實測出
: : a.延遲施法佇列改動
: : b.巨集/連續施法,受到延遲施法佇列改動影響的異常行為
: : 並將後者回報GM
: : (延遲施法佇列的變動一般台灣使用者無法於Patch中得知)
: : http://www.wowtaiwan.com.tw/03Gameguide/patchnotes/detail.asp?id=76
: : 2.2010.11.11(四)
: : k0286版友撰文分享 [心得] 4.0施法佇列機制探討
: : 分享了他大量測試後的前部分結果
: : a.實測施法佇列機制用於巨集,能容納下一個法術
: : 對於有(無)CD,有(無)GCD,以及瞬發(含導引)與念咒
: : 各種交叉測試比對
: : b.施法完畢後在gcd的同時,另外押一個法術,這個法術會直接排入下個施放佇列
: : 但施放/施放 寒冰箭
: : /施放 冰霜長矛
: : 即便按的快也無法達到效果
: : c.提出下面兩者可能會影響施法佇列 (因為按的速度與結果無法完全配合)
: : 顯示設定 > 進階 > 降低延遲
: : 介面設定 > 技能 > 技能觸發保險
: : 關於這三點的回應是
: : d.施法佇列用於巨集,關鍵在於:延遲容許期間上層遮罩的抹除
: : 建議使用/連續施法,進行進一步的測試
: : 會有更豐碩的發現
: 事實上並沒有上層遮罩這種東西
: 你所謂的遮罩其實是延遲和施法佇列系統存在下的必然結果
: 先來瞭解技能施放的過程好了:
: Player Client Network Server
: ───── ───────────────── ──── ───────
: 無法施放
: ↑
: │yes 無施放中
: │ 進入 技能 施放開始 處理施法時間後
: 按技能1 →判定cd┴─→施法佇列─────→並送出訊息──→ 判定施法完成
: ↑ no ↑ │
: │ │ │
: 按技能2 ─┘ │ │
: │ │
: │ │
: └──────────────────┘
: 送回施法完成訊息
: 注意, "施法開始"和"施法完成"是由兩個不同機器去判定的!!
: 為了減少程式和網路負擔, 技能由client判斷後, 才決定要不要送出訊息
: 由於存在延遲, 因此blizzard設計出"單一技能施法佇列",
: (當前佇列只能儲存一個未cd中技能)
: Server端處理並判定施法完成後, 會直接接受一定時間內佇列所存放的下個技能
: 但是當多個技能同時送到佇列時, 要怎麼判斷存哪個咧?
: 為了避免延遲造成誤判, 此佇列會忽略短時間內與目前施法中技能相同者
: 舉個例來說
: 像是
: /cast 懲擊 (無cd)
: /cast 神聖之火 (有cd)
: 這樣的巨集其實就是同時送出兩個技能(其實還是有時間差只是很短)
: 當神聖之火在cd時按下巨集, 神聖之火會判定無法施放被擋掉, "/cast 懲擊"排進佇列
: 而神聖之火cd完後按下巨集, 則會同時送出兩個/cast,
: 但是注意!! 這時還未收到前一個懲擊的施法完成訊息,
: 因此巨集裡的"/cast 懲擊"會被丟掉, "/cast 神聖之火"得以擠進佇列
: (好像提到重點了...)
: 如果把巨集換成
: /cast 神聖之火 (有cd)
: /cast 懲擊 (無cd)
: 這樣神聖之火cd時, Client直接判定cd中而停止運作巨集(也就是卡鍵
: 因此連"/cast 懲擊"都送不出去
: (就想成當client判定cd中時會把按鍵鎖住讓它不能送出cast訊息)
: : e.施法佇列機制於巨集之外的「一般技能」按鈕也有一樣現象
: : 只要在k板友提出的「能將東西放入施法佇列」的期間
: : 就一路開始猛按直到前項技能念咒結束,就可以生效
: : 因為我是採用閃電箭與大地震擊可以
: : 當下我並不懂為什麼寒冰箭與冰霜長矛不行
: : 測試後配合推文幾位板友的角度,知道最可能是猛按的模式不同
: : 故猛按要從gcd快轉完就開始,而非念咒快結束才開始
: : 且使用者本身的網路延遲要長
: : 我認為此項改動的重點在於 (當時我使用的是元素薩)
: : 擴充以往"念咒技能-念咒技能"的預唱施法延遲補貼
: : 使瞬發、導引、念咒都能具有類似的補償
: : f.tiros板友在推文說明這個隊列(佇列)的反應時間在beta是可以調整的
: : 如上述e所說,任何技能只要延遲夠按法正確
: : 不需要巨集也可以送進施法佇列,因此當然可以說跟巨不巨集真的無關
: : 巨集可以發揮更強大的效果是一回事
: : 但上述d中的異常效應卻有問題
: : e施法延遲當然不是bug,但是d可以說是bug
: : 由於相關分享都停留在沒發現遮罩移除的d的程度
: : 整個wow板聽過巨集中「遮罩移除足以稱為bug這件事」的人沒幾個
: 所以這並不是bug, 而是為了處理延遲所產生的必然結果
: : 不一樣
: 因此是一樣的
以下是個人想法
首先,我認為這是bug
一、違反bz巨集本身的原意
二、不是還可以用就不是bug bug可大可小,不代表bz沒有修掉,就不是bug
當年聖騎光明/智慧聖印的bug持續了多久沒修?
三、這確實是施法佇列下存在的必然結果,但這就代表bz確實忘記去修正這一點
畢竟要去更改macro command的定義,並不太難
當初/castrandom 的機制改變 ,不就是為了改掉判別形巨集
/castsequece的空值應用的研究不就是為了彌補/castrandom機制的改變嗎
四、到目前為止 詳細的巨集運作機制,bz迄今都沒有透明化
包括除錯、運行條件、終止條件,所以各種解釋都存在。
然後 最後是一些猜想
目前看似空值無法使用了
但是回顧TBC後期的獵人抽筋巨集
/casequence reset=0
skill-A,1,1,1
/casequence reset=0 1,
skill-B,1,1
/casequence reset=0 1,1,
skill-C,1
/casequence reset=0 1,1,1,
skill-D
○註 原理是在castsequence中塞進 "無主動技能的物品"或 "自動攻擊"
上述中的 1 表 裝備之頭盔
或許還能用
套用回原本的議題 神火 懲擊
/castquence reset=0 1,懲擊
/cast 神聖之火
or
/castsequence reset=0 1,神聖之火
/castsequence reset=0 懲擊,1
以上,由於本人沒有點數 和wow可以測試,故一切只是嘴砲
討論歡迎,討戰敬謝不敏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.50.197
腦筋有點鈍 自己邏輯推錯了 結果略微修正 依然無測試
借了別人的shm測試
/castsequence reset=0 1,1,閃電箭
/castsequence reset=0 1,閃電鏈,1
/castsequence reset=0 熔岩爆發,1,1
似乎有滿足 熔岩爆發 >> 閃電鏈 >> 閃電箭 的優先順序
仍未嚴謹測試 嘴砲居多
※ 編輯: k0286 來自: 140.120.50.197 (08/17 23:47)
推 zonhan:Macro master!! push~ 08/17 23:58
→ zonhan:其實在和板友們討論完,我也不太堅持自己原本的觀點了啦 08/18 00:04
→ k0286:不,你說的沒有錯 錯的是bz工程師不夠細心 :) 08/18 00:05
→ zonhan:國外討論區有不少人反應目前的技能佇列機制可能有問題, 08/18 00:08
→ zonhan:只是一直沒有看到官方明確表明這到底是不是他們有預料到的 08/18 00:10
→ k0286:基本上 這類巨集 只有亞洲地區有再研究 08/18 00:12
→ k0286:就我的經驗看到 歐美玩家鮮少使用類似的巨集 08/18 00:13
→ k0286:自然也沒有人回報給bz 況且這對公平性影響不太大(目前為止) 08/18 00:14
→ zonhan:塞入"無主動技能的物品"這想法真的是神來之筆!(跪 08/18 00:17
沒有神來之筆 真的
精華區 - 巨集 - 獵人 至今仍留著 TBC末期 冰封前夕
/castsequence XX射擊,自動射擊,自動射擊,自動射擊,自動射擊 * N
這型巨集
又後來 3.X時 macro command 定義改變
/use 和 /cast 被定義為同樣功能 順帶 /castsequence 也含有/use 功能
所以 把上述巨集
/castsequence XX射擊,16,16,16,16,16,16
(16是主手武器)
只是當時有空值 所以可以再壓縮
變成
/castsequence XX射擊, , , , ,
4.0後 既然空值被取消掉 那往前回溯的想法是很自然的
沒有神來一筆 真的
而且這個用法一直都在
可能跟施法佇列也沒有直接關係 因為 3.X的時候 就這樣用了!!
當時的解釋是 BZ直譯器(或編譯器) 再逐 行(航) 執行的規則變相利用
題外話
我真的很好奇
#1EGITzPN (WOW) [ptt.cc] Re: [巨集] 技能冷卻中施放寫法
這篇裡面說的很神祕的寫法 到底是什麼?
有沒有人能偷偷告訴我???
※ 編輯: k0286 來自: 140.120.222.219 (08/18 00:29)
→ ddt442:目前知道的有獵人指定第二巨集 第三巨集來達到CD判斷的效果 08/18 00:43
→ ddt442:另外就是pLUA,不過會被ban,技術上也需要一顆好的大腦 08/18 00:45