一、马夫介绍
游戏共设计了8个马夫来承担马车的传送功能,其人物代码分别为:5D2B(安平镇内)、ED2C(卢龙镇北)、7230(少林寺山下城镇)、DF30(武当山下城镇)、3931(昆仑山山下城镇)、9D31(光明顶山下城镇)、4548(大都城北城)、BA4F(濠州城)。
除5D2B外,其余7个都可以进行传送。每个马夫可传送到的地点分列如下:
ED2C(卢龙镇北):060A——濠州城,010A——武当山下城镇。
7230(少林寺山下城镇):070A——大都城北城,010A——武当山下城镇,030A——昆仑山山下城镇。
DF30(武当山下城镇):050A——卢龙镇北,020A——少林寺山下城镇。
3931(昆仑山山下城镇):040A——光明顶山下城镇,010A——武当山下城镇。
9D31(光明顶山下城镇):030A——昆仑山山下城镇。
4548(大都城北城):060A——濠州城,020A——少林寺山下城镇。
BA4F(濠州城):070A——大都城北城,050A——卢龙北镇。
二、游戏实现马车系统的途径
游戏是通过剧情来实现马车传送功能的,具体来说,在游戏剧情文件flags.dat里,它用了7个剧情来实现的,用了两个剧情进行控制其开启时间的。
这7个剧情分别是:010A剧情——实现传送到武当山下城镇;020A剧情——实现传送到少林寺山下城镇;030A剧情——实现传送到昆仑山山下城镇;040A剧情——实现传送到光明顶山下城镇;050A剧情——实现传送到卢龙北镇;060A剧情——实现传送到濠州城;070A剧情——实现传送到大都城北城。
两个控制时间开启的剧情分别是:0A0A剧情——这是一个条件判断剧情,它用条件判断指令E707—1A04—01来判断是否开启马车系统的传送功能,其中1A04是明教教众进入光明顶密室的剧情,也就是说,如果该剧情未完成则不能开启马车的传送功能,如果该剧情已完成则开启马车的传送功能。
0B0A剧情——这是一个隐藏剧情,它是正式启用马车传送功能的剧情,通过调用该剧情来实现马车系统的传送功能。
三、马夫控制选项的选择
每个马夫控制的传送地点和选项都不一样,这个是怎么实现的呢?
这个就需要查看另一个游戏文件——npcdata文件,这些选项和地点及对话的控制都在此文件里,通过修改它可以实现地点的变换、选项位置的变换和对话的变化,直至实现马车系统功能的拓展。每个选项都有一个共同项,就是最后一个——没事的选项,修改此项可以在每个马夫身上增加一个传送的地方的。
四、马车系统具体剧情的编写情况
下面再具体说说010A至070A剧情的相关情况。
这7个剧情的编写结构是一样的,都是先用条件判断指令F907—E803—01,判断主角身上是否有1000两银子(E803是十进制1000的十六进制形式),如果少于1000两则不能用马车进行传送,如果大于或等于1000两则能够运用马车系统的传送功能了。
接着下面才是真正实现传送到什么地方去的关键所在,以010A为例,有两个指令:一个是F903—7D,另一个是FB03—03—06 00 11 00 05,这里的7D就是武当山下城镇的场景代码,03是长大之后的张无忌的人物代码,06 00 11是该场景下的具体坐标,05则是人物的朝向。所以通过此处的修改可以实现原来不能去的地方,比如可以去安平镇、港口等等,不过都是单趟,只能去,不能用马车回来。修改时用相应的代码和坐标替换就行了。
附:游戏中部分场景代码及具体坐标
名称 代码 具体坐标
安平镇内 6F :32 00 23 00 02
弥勒庙 71:1E 00 28 00 08
港口 BF:0A 00 10 00 06
圣地出口 BD:07 00 4A 00 04
死亡废墟村庄 23:59 00 82 00 04
蝴蝶谷口 1E:0B 00 1C 00 05
汉水渡口北 1C:1E 00 36 00 06
辽东海岸 6E:0F 00 15 00 06
雪岭 66:14 00 44 00 08
枯禅林 19:11 00 46 00 05
注:灵蛇岛、孤岛、绿柳山庄、惊神峰和朱武连环庄等几个地方是孤立的,去了出不来,故不再列。