这是游戏bug,需要修改EXE
根据教主《葵花宝典》所示
0043817B SUB ESP,10
改为
0043817B SUB ESP,14
原帖由 东方无翼 于 2005-11-30 21:37 发表
敌军、友军移动时,AI计算错误的BUG
具体的问题我也描述不清 大约就是前面的AI正好占住了后面AI最想要移动到的位置,而后面的AI不去寻找次优解反而停住不走了。
这个BUG很奇怪,原以为是逻辑上的错误。但是最终发现是栈空间出了问题。猜测是编译器的bug吧,不过光荣这段代码写的也不咋地,效率真的不高。
修改一处:
0043817B SUB ESP,14
原来是 SUB ESP,10,但是程序在EBP-10位置存储了一个关键变量(想要移动到的位置),结果在调用其它函数(实际上是递归调用自身)的时候被参数冲掉了。显然在递归进去的函数里获得的是一个错误的值。 而这个递归也就失效了。
找了将近两天,才改了一个字节。。。真是不平衡。。。