顯示廣告
隱藏 ✕
※ 本文為 kimo6414.bbs. 轉寄自 ptt.cc 更新時間: 2014-11-24 05:50:48
看板 WOW
作者 zonhan (我願與妳共舞)
標題 Re: [巨集] 技能冷卻中施放寫法
時間 Thu Aug 11 01:50:06 2011


※ 引述《ironsalami (好好想想)》之銘言:
: ※ 引述《lunaangel (淹死在沙灘的魚)》之銘言:
: : 其實會出現這樣的狀況的原因很簡單,就是BLZ為了體恤大眾而在4.0加入的功能:
: : 自訂延遲容許值
: : 這個功能主要是為了避免玩家因延遲過高,而造成技能施放不順所增加的。
:   這篇比較有價值回,也比較有跟到各種狀況
:   故回應於此篇:
: 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, 而是為了處理延遲所產生的必然結果

: : /cast A
: : /cast B
: : 這種巨集,就跟你狂按A,B兩技能是一樣意思的。
:   不一樣
因此是一樣的

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
zseineo:推專業1F 08/11 03:25
Ithildin:順序有影響 有時間差 哪裡一樣2F 08/11 08:21
Ithildin:還是說狂按AB和狂按BA是不一樣的事情 手指有時間差
順序是在按下巨集前Client端的判斷
當送出訊息後因為延遲處理把兩技能視為同時送到
choosin:你的最後一段有點怪 macroAB=AB狂按 macroBA=BA狂按4F 08/11 10:35
choosin:可是你上面已經說過macroAB =\=macroBA
choosin:然後如果處理延遲「意外」造成巨集可以用起來似乎判斷CD
choosin:那說是BUG並不為過
bniw:Exploit8F 08/11 11:11
HQ1030:這其實不太算bug,是網路延遲造成的問題9F 08/11 11:32
bniw:Bug只是一種說法,不喜歡被叫Bug可以換成別的詞,總之這並不10F 08/11 11:36
bniw:是bz希望看到的東西
salami:我跟我哥討論過 其實4.0還是有巨集方面的問題12F 08/11 12:55
salami:不是只有在佇列方面更動而已 這件事情用巨集圖示就能證明
salami:不過這篇間接證實了 當時我所說 典型必有兩行/cast這件事情
salami:總之佇列的更動是事實 不過不代表巨集沒有問題
salami:結論這樣下也好 省得我們在解釋更多巨集問題的細節
ironsalami:不正確 不過要當一樣也好 畢竟解釋再多也沒必要17F 08/12 05:03
ironsalami:只說明三個要點
ironsalami:1.使用/連續施法巨集測試
ironsalami:2.使用多層/連續施法巨集中的觀察寫法 觀察逐行動態
ironsalami:3.懲擊會被丟掉 那其他寫法到底是"什麼"會被丟掉呢
ironsalami:在未知的東西前面 每個人都是無所立足的
ironsalami:只有已經到過的人才會知道怎麼回事 其他懶得說了
ironsalami:巨集在每次施放都重新編譯 並且列為各式"物件" 以上
ironsalami:很久以來 我在其他板 總是很明確地感受到沒經歷過的人
ironsalami:只要他沒有親身經歷過 講再多 不一樣的東西也還是一樣
ironsalami:多少個夜晚別人在推raid進度 多少可以趴著睡一下的午後
ironsalami:如果已經有知道的人能跟我提醒一下 10%也可 那多好
ironsalami:剩下的90%我願意自己去劈荊棘 自己去找路踏地圖
ironsalami:現在的人 有九成是希望一下子就無代價拿到答案的
ironsalami:而剩下一成的人 只怕是答案就放在眼前還是不肯去面對
ironsalami:因為面對它要傾覆的代價彷彿太高了
ironsalami:這就是生命中總是要面對的生之欲望 與破滅的恐懼
ironsalami:但那些東西都是虛幻的 重點是那背後究竟是如何
※ 編輯: zonhan          來自: 118.168.74.9         (04/03 01:40)

--
※ 看板: Asurada 文章推薦值: 0 目前人氣: 0 累積人氣: 100 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇