dos 版的资源层面,我们已经分析的差不多了。接下来我们索性看看游戏最难触发的事件。
本系列已完结,以下是各章节说明,17 之前是 dos 版相关,之后是 2001 版:
正式游戏中,最难触发的自然是秦可卿终极事件了,这个事件宝玉会和秦一日游
想要触发这个事件,需要完成渺渺真人的寻宝任务,找到两件物品,并在接到寻宝任务的第五天,把物品交给真人。注意是第五天,而不是五天内,也不是五天后的任意一天:
// 渺渺真人寻宝任务片段
SAY 69,'渺渺真人','還有仙姑說不能告訴任何人,若說了就一切都沒用了!好了,我走了,五天後的亥時我會來這等你的。'
CLOSEPERSON
SAY 0,'寶玉','這叫我去哪找呢?'
PlayMusic 0
flag23=10
flag24=6
// 蓉珍叢 检查片段
IF flag23>=10 and flag24=1
call gev1116
exit
ENDIF
// 天数增加回调
IF flag24>0
flag24=flag24-1
ENDIF
听上去也不难对不对,因为其实这个事件的难点在于如何触发渺渺真人的寻宝任务,这个任务需要见警幻超过七次,而见警幻有些事件也非常难以达成,比如与黛玉相关的凤翔,与主线相关的猿搏,而有攻略说梦到重复的事件没用,我没有去验证是否可以梦到重复事件,但是看脚本,每个警幻梦境的触发都有不同的固定冷却计数,所有梦境冷却计数过夜会减一,导致后续不可再次触发,所以如果能达成重复做梦,那一定是同一天多次睡觉,或者梦境的前置条件可以再次满足,不然都只会发生一次,当然,如果可以发生,也是会计入见面次数,反而对玩家有利。
不过对于研究了这么久的我们来说,直接「开始游戏」时调用 gev1117
即可。
PROC GEV0101
Call gev1117
SHOWSTAFF
GAMEOVER
ENDP
这样可能会丧失游戏的乐趣,不过可以获得简单直接的快乐,起码我是没有时间和精力去一次次试错,游戏对于冷却计数过于严苛了,很多情况下,只有到冷却计数特定值才会触发事件,一旦错过,大概率需要重来。
游戏脚本用 flag99
来记录游戏的完成度,基本上每个事件后,flag99
会自增一个数值。总计 flag99
会达到 156,这个数值会在显示片尾字幕前显示。
顺带一提,游戏有 00-99 共 100 个 flag,用来记录各事件进度,冷却计数。但是系统内似乎有一个机制来保护 flag 值不会超过 100。
所以导致了一个尴尬的局面,即使玩家拿到了所有的完成度点数,也依然是显示 99,不过这是我的推测,我没有去确认这个完成度只和 flag99
有关,所以这一点有可能翻车。不过另外还有一点,修订版的片尾字幕前没有完成度的显示了,所以很可能这个问题一直都有,后面索性不修了。
我们正式可以拿到的版本有三个,1.0.0 版(光盘中的 GAME.SCR),1.0.1 版(REDP.EXE 补丁包),以及后面的 Windows 版(Red2001\Game.dat)。Red2001 的加密方式与原版不同,这点可以理解,因为如果不换换格式的话,那理论上我们拿到 win 的程序,配上 dos 的资料就可以开玩了。2001 的脚本如何解密先放一放,我们主要以 1.0.1 版为基准,比较下三者的差异,后面我们会分别称三版为原版、补丁版、修订版。
湘云事件中 if
没有对应 endif
:
鸳鸯漏了一张图:
其他有几个文字修复,所以基本上没有太多更新内容,但是原版 405kb,补丁版 408kb,为什么感觉多了很多?因为补丁版贴了一段 demo 进去:
印象中当时确实有这么一段 demo 影片,不过我没找到。可能没几个人能想到这个 demo 是游戏做出来然后录屏的,不过这段 demo 是跑不起来的,因为结局图没有这么多张,上来就是 15、16、17,就越界了。
所以为什么 101 补丁版会加上去这么一段,我有一个大胆的推测:这样显得补丁后的文件更大一点。
另外,其实 101 补丁版也没有完全解决 if
endif
的配对问题,只是 if
都配上对了,但是 endif
没有:
PROC gev0507
PlayMusic 19
SAY 0,'寶玉','迎春姊姊,是我。'
SHOWPERSON 5,0
SAY 19,'迎春','寶玉是你啊!可有遇見你姊夫?'
SAY 0,'寶玉','沒有!'
SAY 0,'寶玉','最近他沒有再欺負迎春姊姊你了吧!'
SAY 19,'迎春','他還是如此,而且最近還變本加厲了呢!'
IF skill6>250 and flag96>60
call gev0508
EXIT
ENDIF
SAY 0,'寶玉','好,我一定會為妳想得法子的!'
SAY 17,'迎春','謝謝寶玉,但你還是快點走吧!免得你又被他欺負。'
SAY 0,'寶玉','嗯!請姊姊多多保重!'
IF flag10=0
flag10=1
flag96=flag96 + skill6 / 75 +1
ENDIF
CLOSEPERSON
GOTOAREA 14
ENDIF
PlayMusic 0
ENDP
一共有三处,就不一一列出了,推测是删 if
时没有删干净。
我看到之前很多人的意见是跟原来差不多,该修的都没修,其实两者的差距还是很大的,我们一点一点分开来说:
首先最大的差别在于,修订版为文字加入了更多颜色,用于强调某些事项,原版和补丁版都是没有的。
这个算是有利有弊,利大于弊,多数时候它能帮玩家抓到重点,有时也有误导的作用,你说你老是强调进京赶考算是个什么意思。
另外一个主要差别玩家体会不到,脚本逻辑的写法有了改变,例如 and
替换为 &&
,or
替换为 ||
。
然后很多情节补上了人物头像,脚本的演出顺序也有些调整。
我试了一下,实际上这些头像 dos 版应该是有的,只是脚本君偷懒了,没有用到。
第四,很多措辞、英文标点都做了修改。
第五,调整了迎春的触发判断,但是只影响对话。
与游戏逻辑有关的调整只有这个,而且也只是修改了判断的 flag 编号,推测是之前笔误写错 flag。
也因为这是唯一一个与逻辑相关的调整,所以,黛玉、秦可卿、主线是都没有调整的,换句话说,厂商并不觉得这三个情节的触发有问题。基于这一点,我是觉得 2001 修订版应该是现存问题最少的版本,当然,除非迁移到 windows 时又引入了新的 bug,这就另当别论了。
不知不觉写多了,我们简单看了下秦的触发条件,比较了三个版本的游戏脚本,但是其实还是有很多没写进去,比如主线、警幻十梦、黛玉,站在上帝视角写攻略,感觉实在也是不同。