※ 引述《bautz (The end)》之銘言:
: 發問是想瞭解現在到底機制是怎麼判斷的
: 因為這次是沒看到對方有排名改變的字樣
: 謝謝
電梯的機制一樣沒有改喔。
以前沒有上面的倒數計時條時。
你可以有心的鎖定某人,或是打開競技場時,被人叫走所以放著。
然後在一小時之內,這畫面都不會被強制更新。
這時候在畫面上的三個人都可以任你打。
排名更新有可能是往前,也有可能往後。
只是現在多了計時條。
強制在90秒內沒有任何動作就會被強制更新。
即時你有心鎖著,或是被人叫走所以放著。
都會在三分鐘之後被刷新畫面。
所以就會延伸出以下情況的電梯。
情境一:C打B,B打A,而B的結算時間比C來得早。
這情境就會發生你文中說的,沒有說排名更新,但結算時你前進20名。
情境二:C打B,B打A,而B已經結算,此時就會跳出排名已更新。(可能往前也可能往後)
這情境就是,C在三分鐘內選定了B,而好死不死,B此時已經打完A,並結算。
就會造成排名異動。
你可以重搜再打,或是直接打下去。
所以,從以前到現在,電梯的機制沒變。
改變的只有「90秒強制刷新」這一點。
然後你只要記得。
系統的判斷很單純。
就是以時間來做為登記排名的替換。
舉個例來說。
A = 1 、 B = 7 、 C = 11。
B跟C同時打A。
C在14:59:59.5結算。
B在14:59:59.9結算。
則排名的交換順序則是。
A = 11 、 B = 7 、 C = 1。
這原理則是很像時間戳記。
因為是C比B早了0.4秒,所以系統判斷C打贏A,所以C跟A的排名交換。
而B雖然也打贏了A,但因為比C晚了0.4秒,此時A的排名已經去了11名。
因為B已經在「戰鬥進行中」,所以也不會跳出排名已更新的通知。
所以B其實打贏的是在11名的A,所以不會有排名上的更換。
如果要扯到更複雜的話。
A = 1 、 B = 5 、 C = 11 、 D = 15 、 E = 20。
B打A,C打A。
B在14:57:05結算。
C在14:59:00結算。
此時的排名則會先異動成。
A = 5 、 B = 1 、 C = 11 、 D = 15 、 E = 20。
此時的D在14:57:30看到A已經在15名,所以進場打。
D在14:59:00結算。
殊不知,E知道D是一個結算前一分鐘會打競技場的人。
所以E早早進場卡著D的結算畫面前一秒。
E在14:59:30結算。
此時的A因為在14:59:00被的究襲成功。
所以去了15名。
而D因為背刺成功,所以從15名跑到了5名。
但E在後面蓄勢待發,反刺了一波D。
所以D在14:59:30被E送去了20名。
而E就前進到了5名。
則結果就是以下這樣。
A = 15 、 B = 1 、 C = 11 、 D = 20 、E = 5。
整段舉例白話一點的例子就是。
系統判斷排名異動都是以當下你的排名跟對方的排名做交換。
你可以把0.1秒判斷成是一個格子。
這14:50:00.01這格子有收到戰鬥記錄,系統登記。
14:50:00.07這格子又收到戰鬥記錄,系統再登記。
而系統做的只有,收到戰鬥記錄,攻擊方跟防守方的排名去做交換。
就算在這0.1秒中間發生了三次戰鬥。
所以我們回到前面第一個舉例。
A = 1 、 B = 5 、 C = 11。
都是壓在14:59:99.99好了。
但系統先登記B再登記C。
就會變成A = 5 、 B = 1 、 C = 11。
反之,系統先登記C再登記B。
就會變成A = 11 、 B = 5 、 C = 1。
舉0.1可能還太快了。
當你認真想要背刺的話。
其實是可以算到14:59:59.999。
只是有沒有人先把誰打下來就不好說了。
所以現在壓這麼準,也不一定有用喔。
大GUY4這樣。
希望能幫助你,或是其它對於電梯有疑問的人可以解答。