雷扎特-瓦雷斯 发表于 2009-7-30 12:42:51

请教下一个修改问题~~

各位达人~~请教个问题~~怎么修改RPG和SLG游戏获得经验值加倍??

shinwa 发表于 2009-7-30 17:14:36

搜索 每次得到经验的地址
下断
写程序 得到的值 左移几次

nianxu 发表于 2009-7-30 19:05:18

原帖由 shinwa 于 2009-7-30 17:14 发表 http://bbs.emu618.com/forum/images/common/back.gif
搜索 每次得到经验的地址
下断
写程序 得到的值 左移几次


问题是每次得到的经验不一样。

湘西小人物 发表于 2009-7-30 22:51:26

这方面得好好学习

yzb 发表于 2009-7-30 22:59:24

每次升级的经验是固定的吧,把改成1EXP就可以了~

银河漫步 发表于 2009-7-31 08:53:40

代码插入

将得到的经验的程序假如一个左移代码

左移一位就是两倍,二位就是四倍

湘西小人物 发表于 2009-7-31 09:34:42

FC和MD的左移代码是什么呢:loveliness:

shinwa 发表于 2009-7-31 19:41:35

原帖由 nianxu 于 2009-7-30 19:05 发表 http://bbs.emu618.com/forum/images/common/back.gif



问题是每次得到的经验不一样。

不一样才好搜索到地址啊
下断后 直接移位就行了写程序的时候 不需要知道得到了多少经验

shinwa 发表于 2009-7-31 19:42:11

原帖由 yzb 于 2009-7-30 22:59 发表 http://bbs.emu618.com/forum/images/common/back.gif
每次升级的经验是固定的吧,把改成1EXP就可以了~
说的是 打怪得到的经验 不是下次升级需要的经验值

shinwa 发表于 2009-7-31 19:42:46

原帖由 湘西小人物 于 2009-7-31 09:34 发表 http://bbs.emu618.com/forum/images/common/back.gif
FC和MD的左移代码是什么呢:loveliness:
指令集 查一下就知道了
不用移位 用加法也可以多加几次~~

雷扎特-瓦雷斯 发表于 2009-8-2 21:52:11

一头雾水~~完全不明白……:L

看来不是我OUT了就是我老了……:hug:

话说两位~~这个需要什么软件吗?

银河漫步 发表于 2009-8-3 09:22:39

原帖由 雷扎特-瓦雷斯 于 2009-8-2 21:52 发表 http://bbs.emu618.com/forum/images/common/back.gif
一头雾水~~完全不明白……:L

看来不是我OUT了就是我老了……:hug:

话说两位~~这个需要什么软件吗?


你是OUT了
软件多了去了
实用的比如CheatEngine
这个适合大多数普通用户使用
里面会把程序Debug为80x86的代码

不过我估计你是想改NDS游戏
这个如果用CheatEngine来改的话要自己计算下相对地址
因为找出来的会是绝对地址

湘西小人物 发表于 2009-8-4 00:57:29

楼主老雷同志要改什么游戏呢:P

雷扎特-瓦雷斯 发表于 2009-8-7 12:04:53

我想了解这种修改方法~~可以修改一些RPG的游戏

shinwa 发表于 2009-8-7 19:36:58

修改方法就是
1.先用内存搜索工具搜索关键内存 如果是PC游戏 可以用金山游侠 GM8等工具,如果是模拟游戏可以用EMU CHEAT 搜索,这个内存就是根据每次得到的经验的不同去搜索这个变量(内存)
2.找一个调试器,PC的话我没用过不知道,模拟游戏的话就百度搜索XX调试器下载,比如GBA调试器下载或者 GBA DEBUGGER下载
3.找到后用调试器下断(break point)断写入,输入的地址就是你用内存搜索工具搜到的地址,至于调试器的使用方法,那得自己去研究了
4.设置好断点后,进入游戏去打怪,当得到经验值的时候游戏会暂停,因为这个时候会有一条指令对该内存有写入,然后看程序,在写入之前跳转出来,自己写一段程序,如果是PC游戏,那就去熟悉下80x86汇编指令集,如果是模拟游戏,那就去熟悉下对应的指令集,比如GBA是 ARM
街机是68000,FC是6502
程序的写法就是 在这个经验值数据写入内存前 左移几位就可以了,也可以用乘法,然后跳转回去就可以了。


既然你问的是方法,所以详细的程序我就不写了,反正就是这个思路了~~
页: [1]
查看完整版本: 请教下一个修改问题~~