很想知道游戏中的人物行走是受客户端还是服务器控制的。想请问怎样用人为方式(如外挂)控制人物所在位置,我试过直接给服务器发送行走命令,服务器也正常返回数据,可是游戏中的人物就是不改变位置,但是有些外挂就能实现人物行走功能,请问高手这是怎样实现的?游戏中显示人物走路的相关函数是哪些?

解决方案 »

  1.   

    先感谢楼上两位lidongri(海浪 源码之前了无秘密)
    与游戏,版本等有关
    毕竟每个游戏的入口,函数,参数,句柄都不一样--怎样能找到这些函数呢?有什么好的方法没?
    warrior740(学习中进步) 
    试试发鼠标点击事件--发送鼠标消息的方法有点不妥吧,如果玩家切换出游戏,再发送鼠标消息岂不是会出问题?另外,大多数的外挂实现走路功能时,都有"跳格"的现象,既跳着走,而不是直接用鼠标点击走路那样平滑,显然,那些外挂没有采用发送鼠标消息的方法.
      

  2.   

    原先大家都是让客户端来控制的
    可是有了外挂之后,让客户段来控制就不让人放心了,
    就成了客户段发送,服务器进行逻辑验证的方式了,但是服务器的能力也是有限的,不可能一一去验证
    有些外挂利用了这个特点,可以跳格,但是不可能从这个屏幕跳到那个屏幕吧(除非SERVER不判断)
      

  3.   

    比如说,你走过去,客户端显示你是过去了
    但实际上未必
    由于服务器跟客户段有LAG,客户端不能总是等到ACK回来才让走吧
    那样用户体验也太差了
    再有你可能跟别人碰到一起,这也是服务器才能做的事
    所以让你先走过去,但如果你走的不正确,再让你退回来
    基本上90%以上你都能走过去
    所以感觉没什么前提1:客户端允许你走过去
    前提2:服务器同意你通过
    然后你的位置就改变了,并广播出来