jiangzhengwenjz 发表于 2015-3-5 22:49:46

【手记】无玩家剧情&其他

本帖最后由 jiangzhengwenjz 于 2015-3-6 17:56 编辑

最近突然想做这个,于是今天花了一刻钟仔细查看了black dark的初始地图的地图头脚本,发现不止学到了这个,拿出来开个贴记录下。(此方法不涉及OW变换,否则就太简单了)

由于版权问题我不放出整个的脚本段了,要看可以自己去ROM里看。主要谈大体思路&值得学习的地方。

开头是简单的checkflag跳转不多说了。(为什么要设置这个呢?因为作者一会儿又用到这个地图。)

接下来就是实现无玩家的重头戏。

首先观察玩家初始坐标。

引用karatekid发现的数据:
X-coordinate = 0x054A08
Y-coordinate = 0x054A00
查看之,发现是 (09,0F)(均为hex形式)
注意到这超出地图范围6个地图块,而边缘地图块是完全黑色
由此可知,玩家开始就会处于黑暗中(注意没法显示到上面的实质性地图块)

然后,fadescreen 0x1为之后的动作打掩护

然后是向上移动屏幕,到入口那里
要点:注意此时special 0x113没有special 0x114解冻,因此除非人为使用move_camera脚本,屏幕都不会动。(可加以利用)

OK,既然已经到了既定位置,自然是回复之前屏幕变黑的效果了(注:声音等效果暂且无视)

短暂暂停后迅速把火箭队员移到入口处(貌似可能不是火箭队,但我看不懂= =)

后面这段比较基本,稍微记录下亮点:

使用同一段移动方案,节约空间。
注意没有waitmovement,从而把主角移动到指定位不会穿帮。
利用spriteface,比applymovement节约空间。
然后关电视那个还不错,可以借鉴下。

。。。。

注意这里有个
setvar 0x4054 0x31
这个用于切换OW,参数是OW编号,不可利用,无视,warp后生效(熟悉的童鞋可以看出这里其实利用了JPAN的hacked engine的ow hack)

然后直到warpmuted,这是个实用的命令,无声音的特性很值得利用

然后脚本跳入之前的分支,唯一值得注意的命令
writebytetooffset 0x70 0x4000012
用于把对话框移到最上面。

要点:参数可自定,比如0x20的情况
http://i58.tinypic.com/4j59g8.jpg
可以看到内存中相应位置写入了0x20(其实就是I/O中)
http://i58.tinypic.com/2dc63b7.jpg
如何回复?改成0x0,依然是利用wbto命令(我测试了下应该是没啥问题)

然后就跳转了,到新地图无甚特殊之处。

完,如有错误望批评指正,不胜感谢。

a8136768 发表于 2015-3-6 02:50:39

非常感谢

赤色彗星 发表于 2015-3-6 20:38:34

顶个,这样的技术贴真是很了不起的。
别说我那改版区没有这样的技术人才了,连攻略都很少有人做。
国内喜欢玩外文改版并有研究的人太少了。
能深入研究改版和相关技术的更是少之又少。

jiangzhengwenjz 发表于 2015-3-6 21:12:25

赤色彗星 发表于 2015-3-6 20:38
顶个,这样的技术贴真是很了不起的。
别说我那改版区没有这样的技术人才了,连攻略都很少有人做。
国内喜 ...

哈哈,其实这些就改版而言是极为基础的,称不上什么技术
我觉得你们那边改版区藏得真心太好,老实说之前我根本不知道KD8有改版区的说。。。本来以为改版区和各个游戏版本的专区应该是平行的
话说暗大在你们那边当版务?

赤色彗星 发表于 2015-3-6 23:01:40

jiangzhengwenjz 发表于 2015-3-6 21:12
哈哈,其实这些就改版而言是极为基础的,称不上什么技术
我觉得你们那边改版区藏得真心太好,老实说之前 ...

藏的确实很好,不过我也没办法把它变出来,只能暂时如此了。
暗夜是贵宾,属于顾问的性质。
因为我们版块发展实在不景气,他也很少来了。

米米尔 发表于 2015-8-30 18:01:17

{:5_doge03:}这个无玩家剧情终于找到了
不过……其实放出原脚本会比较方便……
页: [1]
查看完整版本: 【手记】无玩家剧情&其他