找回密码
 注册
搜索
查看: 3799|回复: 2

[转帖] 游戏修改教程

[复制链接]
发表于 2008-9-7 22:42 | 显示全部楼层 |阅读模式
游戏修改——图鉴篇
作者:A QQ:121737335

几乎每个游戏都有各种图鉴,要使图鉴完成率达到100%是一件非常辛苦的差事!如你要完成怪物图鉴,你就得与所有的怪物遭遇一次,并且要使用道具查看它们的属性,还要打到它们掉落道具(可能不止一件),随时会打到出事!更有一些怪物同你玩隐身,十世吾见巨一眼,我晕!几经沧桑终于100%,一个不小心丢失存档,倒!!
于是,我的工作就是在这样的历史条件下发生···

首先,我们以PS版《幻想传说》的怪物图鉴为例,选用的道具是:ePSXe1.60 + EmuCheat
打开ePSXe1.60模拟器,读入PS版《幻想传说》的ISO,选择NEW GAME,此时从未遇敌,图鉴自然是0%,但是我们没有图鉴在手,何从查看呢?不用急,ESC键暂停游戏,再打开EmuCheat,选择PS版《幻想传说》的金手指,勾选“全部道具”,然后“激活作弊码”(附图ec01)。
继续游戏,我们已经拥有所有道具了,找到“怪物图鉴”,哈!0%,连图片也没有(附图top01)。不管它,在此时来一个即时存档①(F1)。
ESC键暂停游戏,转到EC中,先禁用刚才的作弊码,以免有所影响。新建一个查找任务,图鉴占的位数不大,数据类型选8位就OK,在查找目标中输入00,查找(附图ec02)!这时查到的结果一定有很多,不管它,返回到游戏中,利用即时读档①(F3),务求使第一次遇到的敌人是同一种类(附图top02)!这次我们不要理它,逃跑!为什么呢,打开图鉴看看(附图top03)?明白了吧,这时已有刚才遇到敌人的一张图片,图鉴的值已变,还等什么,快用EC查一查不相等的数据(附图ec03)!哇,结果已少了一大半!
返回到游戏,利用即时读档①(F3),直到再次遇上同一敌人(遇到其它的敌人就读档),我们对它使用查看属性道具(附图top04),之后逃跑!打开图鉴(附图top05),显然图鉴的值又变了,再用EC查一查不相等的数据(附图ec04),结果越来越少了,继续努力!
再返回到游戏,利用即时读档①(F3),直到再次遇上同一敌人(遇到其它的敌人就读档,附图top02),我们再对它使用查看属性道具(附图top04),之后又逃跑?!当然不是了,这次要把它们打到落花流水!很幸运,它们掉下了两种道具(其实每个掉落的道具在图鉴中有不同的值,这是后话),打开图鉴(附图top06),图鉴的值再次改变,再用EC查一查不相等的数据(附图ec05),结果却没怎么改变,还有很多。唯有放弃?NO!
读入一个你玩了比较久的存档,打开图鉴,转到我们刚才查找的那个敌人的图鉴,发现与它我们刚查找过的图鉴一样,已完成了(附图top06),GOOD!立即查找相等的数据(附图ec06)!真是喜出望外,结果又少了很多!
返回到游戏,这时再即时读档①(F3),直到再次遇上同一敌人(遇到其它的敌人就读档),这次我们不要对它使用查看属性道具,之后再次把它们打到落花流水!很幸运,它们又掉下了两种道具!我们目的就是要让图鉴的值再次不等(附图top07),用EC再查一查不相等的数据(附图ec07),非常兴奋,离目标不远了!
再返回到游戏,再用类似方法查找各种不等、相等的数据(附图ec08)。很快,当结果剩下很少时(附图ec09),有可能多次查找也不能确定,我们使用“逐个锁定”的办法处理,将结果逐个“添加到表格”,但注意先不要“锁定”数据(附图ec10)。然后逐个锁定(附图ec11),即时读档①后,并同时查看游戏中的图鉴(先退出图鉴再重新打开才会生效,不能偷懒哦),直到发现——当你锁定某一个数据后,图鉴就有了(这时你从未遇敌!),恭喜!你找到了!
工作还未完成,我们要完成整个图鉴!有人即时晕倒:“天啊!游戏中有233只怪物啊,你叫我一只一只查?!那时何年何日才能完成啊!”不用愁,这时不出绝招不行了!根据观察,这些数据是连续的或是有一定的间隔。不信?你读入一个比较晚期的存档(最好是图鉴完成率很高的存档),再用“内存查看”查看刚刚查到的地址(附图ec12),没骗你吧。使用“地址偏移法”修改锁定的地址,点击“编辑”(附图ec13),把我们刚才找到的地址 087B03 修改为 087B01 (注意数据是16进制,每只怪物的图鉴相差 000001 ,搞不定就用WINDOWS自带的计算器),锁定。回到游戏中,检查图鉴的变化,直至确定图鉴中的第一只怪物的地址,原来就是 087B01 。因为在以往的游戏中知道,游戏ZG有233只怪物,233=E9(16进制),我们就用 B 码来处理它。如下:

[怪物图鉴全开]
B0E90001 00000000
30087B01 000F ——>我们如何知道数值是0F呢,又是后话。

写成EC格式,就是:

[怪物图鉴全开]
ON=B0E90001#00000000,30087B01#000F

[GameInfo]
Name=TALES OF PHANTASIA
System=PS
Text=幻想传说

加入EC中测试效果,结果并不理想(附图top08)。为什么呢?原来有的怪物的图鉴顶目多,要用两个位,我们将 000F 改为 00FF (其实不是全部怪物都如此,但是改为 00FF 是不会有影响的);而另一个问题是,完成率只有 98% ,显然要加大范围,将 B0E90001 中的 E9 逐渐改大,直至改为 EE 时,完成率 100% (附图top09)!如下:

B0EE0001 00000000
30087B01 00FF

写成EC格式,就是:

[怪物图鉴全开]
ON=B0EE0001#00000000,30087B01#00FF

[GameInfo]
Name=TALES OF PHANTASIA
System=PS
Text=幻想传说

至此,查找工作完成!

后话(附图teach)

根据观察、测试,图鉴中每项目都有一个固定的值,分别如下(注意,是16进制):

①怪物的图片,第一次遭遇该怪物后图鉴中显示,在图鉴中的值为 01

②怪物的攻防属性,在战斗中使用道具查看后才在图鉴中显示,其值为 02

③怪物第一种可能掉下的道具,第一次掉下该道具后才在图鉴中显示,其值为 04

④怪物第二种可能掉下的道具,第一次掉下该道具后才在图鉴中显示,其值为 08

⑤怪物第三种可能掉下的道具,第一次掉下该道具后才在图鉴中显示,其值为 10

如果还有第⑥项目,则其值为 20 ,如此类推,40,80。

这是16进制中最常用的1,2,4,8 码,如:①③⑤项目已出现,则图鉴中的值就等于①③⑤各项的值相加 01+04+10 = 15,如果①②③④⑤项目都已出现,则图鉴中的值就等于01+02+04+08+10 = 1F。不相同的组合绝对有不同的值!

PS 手掣的键值也是这个道理,请看:

↑ = 1000
→ = 2000
↓ = 4000
← = 8000

△ = 0010
○ = 0020
× = 0040
□ = 0080

L2 = 0001
R2 = 0002
L1 = 0004
R1 = 0008

SELECT = 0100
START = 0800

※ 要组合几个按键, 只需将那几个按键的键值相加, 所得的值就是该组合的键值!

例如:想用组合键SELECT+L1+R1+L2+R2, 就把它们的键值相加:0100+0004+0008+0001+0002=010F(HEX).

我们可以通过查这些键值查到按键的地址,配合 D码 就可以做出当按下某种给合键时,有某种效果的金手指了。

例如,我自己查了一个这样的:

[战斗中(L2+R2)立即逃出]
ON=D007F378#0003,30145A27#0080

[GameInfo]
Name=TALES OF PHANTASIA
System=PS
Text=幻想传说
 楼主| 发表于 2008-9-7 22:42 | 显示全部楼层
游戏修改——图鉴篇(续)
作者:A QQ:121737335

一些游戏的图鉴有另一种形式,不过原理还是一样的,也是用16进制的1,2,4,8 码,不过其值的设置方法有点不同,它是这样的:

①编号NO.001的怪物在图鉴中的值为 01 ,编号NO.002的怪物在图鉴中的值为 02 ,编号NO.003的怪物在图鉴中的值为 04 ,编号NO.004的怪物在图鉴中的值为 08 ,编号NO.005的怪物在图鉴中的值为 10 ,编号NO.006的怪物在图鉴中的值为 20 ,编号NO.007的怪物在图鉴中的值为 40 ,编号NO.008的怪物在图鉴中的值为 80 ,如果你在游戏中与这8只怪物都遭遇过一次后,图鉴所对应的内存地址的第一个地址便等于这些值之和,即:01+02+04+08+10+20+40+80 = FF ,此值便占用了一个字节。而编号NO.009的怪物在图鉴中的值为 01 ,编号NO.010的怪物在图鉴中的值为 02 ,···如此每8个重复一次,而内存地址每次要加一个字节。如果游戏中有240只怪物,则要占用 240÷8=30(字节)。此为图鉴占用内存地址的第①部分。

②编号NO.001的怪物第一种可能掉下的道具在图鉴中的值为 01 ,编号NO.002的怪物第一种可能掉下的道具在图鉴中的值为 02 ,编号NO.003的怪物第一种可能掉下的道具在图鉴中的值为 04 ,编号NO.004的怪物第一种可能掉下的道具在图鉴中的值为 08 ,编号NO.005的怪物第一种可能掉下的道具在图鉴中的值为 10 ,编号NO.006的怪物第一种可能掉下的道具在图鉴中的值为 20 ,编号NO.007的怪物第一种可能掉下的道具在图鉴中的值为 40 ,编号NO.008的怪物第一种可能掉下的道具在图鉴中的值为 80 ,如果这8只怪物都掉下过第一种道具后,图鉴占用内存地址的第②部分的第一个地址便等于这些值之和,即:01+02+04+08+10+20+40+80 = FF ,此地址与①中所述的第一个地址会相差一个固定的值(16进制,不同的游戏此值不一定相等)。类似①,每8个重复一次,而内存地址每次也要加一个字节。如果游戏中有240只怪物,则又要占用 240÷8=30(字节)。

③如果怪物们还有第二种、第三种···可能掉下的道具,则图鉴还要占用内存地址的第③部分、第④部分···而且各部分第一个地址的间隔一般是相等的。

顺序拼合各部分,便完成修改!“恶魔城 - 晓月圆舞曲”便是一个典型!看:

第①部分:
[第一次遭遇]
ON=13394,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF

第②部分:
[第一种可能掉下的道具]
ON=133A4,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF

第③部分:
[第二种可能掉下的道具]
ON=133B4,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF

合成后:

[怪物图鉴全开]
ON=13394,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF;133A4,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF;133B4,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF

类似的游戏有“口袋妖怪·金/银/水晶”、“恶魔城 X - 月下夜想曲”、“恶魔城 - 白夜协奏曲”···
 楼主| 发表于 2008-9-7 22:42 | 显示全部楼层
游戏修改——遇敌率篇
作者:A  QQ:121737335

    有些RPG游戏,遇敌率之高,可以用“恐怖”来形容,令人感到自己不是在玩游戏,而是在被游戏玩!但是总会有一些玩家,为求通关,不断在重复着同一动作···而还有一些玩家,总是想尽一切办法,力求以最低的等级通关···解决以上问题最简单的方法,当然就是修改游戏中的“遇敌率”!

    首先,我们要搞清楚“遇敌率”的特性。不难看出:

①在不会出现敌人的城(村)里,“遇敌率”都是 0 (相等的)。但是要注意:我们不能因此就肯定“遇敌率”相应的内存地址此时数值就是 0 。

②在迷宫里的同一版面,“遇敌率”一般都是相等的。

③在大地图上与在迷宫中的“遇敌率”一般是不相等的,甚至大地图上不同区域的“遇敌率”也不相等。

④在不同的迷宫中,“遇敌率”也可能不相等。

⑤绝招!在游戏中任何一点站住不动,其“遇敌率”绝对相等!

    鉴于“遇敌率”的种种特性,要使它现身就只能用“模糊查找”了。我们可以按照以下的步骤进行:

⑴在不会出现敌人的城(村)里,新建一个搜索任务,“遇敌率”占用的内存地址不大,数据类型一般选8位就OK。在城(村)里周围走走,也可以进入某间房屋,查找“相等”的数据,最好多查找几次,相信已经除掉了不少“绊脚石”。

⑵出城(村),来到大地图上,立即查找“不相等”的数据;原地不动几秒后,再查找“相等”的数据;返回城(村)中,查找“不相等”的数据。如此一来,又可以除掉了不少“杂草”。

⑶再出城(村),进入另外一个不会出现敌人的城(村),查找“相等”的数据,在城(村)里周围走走,也可以进入某间房屋,再查找“相等”的数据,最好多查找几次。

⑷重复步骤⑶,最好游戏中每个城(村)都去一次,结果应该剩下不多。

⑸从城(村)中出来,在大地图上先不要查(因为我们不清楚在此游戏中,大地图上与将要进入的迷宫里的“遇敌率”是否相等),进入一个有敌人出现的迷宫,查找与城(村)中“不相等”的数据;原地不动几秒后,再查找“相等”的数据。

⑹重复步骤⑸,进入游戏中不同的迷宫。对于很多游戏,来到此步时目标早已经查出,若未能确定,请尝试下一步!

⑺在游戏的不同时期,最好能找到游戏中后期的存档,读入此档!重复任意步骤,都会有意外惊喜!

⑻如果确实到了绝境(多次查找也不能确定),此时结果应该不会剩下很多,我们唯有使用“逐个锁定”的办法处理。进入某个不会出现敌人的城(村)[最好能在此处存一个即时存档,试过你就知道原因了],“刷新”一下结果的数值(其中的某个就是“遇敌率”为 0 时的值),然后将结果逐个锁定。直至发现——当你锁定某一个数据后,出城(村),却再也碰不到敌人(发生战斗)···不用说了吧! ^_^

※ “逐个锁定”法还有一个技巧,就是一次过锁定一半的结果(如有10个就先锁5个,有9个可以锁4或5个,半数左右就行),如果条件成立,即达到了如“不遇敌”等效果,就可以删除没有锁的结果,再对这些结果使用“逐个锁定”;如果条件不成立,没有效果,就可以删除这些锁定的结果,再对未锁定的结果进行“逐个锁定”。这样,一次就可以去掉一半的“杂草”,很快就解决问题了!

    此法适用于绝大多数的RPG游戏(不能说全部,毕竟我没可能全部游戏都玩过)!

    有些游戏的“遇敌率”不止一个,《口袋妖怪》系列便是一个典型的例子!此游戏中,每个会遇敌的区域,都有两个以上的“遇敌率”,它是针对每一只“口袋妖怪”的,因为每只“口袋妖怪”在不同的区域的出现机率都不同!

※ 值得一提的是,很多人把“遇敌步数”与“遇敌率”混为一谈。这是两个完全不同的概念:

[遇敌率]
    发生随机战斗的概率,“遇敌率”为 0 时不会发生随机战斗。

[遇敌步数]
    离下一场随机战斗发生的步数,其值由“遇敌率”与一个随机数按照游戏系统设定的公式计算出来,每场随机战斗结束后,游戏系统会刷新一次这个数值。因为公式中有一个是随机数,所以这个“遇敌步数”的值会在一定的范围内变动!这样大家应该明白,为什么每次随机战斗发生的间隔都不一样了吧。

    一般,“遇敌步数”的值会以倒数的形式进行,当倒数到 0 时就会发生随机战斗!我们可以通过“模糊查找”找到此址(数据类型可能是16位),将其锁定在某一数值,也就不会发生随机战斗了,从而也达到了不遇敌的目的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|虎纹猫家园

GMT+8, 2024-12-12 08:42 , Processed in 0.046600 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表