今天有玩家说 COD2 简体中文版游戏有问题,我就安装了看看,发现确实有一些问题。
下面说一下问题所在。分析过程也一起奉上,感兴趣的朋友可以晓得本站处理问题的思路。
安装完游戏后,第一眼发现的是多人模式 CoD2MP_s.ex_ 文件的扩展名被标记为 .ex_ 而非 .exe ,改为 .exe 后游戏死锁(后来听说有的玩家好像可以)。
遇到这种情况首先想到四个可能:
1. 厂家打包游戏时的疏忽。(譬如某些版本的 Install Shield 打包软件在某些情况下有可能造成 .ex_ 无法重命名为 .exe )
2 . 病毒。(某些病毒可以把硬盘上的 .exe 文件更改为 .ex_ )
3. 编译 CoD2MP_s.exe 及相关库文件时出现错误,譬如有的玩家会出问题,有的则没有。发现时来不及找原因,干脆禁用多人模式,等以后再打补丁。(这个其实从常理上说不通)
4. 代理商签订的代理合同中没有包括多人模式,或者说尚未包括多人模式。(这个说不好,不发表意见)
5. 文化部将多人模式看作网络游戏,网络游戏的发布相对于单人游戏要麻烦些。
第二种可能性直接就排除了,因为其他的 .exe 文件没问题。
接着查看文件日期,找出最后生成的文件,除了一些必然会被修改的本地化文件外,发现 iw_06.iwd 文件也被修改,这就有问题了,因为所有语言版本的游戏中只有简体中文版的 iw_06.iwd 被修改,这样是无法联 sv_pure = 1 的主机的。
进一步查找,发现被修改的文件是 iw_06.iwd / ui / main.menu ,这个文件是控制单人模式里选单的布局,其中原本第 327 - 351 行的脚本被删除了,被删除的部分是单人模式下切换到多人模式的字串链接。
缺少的部分是:
itemDef
{
name playselection
text "@MENU_MULTIPLAYER"
type ITEM_TYPE_BUTTON
style WINDOW_STYLE_EMPTY
textstyle TEXT_ON_BG_STYLE
rect MAIN_RECT_X 300 MAIN_RECT_WIDTH MAIN_RECT_HEIGHT MAIN_RECT_HORZALIGN MAIN_RECT_VERTALIGN
textalign MAIN_TEXTALIGN
textscale MAIN_TEXTSCALE
textalignx MAIN_TEXTALIGN_X
textaligny MAIN_TEXTALIGN_Y
forecolor MAIN_FORECOLOR
visible 1
textfont UI_FONT_NORMAL
mouseEnter
{
play "mouse_over";
}
action
{
play "mouse_click";
open multi_popmenu
}
}[/code]
现在,我们可以确定 CoD2MP_s.exe 改为 .ex_ 是在游戏打包前就决定的,而非制作安装程序的事故。何况母盘送刻前要经过多次测试。所以第一种可能性也彻底排除了。
至于第三种可能。。。从 V1.20 开始,各语言版本的游戏执行文件已经统一。加上游戏的本地化方面也都是 Activision 统一制作,他们有一套游戏本地化规范流程。出现问题的几率几乎为零。
现在还剩第四种或更多种可能,感兴趣的自己去猜吧。