分享到新浪微博 分享到QQ空间 打印

[脚本] 教你如何给大地图增加新的飞行点

教你如何给大地图增加新的飞行点

原文由Jambo51编写,我阅读了之后感觉虽然他写的很迷离,但确实见效了,于是翻译过来了,不过不是字字对译,感觉没那个必要。

这里需要注意,本文当中的重点是如何增加飞行点,我不会对一些其它提及的专业术语作出解释,所以阅读本文时,请务必注意要有足够的基础知识和改版经验。

用到的工具:
Advance Map 1.92
Hex工具,我用的是Winhex
XSE

前言:

地图上有很多个“地点”,比如1号道路、2号道路以及各个水路。当然也包括各个城镇。但并不是所有的点都可以通过飞行到达。
本文所讲述的,就是通过修改、增添数据,将原本不能飞行达到的地点,改做可以飞行达到的。而“地点”的总数是不变的。
游戏里的“地点”是有各自的编号的,当游戏碰到一个“地点”时,通过编号来识别究竟是哪一个“地点”,从而显示一些信息(比如显示“1号路”或者“真新镇”)。
游戏内部的“地点”编号只占用一个字节(00~FF),游戏本身已经用到了BB。
本文将示范,如何将游戏中原本飞行不可到达的地点,变为可到达的地点。


第一部分:增加飞行点数量上限

0xBFCB6 - 把这个数字改高,改多高你自己看着办~(新增的飞行点数量就是[你改的数量-0x14])
0xBFC7C - 同理,要加你就两个都加一样多,不过这个总比上面那个小0x1

测试ROM是否能够正常运行,如果能,备份下~

第二部分: 重定向其它数据,为新增飞行点数据腾地方

把位于0x3EEC98,长达80字节的数据表重定向到其它你认为合适的地方,而且必须以0来结尾数据。这个表的指针位于0xBFDA4。

现在再来测试ROM,如果能够正常工作,备份~


第三部分:把额外的飞行点引入地图

现在回到0x3EEC98,在那里写入类似如下格式的数据:

[地图库号][地图编号][X坐标][00][Y坐标][00][00][00]

这就是飞行点数据的结构,要给哪张地图增加飞行点,就写那张地图的对应数据。

比如如果要给1号道路增加飞行点,就要这样写:

0313090020000000

在HEX编辑器里保存,然后打开AM,转到你增加了飞行点的那张地图,如果的确出现了那个新增的飞行点,而且位置也完全正确,那么保存备份吧~

第四部分: 让游戏识别它

之前只是让这个飞行点数据出现在了ROM里,接下来我们必须要让游戏系统知道它的存在,识别它。

打开HEX编辑器来到0x3F2EE0。这里放着的是飞行点的另一组数据,它决定了飞行点是否能够主动飞行达到(有些飞行点虽然存在,可是系统将它设定为不能飞行直达,比如1号道路上就有飞行点,当你在一号道路的时候打开地图能看到主角就在一号道路,这就是因为那个飞行点被激活了,但你无法用飞技能飞到那里)。

观察一下就可以发现这里的数据都是类似于03XXXX这样的。

实际上这样的数据一共两种,其结构是这样的:
复制内容到剪贴板
代码:
03 - 意义未知,但几乎所有的

00 - 飞行点编号

01 - 未知,但如果想要让这个地点可以到达,必须似的它的值比飞行点编号大0x2。
游戏原本占用的飞行点已经占到了031214,所以新加的飞行点就要从031315开始。

打开AM的大地图编辑器,找到你要增加飞行点的地方,比如1号道路。

按照如图所示的顺序进行操作:




这里需要注意的是,flag和脚本里的普通flag不一样,而是指的worldmapflag。游戏原本的worldmapflag占用到0x1100,我们要用的话,要写0x1100以后的(比如0x1101)。


第五部分:在游戏里激活新飞行点

大家应该注意到,并不是你拿到飞行技能之后,就能飞去所有的城市,只有曾经去过的城市,才能用飞行技能达到。

这就是因为,当你走进某个城市的地图时,地图头放置的脚本激活了这个城市的worldmapflag。

我们自己新增的worldmapflag也需要有这样一个步骤。

在1号道路新建一个地图头脚本,类型选择第三种,在脚本当中要写入:
001 setworldmapflag 0x1101
002 end
点击查看原始代码
这一句。

之后进入游戏,在游戏里进入1号道路这张地图,再使用飞行就可以达到了。
附件: 您所在的用户组无法下载或查看附件


想死你们了!

TOP

是要用XSE吧,能给我个下载地址么,我找不到

TOP



想死你们了!

TOP

xie xie guan li yuan le

TOP

嗯,那个大地图一打开就一直弹出错误提示是怎么回事呢= =?
美版的好像也会
中考完毕,暑假开始。

TOP

那不是错误提示,而是告诉你有些事情是不能做的,不信你翻译了错误看看XDD
本帖最近评分记录


想死你们了!

TOP

以上的那些偏移量都是仅火红专用的吗?
闪耀吧...我的希望!

TOP

对,都是美版火红专用。
这一点是比较遗憾的……


想死你们了!

TOP

我记得AM中似乎有添加飞行点的功能……?
那个飞行点数量在事件中能修改么?

TOP

回复 楼主 liuyanghejerry 的帖子

回lz:
可以把飛行點弄再夢幻島之類的地方嗎?!
總之就是弄個飛行點到島嶼上!

TOP

这个很有用
只不过只能用在美版火红很郁闷

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

引用:
原帖由 恐怖 于 2010-2-23 09:51 发表
不行呀,一直报错,后来还死机了
我亲自试验了的,您一定是哪个细节操作有误吧。


想死你们了!

TOP

好东西~~~~支持~~~~

TOP

啊,假如界面汉化一下就更好了(我说的是am)
本人请自重!!!!!!!!!!!

TOP

太多了 看不懂

TOP

这东西真不错!!!
马上试试!!!!!

TOP

没问题,看懂了

问下飞行点地址应该怎么找,(其他汉化版的),难道真的只能用在美版火红吗,好可惜啊,我想美版能找到地址,中文版应该也行吧

TOP

多谢了,我正为添加不了飞行点而发愁呢
[img][/img]

TOP

今天不可回来,之后突然又看了下了教程,不小心把绿宝石增加飞行点的方法搞定了

TOP