D&T修改初步探索

标签:ACG, GalGame, KEY, 智代After

昨晚玩D&T时,觉得太难测试,就找起修改器来,结果发现了h的修改方法

不过我研究了一下装备画面的代码(SEEN7230.ke),发现了这段代码:
intL[0] = intB[0 + 179 * intF[840] + 3]
goto_case intL[0] { 0: @184; 1: @185; 2: @186; 3: @187; 4: @188; 5: @189; 6: @190; 7: @191; 8: @192; 9: @193; _: @194 }
也就是说每个人实际上是179个变量,不是180个。

然后我试着把SPD改成1000,结果发现这才是最变态的改法,因为基本上你行动了10几个回合后,敌人才能行动一回合。我通关时,基本上只有蓝兽人可能会行动一步。

不过改属性就不太好玩了,我还是喜欢收集装备。
然而装备不是那么好收集的,有不少好东西是在45层以后才能打出来的(比如奥丁神枪),没有超高的运气是很困难的。
不过研究装备却麻烦得多,半天也没找到,没办法只好又查源代码了。

首先去看装备的描述,发现是在SEEN7160.ke。
然后来到物品画面,它是在SEEN7200.ke。于是在这个文件里搜索7160,查到了这段代码:
intL[10] = intL[0]
intF[710] = 28 * intF[701 + intF[700]] + intL[10]
intF[711] = intC[1450 + intF[710]]
intF[712] = intC[400 + intF[711]]
farcall_with (7160, 0, intF[712])
objShow (145, 1)
ret_with
intF[710]的生成我就不研究了,都是临时变量。
于是我来到装备画面,选定朋也的右手装备,查看intF[711],发现是12。
再看intC[400 + 12],发现是702。我把它改成701,朋也的右手武器就从妖刀村田变成天丛云剑了;改成704就变成妖刀村正了。
不过改成705就显示为无效的物品了,查看代码发现原来序号是有间断的。
然后接着把intC[413]改成704,发现又多了一把妖刀村正…
实际上intC[400]开始的都是物品,大概是按入手顺序排列的。

至于物品代码的生成,源码是这样的:
intL[0] = intL[10] / 100
intL[1] = intL[10] % 100 / 10
intL[2] = intL[10] % 10
goto_case intL[0] { 0: @716; 1: @1; 2: @12; 3: @23; 4: @34; 5: @45; 6: @56; 7: @67; 8: @78; 9: @89; 10: @100; 11: @111; 12: @122; 13: @133; 14: @144; 15: @155; 16: @166; 17: @177; _: @716 }
intL[10]就是4位的物品代码,intL[0]是千位和百位,intL[1]是十位,intL[2]是个位。
以刚才的704来举例,它们分别为7、0和4。
于是7对应@67,来到@67,代码如下:
  @67
goto_on intL[1] {  @68, @69, @70, @71, @72, @73, @74, @75, @76, @77 }
intL[1]是0,对应@68,代码如下:
  @68
goto_on intL[2] {  @355, @356, @357, @358, @359, @360, @360, @360, @360, @360 }
intL[2]是4,对应@359,代码如下:
  @359
strS[0] = 'MURAMASA BLADE!(+120)'
strS[1] = '日本刀。妖刀村正。3マス同時攻撃'
strS[2] = ' '
goto @717
装备正确找到~

不过逆算代码比较麻烦,我也懒得写程序来做了,就找几个自己感兴趣的物品:
圆月战轮 1101
奥丁神枪 940
妖刀村正 704
契约胜利之剑 563
隼之指环 1712
落荒武士的内脏 1714
魔女的内脏 1715
弱点搜寻器 1717
狮鹫之翼 1718
海星 1721
修行僧的念珠 1724
宝物探测器 1725
我觉得最好的装备是右手奥丁神枪,左手圆月战轮。刚发现修行僧的念珠效果不叠加…

0条评论 你不来一发么↓

    想说点什么呢?