[原创]国际版沙漠bug分析与实现方法

2003-06-21 12:47 | Paine_FF

现在剖析一下国际版沙漠bug,让大家实现起来方便一些。起初看了精华的文章还不清晰,后来自己试验了一下,才明白过来。以下内容包含:BUG出现的原因(表面上或程序上)和BUG实现的具体步骤(通俗些的).只是为了看实现方法,不喜欢看分析原因的,直接跳到文末。

BUG出现的原因:

简单地说就是“两个响应条件同时达成,导致触发两个响应条件的结果”。

先看下图,两个圆圈是两个albehd族人,方块1与横线是,事件1的响应条件;方块2,方块3分别对应事件2,3的响应条件。



事件1:两人说:“THERE IS NOTHING!…………WE STILL HAVE BILIZIL BALL YA?”
响应结果为:话说完之后,tidus被强制退出沙坑。
触发条件为方块1:当tidus越过方块1对应的横线,事件1触发。

事件2:左边的人说:“DON’T LOOK AT ME !”
触发条件为方块2:站在方块2触,按确定键(与左边的男人对话)
响应结果为:话说完之后,tidus自由行动

事件3:右边的人说:“XXXX !”
触发条件为方块3:站在方块3触,按确定键(与右边的男人对话)
响应结果为:话说完之后,tidus自由行动

BUG:和其中一人对话,他回话(事件2,事件3),同时触发事件1;响应结果为:事件2,3的话说完之后,tidus自由行动。而此时事件1的话正在发生(也就是事件1条件已经触发,等待事件1的话结果,才能响应事件1的结果)。换句话说,如果事件1的话没有结果,那么事件1的响应结果是不会出现的,也就是不会强制让tidus推出沙坑。而tidus又还能自由活动,所以,tidus在此时直接通过两人,到达后面的home。

SQUARE程序上的漏洞:由于日版中,“tidus被强制退出沙坑”的响应条件并不是设置在事件1中,而是直接设置在事件2,3中。后来国际版加入暗黑,才出现响应条件重合的而导致BUG。

具体步骤:
先走到其中一人前面,不要出发事件1。此时按确定,让事件2,3发生(如果按确定没有反应,表示tidus还该上移)。出现事件2或3的话,先别按确定跳过,此时先按方向上,然后一直按确定键。事件2或3的话多次出现,直到出现事件1的话的第一部分,马上停止。条件已经达成,此时tidus已经可以自由行动,屏幕下面还带着红色的字幕。

现在就可以重新从进入home的那段剧情开始游戏了,唯一不同的是队伍中有yuna。如果主力队员有yuna的话,战斗开始的出场画面,会只有两个人,yuna会晚些才出现。

-