绝地求生大逃杀这种带有一定的枪战题材游戏,经常会有遇到丝血打不死的状况,打中了很多枪,枪枪冒血光,可是对面就是不死,然后对方回头几枪就把自己干掉了。今天小编就为大家带来玩家“__LeGenDary_”分享的本地计算和云计算介绍,有这样疑问的玩家还不点击进来看看。
绝地求生大逃杀下载地址:http://www.cr173.com/soft/458641.html
绝地求生大逃杀打不死人怎么回事
先解释一波什么叫做本地计算和云计算:我在我上一个讲解宏和挂的区别的帖子里面已经解释过了,现在复制出来:本地计算和云计算的区别:1、本地计算:举例,你打出一发子弹,命中敌人后,由客户端计算出伤害,然后发送到服务端,服务端再发送给被打的人,这样什么高倍射速,意念秒车,秒人都是通过这样的法式来做出来。2、云计算:举例,你打出一发子弹,命中敌人后,客户端将这个事件发送给服务端,由服务端计算伤害后,发送给被打的人。所以说,你有延迟的时候,你打中敌人,看到他掉血了,其实只是你本地计算的结果,并不能说明你对他造成了伤害,具体有没有打到,只有对面知道!
疑惑一:为什么我跟人对枪打了他6枪他都不死?反而是我死了?解惑:A和B两个人对枪,假设所有子弹伤害一样,双方都是被打5枪后必死,为什么我打了他5枪也冒血了,为什么是我死了呢?结合上面的本地计算,可以知道,你在显示出打中他5枪,其实只是你本地计算的结果,他身上冒血,也是你本地计算的结果,并不能说明你打中了他,说到这里可能还没讲清楚,我来举一个例子吧,A看到自己打到了B了5枪,结果A自己死了B却没有死的原因是因为,A看到自己打中B第5枪的时候,B已经抢先打中了A了5枪,由于数据传输需要时间(毕竟我们用的是vpn),A的客户端并不能及时发现自己已经中了第5枪,在A的眼里他确实是打中了5枪,但是他其实在打中第5枪之前,自己已经死了,已经死了的人,不管他枪是打出去了,还是没打出去,都不会计算他对别人造成的伤害(游戏设定)。
疑惑二:为什么我满血一套三级能量全满,却被一枪(除awm)就打死了?解惑:这个我跟我们群的大佬今天讨论过,各有各的道理,下来分享给大家我们的说法1、依然结合上面的本地计算,例如你的身体还能承受2枪的伤害(这里不论爆头等等,就是任意部位的2枪),一个人在被子弹打中的时候,客户端的反应是:掉血,身体被打中的部位冒血,身体伤痕、枪声等等,在你被打中第一个枪的时候,客户端一切正常,掉血、冒血、伤痕、枪声。在你被打中第二枪的时候,问题就来了,一个子弹的数据包里面包括了(双方id,伤害,位置,枪声大小等等),我根据游戏过程认为是:你在被第二枪打中的时候,客户端处理数据是有顺序的,不可能瞬间将子弹的全部信息处理完毕,可能是由于客户端优先判断伤害,在判断完伤害后,客户端认为你死了,你就会出现死亡动画,后续的冒血,枪声,伤痕等等的都没计算,所以你只听到了一声枪声。2、另一种可能是,游戏在死亡判定并不像1那么简单,应该是由客户端计算出血量为0,然后发送给服务器,服务器判定你死了,在返回给客户端,客户端再出现死亡动画,但是大家肯定有疑惑了,那这样为什么我依然只听到一声枪声,解释是:多发子弹被统一计算了,可能是由于2发子弹的伤害,位置,等等信息被统一计算到一发子弹了。