首页 > 娱乐人生 > 游戏 > 嗯嗯,终于有研究成果了
2004
09-30

嗯嗯,终于有研究成果了

受不了了,对物品要求这么高的游戏竟然没有好的物品修改器。那个游侠的修改器要用也太麻烦,如果少某几个特定物品可以用那个改,但是。。哀哀。还是麻烦

于是乎,昨晚上一夜初步研究了一下仙三存档的物品存放。

另外说一下,好像在游戏运行时物品的个数不能通过游侠之类的修改,我用游侠V追止血草的个数都没追出来。。。气死我了

我第一次上了蜀山,身上物品一开始是4个止血草。(上来就给了3个,路上拣了一个)。于是乎,我先在道具店存了一个档,然后原地不动卖一个止血草,再存了一个档,退出了游戏。

winhex打开两个存档,比较了一下,两个存档应该只有时间、身上的钱数和止血草的个数不一样,但是,一比较竟然出来1xx个不同的地方。。汗一个。仔细找了找,只有一个是第一个档为04,第二个档为03,地址为0225Dh。。

于是转到这个偏移量,分析了一下周围的一块数据,发现了一点仙三外传的物品存放原理:他的格式好像是00 00 00 xx xx xx 00 yy yy 0z 00 aa 整个一块表示一个物品。其中xx xx xx 和 yy yy好像都是物品内部编号。。z可能为1或者0,具体规律没看出来,但是好像是装备品的z都为1,还有像烟月神镜或者烛龙内丹这样的某种攻击无效药也是z为1。但是。未经验证,不敢妄下结论

最后一个aa就是该物品的个数了。游戏中个数上限是99,就是63h,但是在这里修改是可以改到FFh即255个的。但是游戏中只要再获得一个该物品则该物品自动被置为99个。从编程分析应该是再每次获得物品是都先执行物品数=物品数+1,再判定物品数是否大于99个,如果大于就直接把物品置为99个。。至少如果是我编我就这么编^_^

于是我把身上的物品的个数都修改成FF进入游戏验证,果然,清一色255个。带着255个鼠儿果出去烧了一会法,感觉就是爽。后来为了防止物品被置为99个,我就把所有的能卖的东西都卖出去156个,身上就剩下99个,于是,现金滚滚而来。。

这样继续游戏了一会,我又存了一个档出来改,发现0225Dh处附近明显不是物品了。。也就是说,物品的存放起始位置不是一定的。。但是还好,我的第一个物品还是止血草,于是重新打开前面的档,看看0225Dh处附近的数据,发现止血草的物品代码是10AF10 00 3D18 00,全文搜索第二个档,在靠后的地方找到了,看看附近的数据,果然是物品的数据。。。

也就是说,在编写存档的物品修改器时,就不能在指定位置进行修改,而要指定身上的第一样物品,然后搜索它的代码,才能确定物品的开始地址。。这样好像会增大编程难度。。另外,游戏读取存档时应该有个值会告诉游戏物品的开始地址,也可以考虑把这个值找出来。。但是。。我不会。。

这样,仙三外传的物品数量可以通过修改存档的方法改了。由于不知道物品代码,所以没办法改物品的种类。我觉得鬼龙之舞应该知道了所有的物品代码。。考虑和他联系^_^。。其实我也能知道一些物品代码,但是。。。懒得弄了。。。哀哀

最后说一下:首先,仙三外传物品的存放好像不是按照你身上的次序排列的,好像是药品装备什么的混杂排放而不是先药品后装备。。这一点有待验证。还有,仙三外传的物品存放的空间大小不是固定的,即物品增加一样就在存档里加一个物品的代码长度,而不是像某些游戏(比如绯苍幻想曲)里面预留了所有物品的空间。这一点从仙二的物品修改器也能看出来,那个修改器也只能替换身上的物品而不能增加或减少身上的物品。可见仙剑几代的物品存储应该使用类似的原理。。。

哀哀,累死我了,不过卓有成效,现在身上烟月神镜什么的都是99个,那两本风和土的法术书我还有25x个。。真正实现了有法大家炼。(导致我现在南宫煌要烧3种法,累)而且,通过卖东西,我身上现在有7xx xxxx的现金,离大富翁的称号不远了。。不过估计我拿不到赛孟尝的称号了。。

嗯嗯,好乱的的文章,大家勉强看吧^_^希望对想玩的哥们有用。

最后编辑:
作者:龙天
匿名
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。