突破对话5000条限制【游泳的鱼】
最近大家修改档越来越大,对于5000条对话和事件的限制极其不满。虽然本人的windows版无此限制,但远水不解近渴。本人经过周末努力,终于解决了对话5000条限制,需要用ultraedit修改z.dat。具体修改方法如下
地址 原值 修改值
0A5B1: 70 50 0B 00 --> DC 09 09 00
0A5BA: 74 50 0B 00 --> E0 09 09 00
0A5E7: 70 50 0B 00 --> DC 09 09 00
0A5F0: 74 50 0B 00 --> E0 09 09 00
0A5F9: 70 50 0B 00 --> DC 09 09 00
26641: 74 3C --> 90 90
原理:
1。原来对话idx读到一个数组中,数组大小20000个字节,因此最多5000条对话。现在修改exe文件的重定位表,修改为读到音效占用的数组中,有65000个字节,可以16250条对话,足够了吧:-)。这种le文件格式的资料很少,只有e文的,半天才找到。
2。26641为判断是否读过idx,读过就不重复读了,这里为了保险,每次都读
我用问情篇试验成功。问情篇4997条对话,修改为超过5000后一对话就死机。用本文方法修改后正常。大家也都试验一下是否正常,尤其是5000以后的对话是否可以正常显示,这点我没有试验。还要看一下音效是否正常,因为我占用了它的空间,理论上没有问题,音效应该每次重新读的。
如果对话大家试验没有问题,下面我再看看事件限制。原理应该一样。
-----------------------------------------------------------------------------------
我在这里补充一下
其实不只可以扩充到16382个
只要在对话前调用一个事件
而那个事件就是用写内存指令把“talk.grp”“talk.idx”两个文件的名字改掉
那就可以做到无限对话了
-----------KG
[ 本帖最后由 lift_viper 于 2008-6-21 22:39 编辑 ]