[转][顶]反透视思路:只传送可直接射杀的玩家数据到客户端。
对玩家a: 服务器计算玩家a-b,a-c之间是否有障碍物,然后传送无障碍物的玩家数据到玩家a的电脑上。这里,a-b有障碍物,a-b无障碍物,玩家A客户端只存在玩家C的位置。
关于开木仓,客户端的A点击鼠标开木仓,服务器端的A同时也开木仓,这样的话,即使A的电脑上没有B玩家,但A对着B的位置穿墙射击,玩家B会掉血的,因为在服务器上玩家A是射中了玩家B的。玩家B的电脑上的人物将会接收到服务器发来的被击中的数据。
要避免露木仓头是否要显示这样的情况的话,一个人物就要有八个坐标(头,脚,左手,右手,木仓头,背部)。
如果坐标过多会让服务器会加重服务器负担的话,可以在客户端检测。
比如,ABC都开了反透视软件,
A端检测结果:A-B不可见 A-C可见
B端检测结果:B-A不可见 B-C可见
C端检测结果: C-A可见 C-B可见
A端将告诉服务器:不要把A的位置发B
B端将告诉服务器:不要把B的位置发A
这样的,这就不是什么反作弊器了,而人物坐标保护器。
但是会不会被破解呢?比如破解后向全部敌人发送“不可见”命令以达到隐身目的。
答案是不可能的,玩家之间必然有互相可见的情况,当双方中心坐标之间没障碍物的时候,服务器收到两个玩家的应该是“可见”命令。你还告诉服务器对玩家“不可见”,不是明摆的作弊吗?
中心坐标是在服务器进行检测的。
如此一来,透视只能发生向对方露出身体或木仓`支的0.00001%~99.99999%的时候。透视的作用就大大降低了。