写这东西没有任何目的,只是总结自己学到的东西,因为写博客能检验自己学到的东西到底有多少成分,有哪些不足的地方:
我们知道,属性卷轴的物品ID是100171,它是唯一一个可以用来洗属性的物品,那为什么会是唯一呢,通过跟其它属性的物品对比,可以发现,它的special字段是62,那么可以猜想,程序肯定是通过这个字段来判断其物品是否可用来作为洗属性的一个消耗品
如此一来,如果要添加"特定属性卷轴"和"超级属性卷轴",只要在这个字段上下文章就行了,在添加其它物品的时候只要其special通过了验证,其在程序里自定义一段语句根据special的字段不同从而洗出不一样的属性,洗出自己想要的属性,那么一步就是:
一、找出判定special的语句并修改弄(这里还有另一种办法就是修改special字段值,重新开游戏,看看哪个数字改变了的,也能很快定位)
(1)找出属性卷轴100171在内存里的special字段偏移量
直接通过CE搜索属性卷轴
搜索出来的结果只有2个,那么看看第一个
,很顺利,在后面的地方找到了"3E",我们知道其十进制就是62,正好是其在数据库里的special字段值
(2)定位判断special的汇编语句
那么接下来把其地址复制到框里,然后右键“找出是谁访问了这个地址”,接着在游戏里洗一次属性,结果会出现下图访问地址
(3)修改语句
这里要修改的话很简单,只要在上面添加对其它special数值的判断就行了,CE修改脚本如下,这里我准备设定90-98为指定属性修改,99为超级属性修改