冒险解谜游戏中文网 ChinaAVG
标题:
秘密档案2跳出及类似问题的解决思路
[打印本页]
作者:
shane007
时间:
2010-2-20 10:05
标题:
秘密档案2跳出及类似问题的解决思路
在玩秘密档案2这个游戏时,我们发现了一个游戏找不到指定文件而出错的问题。
7 F {0 T. c1 ?7 T/ ]/ S5 l
根据我的经验,最后终于确认是游戏调用了一个德文文件名的文件。
$ |. _+ A! l* D! s
这个文件名中文环境下无法识别,游戏自然会出错。
$ x0 Q+ ?$ S, G8 d" z2 _
' |" g1 A, T# J9 A' @
解决办法1
7 j+ J& P* _- i5 J$ k- u9 \
把系统的区域,语言之类的都设置为德文,经验证可以解决问题。
! i6 C$ c, C$ l
不过,这个办法似乎不太好,太麻烦,用其他软件的时候也会许会产生乱码现象。
! E( Y. {/ I% Z& c$ ?! Z
1 Y( c5 p% ~ y) s/ @
解决办法2
9 }+ J) `% Q3 m5 N" r9 k- }, L
其实,在研究1个半骑士的时候,我们已经遇到过类似的问题,并且已经成功地解决了。
7 Z) `' E5 E3 \ I9 `- ?# h
为了更容易说明问题,我把问题简化一下来说明。
% E/ ^ L* v/ K: W
! \) ?8 o5 z8 H/ c, e0 o! z
假设游戏有AAA,BBB2个文件,AAA文件调用了BBB文件,其中BBB文件的文件名中含有一个德文专有字符,在中文环境下无法正常显示。这2个文件被打包入一个game.pak文件,并被加密,也就是说我们用hexworkshop无法从game.pak文件检索出AAA或BBB的文件名来。同时,我们手头有一个game.pak文件的解包器。
' R6 }6 r: d/ k
. g' l1 X, m; H) X$ m" n
就这样,我们模拟了一个游戏的出错环境。下面,我们说说解决办法。
9 |/ ~; G0 v6 s
! r: g" d( h- o' D! S, `
1.我们用解包器在德文环境中,把game.pak文件中的AAA,BBB2个文件解出来。由于是德文环境,自然不会有问题。
1 G' t( s- b) W" C) M
$ q9 T! M9 ?# Z( I9 [
2.解包完毕以后,我游戏将会优先读取解包出来的AAA,BBB文件,而不是从包文件里面读取。
3 J9 ^' R" L- W: D
接下来就很简单了,既然AAA调用了BBB。那么在AAA的内部必定有BBB这个含有德文字符的文件名。 我们找到这个文件名,把它修改为全英文的,再把BBB的文件名改为和它一致即可。
: N. e+ l2 R& _; `6 O: \) I
" ?2 V. a! D; ^. X! ~0 W
3.再把游戏改为中文环境,游戏应该不会出错了。
& Z9 H* @4 b' Q1 B& j" G- v! \5 N( j
由于包游戏文件被加密了,所以必须象这样把文件解包出来以后再修改。
" I% ?& k7 o" t" Y0 n* l
用这个方法我成功地解决了1个半骑士的问题,秘密档案2我还没试,热心的朋友可以试一下。
1 r- J8 B" J; f9 n* F2 m: ^ Z
就像刘谦的魔术一样,一旦秘密被拆穿了,也就没有神秘的了。
\! O% F+ E9 Q" y N" H" X
" a. F+ y8 Y3 ~
补充一点,从多个文件中寻找一个字符串,可以用秀丸的grep功能。
' E5 @7 Q( H# B1 T1 c: h# K6 ?
一个半骑士的相关帖子如下,早已提到过类似问题
! d0 y) K2 M8 J5 j
https://www.chinaavg.com/read.php?tid=14367
作者:
一直爱你
时间:
2010-2-20 12:55
[s:44] 看起来好复杂的样子。
作者:
慕容枫叶
时间:
2010-2-20 15:39
就怕一些文件调用我们改好的文件……
作者:
shane007
时间:
2010-2-20 15:46
引用第2楼慕容枫叶于2010-02-20 15:39发表的 :
5 F1 J) R( E! R# x. k
就怕一些文件调用我们改好的文件……
; U8 u* E X5 u; C, ~: u
调用的地方都可以改的。
作者:
lizzie
时间:
2010-7-9 20:12
这个问题在英文版里不会发生。
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2