搜索
 找回密码
 加入

我对《骑士OL》一些BUG的分析(原创)

llpku 2007-5-17 10:41:32 6930
不一定对哈,因为我对于内核也不是很懂。。
1.复制问题,这个问题好像在SQL数据库的游戏中普遍存在,不知道别的,MU私服我也做过,是SQL数据库,也存在复制问题,骑士OL,也是SQL数据库,存在复制问题。我想,会不会是SQL数据库本身的问题导致的呢?传奇用的是DBC,好像没存在这个问题。。还有一个可能,就是服务器和客户端之间的数据交流环节存在问题,所以导致会出现这个问题。不过,我认为,无论是什么复制方式,如果你不小心把母本和复制产物放在一起了,很不幸,你可能这个号就废了,一开就报错,然后就等着GM删你号就行了。因为骑士复制是通过玩家复制的,所以基本没有可能出现2个同时在一个人身上。。我没在骑士里复制过(关键是不会。。),但是我在MU里复制过,两个放一起,如果是仓库,那就打不开仓库,在身上,物品栏就开不开!除非把其中一个删掉,或者一个身上一个仓库。因为这两个物品在SQL中的标号是一样的,系统会报错。
2.AK问题。这个按理说应该是sohu本身搞的。会编程的人都知道,变量。对,骑士也是这样,必须要在客户端的内存中申请一个地址存放玩家各种信息,比如,血,蓝,攻击输出。注意,这里要说的是,客户端向服务器主动输出数据的:比如,你释放魔法,导致蓝减少,由于客户端到服务器的数据要先在本地存放一段时间才会接着向服务器发送,虽然时间很短,但是对于电脑来说可以做很多事情:通过软件把内存中存储蓝量的数据修改成某个值,那发送到服务器的信息也是这个值,你的蓝就不会少了,这个也是金山游侠可以用的原因。而客户端被动接受服务器输入数据的,比如:你被攻击,导致血变少了,对不起,这个是不能更改的,因为事先不经过你的内存变化。。
所以,我推断:玩家的攻击力可以改,因为这是你主动向服务器传送数据包,可以在技能放出但是伤害数据没有发出的时候,修改一下然后传送假的数据包给服务器,如果足够变态的话,任何玩家或者怪物都可以一击秒杀!哪怕你是1级,他是80级!
其余主动发送数据包的都可以修改,比如武器升级成功与否。我认为,服务器不可能对每个升级都管,只是让客户端去判断,概率为一个一定范围内的随机数,如果你知道这个随机数的变量名,恭喜你,你可以成功率100%的升级武器了,我想,这也是所有游戏都不允许修改客户端的原因!
3.死了刷高卷的问题,这个其实最容易解决,绝对是程序本身问题,如果设定死了之后,一旦按了重生否定之后,屏幕对鼠标事件不响应即可。
以上纯属自己的推断,因为这几天在研究程序开发,所以偶然想到的,不对的大家不要笑话。


[ 本帖最后由 高手飘过 于 2008-4-26 20:48 编辑 ]

评分

2

查看全部评分

29 回复

再卡就不玩了
2007-4-8 11:28:30
点击查看详情
日字太小了重写
ctgwglzc
2007-4-8 11:36:14
说的晚了点儿,呵呵,看了你的文章我想只要是SQL高手的话在骑士中冲准备搞外挂都是很容易的
llpku
2007-4-8 11:39:50
楼主
其实。。。刚玩骑士的时候,偶就打算发动偶的那群哥们搞外挂,哈哈
nxfyyl
2007-4-9 14:18:55
哥么你想简单了,以前能改是因为你开的SF的服务器就在你机器上,你改的数据库也是服务器的数据库,单靠客户端是改不了的.
ynlczzx
2007-5-5 12:40:37
你们加油!我不懂哦!``
公子づ风
2007-5-9 14:58:31
看不懂`````就算看懂了也诶用````
45436348
2007-5-11 19:12:10
哇,又碰见一电脑高手哇
Guinness
2007-5-17 09:01:04
看明白了
就是不会
公子づ风
2007-5-17 10:41:32
...这东西是高科技``我搞不来``
123下一页
高级模式
游客