絕地求生大逃殺這種帶有一定的槍戰(zhàn)題材游戲,經常會有遇到絲血打不死的狀況,打中了很多槍,槍槍冒血光,可是對面就是不死,然后對方回頭幾槍就把自己干掉了。今天小編就為大家?guī)硗婕摇癬_LeGenDary_”分享的本地計算和云計算介紹,有這樣疑問的玩家還不點擊進來看看。
絕地求生大逃殺下載地址:http://elephantinaurance.com/soft/458641.html
絕地求生大逃殺打不死人怎么回事
先解釋一波什么叫做本地計算和云計算:我在我上一個講解宏和掛的區(qū)別的帖子里面已經解釋過了,現(xiàn)在復制出來:本地計算和云計算的區(qū)別:1、本地計算:舉例,你打出一發(fā)子彈,命中敵人后,由客戶端計算出傷害,然后發(fā)送到服務端,服務端再發(fā)送給被打的人,這樣什么高倍射速,意念秒車,秒人都是通過這樣的法式來做出來。2、云計算:舉例,你打出一發(fā)子彈,命中敵人后,客戶端將這個事件發(fā)送給服務端,由服務端計算傷害后,發(fā)送給被打的人。所以說,你有延遲的時候,你打中敵人,看到他掉血了,其實只是你本地計算的結果,并不能說明你對他造成了傷害,具體有沒有打到,只有對面知道!
疑惑一:為什么我跟人對槍打了他6槍他都不死?反而是我死了?解惑:A和B兩個人對槍,假設所有子彈傷害一樣,雙方都是被打5槍后必死,為什么我打了他5槍也冒血了,為什么是我死了呢?結合上面的本地計算,可以知道,你在顯示出打中他5槍,其實只是你本地計算的結果,他身上冒血,也是你本地計算的結果,并不能說明你打中了他,說到這里可能還沒講清楚,我來舉一個例子吧,A看到自己打到了B了5槍,結果A自己死了B卻沒有死的原因是因為,A看到自己打中B第5槍的時候,B已經搶先打中了A了5槍,由于數據傳輸需要時間(畢竟我們用的是vpn),A的客戶端并不能及時發(fā)現(xiàn)自己已經中了第5槍,在A的眼里他確實是打中了5槍,但是他其實在打中第5槍之前,自己已經死了,已經死了的人,不管他槍是打出去了,還是沒打出去,都不會計算他對別人造成的傷害(游戲設定)。
疑惑二:為什么我滿血一套三級能量全滿,卻被一槍(除awm)就打死了?解惑:這個我跟我們群的大佬今天討論過,各有各的道理,下來分享給大家我們的說法1、依然結合上面的本地計算,例如你的身體還能承受2槍的傷害(這里不論爆頭等等,就是任意部位的2槍),一個人在被子彈打中的時候,客戶端的反應是:掉血,身體被打中的部位冒血,身體傷痕、槍聲等等,在你被打中第一個槍的時候,客戶端一切正常,掉血、冒血、傷痕、槍聲。在你被打中第二槍的時候,問題就來了,一個子彈的數據包里面包括了(雙方id,傷害,位置,槍聲大小等等),我根據游戲過程認為是:你在被第二槍打中的時候,客戶端處理數據是有順序的,不可能瞬間將子彈的全部信息處理完畢,可能是由于客戶端優(yōu)先判斷傷害,在判斷完傷害后,客戶端認為你死了,你就會出現(xiàn)死亡動畫,后續(xù)的冒血,槍聲,傷痕等等的都沒計算,所以你只聽到了一聲槍聲。2、另一種可能是,游戲在死亡判定并不像1那么簡單,應該是由客戶端計算出血量為0,然后發(fā)送給服務器,服務器判定你死了,在返回給客戶端,客戶端再出現(xiàn)死亡動畫,但是大家肯定有疑惑了,那這樣為什么我依然只聽到一聲槍聲,解釋是:多發(fā)子彈被統(tǒng)一計算了,可能是由于2發(fā)子彈的傷害,位置,等等信息被統(tǒng)一計算到一發(fā)子彈了。