天天看点

宝可梦火红存档修改器

        花了好久的功夫,终于把宝可梦火红的存档修改器编完了。实现了包括训练师姓名、ID、金钱、宝可梦种族、技能、物品等属性的修改。我把宝可梦火红的GBA文件、模拟器,还有我编写的修改器都打包上传到百度网盘了。下载地址:http://pan.baidu.com/share/link?shareid=2853712096&uk=4128141257(图片问题已解决)

        开始自己只是偶然心血来潮,想玩一下小时候玩过的模拟器游戏——《口袋妖怪》(黄/红/绿)。当时是叫这么个名字,呵呵,后来一搜才发现已经改名叫《精灵宝可梦》了。然后就下载了火红版本的来玩。好像人越大,对游戏的耐心就越小了,玩着玩着就想用金手指。可惜网上的金手指怎么试都没用。。。于是我就开始搜索修改器,同样,一无所获。

        寻找各种现成的方法失败之后,一根筋的精神爆发了。。。想自己修改存档文件了。十分幸运,在http://bulbapedia.bulbagarden.net/wiki/Save_data_structure_in_Generation_III上找到了宝可梦火红存档文件的编码方式。于是开始着手编写修改器。编到后来,反而对游戏本身不怎么感兴趣了,呵呵。。。只想练习下C++二进制文件的读写和用Qt编写不规则界面。

        在实现了宝可梦存档文件的读写后,我就开始用Qt写界面。想尽量将界面写得好看一点,就参考了http://blog.csdn.net/gzshun/article/details/7592865和http://www.cnblogs.com/appsucc/archive/2012/03/14/2395657.html,学习他们做了不规则的界面,还实现了通过拖动来切换界面。总之,通过编写这个修改器,自己也学到了很多东西,得到了不少经验,呵呵。

        PS:昨天发现一个问题,在有的电脑上图片显示不出来。。。过几天修复。

        续记:图片问题几经修复了。不过拖动宝可梦页面时,被点击的那只宝可梦的背景色块去不掉~那一块的mask颜色不知取多少才能在各种系统上生效。可能还是我实现拖动效果的这种方法本身不太好吧。有想过修改下宝可梦页面的按钮控件,不过懒了,呵呵,就这样了吧。

宝可梦火红存档修改器

上图是训练师界面,可以修改玩家名字、对手名字、金钱。

宝可梦火红存档修改器

在宝可梦页面可以修改玩家队伍里的宝可梦,可以修改的属性在上图有。游戏里关于怪兽等级的算法比较复杂,所以就没有编写怪兽等级的修改。不过可以修改经验值,设置个比较大的值,修改后去战斗一下,胜利后等级就会狂涨。

宝可梦火红存档修改器
宝可梦火红存档修改器

我把雪拉比和超梦都调出来了。

宝可梦火红存档修改器
宝可梦火红存档修改器

好像因为我还没有玩到后面,所以251号精灵的编号还显示不出来。不过我试了的,可以战斗,修改的技能也能正常使用。最好还是从“宝可梦存储系统”也就是游戏里的PC里修改精灵。

宝可梦火红存档修改器

调完后在游戏中运行的画面,可以看到雪拉比和超梦都出来啦。

宝可梦火红存档修改器

添加了99个神奇糖果,嘿嘿

宝可梦火红存档修改器

宝可梦存储系统,对应游戏里宠物医院(PC)的那个可以存储宝可梦的电脑。

继续阅读