《魔塔》修改攻击防御数值与开门判断
本帖最后由 浅陌聊清歌 于 2018-5-7 11:38 编辑在看过大佬发过的魔塔修改内购之后自己尝试了一下啊,发现可以在攻击防御的获取函数上和开门的判断上做手脚。
入门小白,大佬们表喷。首先还是把内购修改一下,以便于后面测试使用。这里我是直接修改内购的游戏币判断,大佬的那一篇是修改的支付宝判断。搜索“魔币不足”
转换Unicode后搜索将if判断对应的smail代码删除。
因为一共有7个内功功能
所以共有7条判断语句需要删除,分别为:
重新编译安装测试一下内购已经修改好了,所有东西都买了一个。
我在修改内购中购买攻击和防御这两个选项的时候就在想,每次最多只能增加10点攻击和20点防御,这样有点太慢了,于是便想要修改一下增加攻击和防御的函数(攻击和防御函数结构一样只是命名不同,这里只说攻击的函数)打开java源码后找到调用函数的位置
看这两个函数后跟着的变量分别是10和20,那么其实可以修改这里变量的值(这里十六进制的10和20可以直接修改成其他数值),但是我准备直接修改函数。
点进增加攻击的函数
第一个为增加攻击,第二个为增加防御,两个函数除了命名外都相同。看到localGameMain.damage+= paramInt;这一行,一个加法,也就是我们需要做修改的位置,这里的paramInt为调用函数时传过来的参数,也就是10。找到对应的smail代码。
(位置在smail/com/cyanflxy/b/game/a.smail)
看到add-int/2addr v1,p1这一行,这里的v1为当前的攻击数值,而p1为增加的攻击数值,那么我们要在这一行之前对p1重新赋值,这里我修改为100,注意要转换成16进制数。
重新编译安装测试一下。
攻击和防御都增加了100,看来是成功了。这个时候又出现了一个问题,虽然在内购商店中可以无限的购买钥匙,但是一次只能购买一把,而每一层都需要钥匙。如果每一种钥匙都买50把又太麻烦,虽然可以修改传入的参数,但是在攻击和防御这里已经修改过了,于是便想到打开门的这个函数中去看一看有没有可以利用的。于是我在攻击和防御的同一个文件中找到了这样一个名为openDoor的函数,从命名上来看,就是我要找的打开门的函数了
在第17行看到了一个减法运算this.main.keys.put(paramImageInfoBean,Integet.valueOf(i-1))每开一个门都会消耗一把钥匙,这个位置应该就是用来判断是否可以开门的了。找到对面的smail代码,文件与攻击函数是同一个文件。
找到减法的位置,在其上面有一个if判断,这里是用来判断能否开门的,如果可以开门,那么钥匙数量便减去1首先要把判断删除掉,这样不管有没有钥匙就都可以开门了重新编译安装测试一下
没有拾起钥匙但是可以打开门,开门后钥匙为-1,已经成功了。
忘记贴源程序了,补一下。
链接:https://pan.baidu.com/s/1MBM0V5u5cUERDbvUMtJFXQ 密码:t13g 浅陌聊清歌 发表于 2018-5-7 17:00
就是现在能搜的到一款魔塔不过这个和小时候玩的不一样咱记得之前还玩过一款是小时候玩过的 但是现在找 ...
别小了~~~小时候是啥时候,我今年才十八~~
——来自永远都十八的新时代四有青年~~~~~ While_Shark 发表于 2018-5-7 15:28
这是哪一款魔塔?
就是现在能搜的到一款魔塔不过这个和小时候玩的不一样咱记得之前还玩过一款是小时候玩过的 但是现在找不到了 思路很好!感谢分享。 好详细的哟,楼主辛苦了 我想问下这个是什么工具 郁闷一夏 发表于 2018-5-7 11:23
我想问下这个是什么工具
APKIDE 改之理 我用的是七少月版的 我整理一下源程序把分享贴出来 先下载下来 玩一下 感谢技术大佬的分享,这游戏看着年代好久的样子 下来玩玩玩试试! 感谢分享,楼主辛苦了