出现这种
问题的,一般都是d2char.mpq,d2data.mpq,d2exp.mpq这3个mpq缺少某一或某些文件造成的
解决方法为将缺少文件压回对应MPQ里,基本能解决问题
首先查看错误提示,有时候错误提示会直接列出缺少哪个文件,如下缺少的为6wtrlitnuhth.dcc
若没有,请查看当天的游戏日志,比如“d209xxxxx.txt”,里面会列有哪个文件出错
Halt
Location : , line #1646
Expression : Unrecoverable internal error 6fe2137c
20:04:56.593 Stack bytes:
20:04:56.593 Stack bytes:
20:04:56.593 0194FA94: 6A405109 A0D16E03 D0FFF06F A8FA9401 j@Q.犙n.?餺..
.............
0194FD54: 4572726F 72206465 636F6D70 72657373 Error decompress
0194FD64: 696E6720 73707269 7465202D 20506F73 ing sprite - Pos
0194FD74: 7369626C 6520636F 72727570 74696F6E sible corruption
0194FD84: 20696E20 64617461 2066696C 653A2055 in data file: U
0194FD94: 4D54526C 69745332 68746800 2C002D00 MTRlitS2hth.,.-.
0194FDA4: 05002E2F 3D000000 30002E00 06404100 .../=...0....@A.
0194FDB4: 402F0000 42000000 05003900 1C3A0045 @/..B.....9..:.E
0194FDC4: 0A020000 03000400 4C000500 0A060000 ........L.......
了解了哪个文件后,就需要让别人把对应的文件找到,可以用MPQmasters来打开MPQ(DATA,EXP,CHAR)文件
至于怎么找,一般都是在data/global下比如6wtrlitnuhth.dcc,在d2exp.mpq\data\global\objects\6w\tr\下
比如UMTRlitS2hth.dcc,在d2data\data\global\monsters\UM\TR下
然后将该文件解压到MPQ2K文件夹下,用MPQ2K压进对应的MPQ里
打开script1.txt,比如要将6wtrlitnuhth.dcc压进d2exp.mpq里,输入如下O d2exp.mpq
a 6wtrlitnuhth.dcc data\global\objects\6w\tr\6wtrlitnuhth.dcc
C d2exp.mpq
O和C分别为打开和关闭MPQ文件命令,a为添加文件命令 O(MPQ名字)
a (文件名字) (文件路径)
C (MPQ名字)
写好之后,把对应MPQ放到MPQ2K文件夹下,或者把MPQ2K放到D2文件夹下(以防万一,请先备份对应MPQ),然后运行RunScript.bat,之后该文件已经被压进了对应MPQ里了,这个时候可以用MPQmasters打开该MPQ查看该文件情况,最后运行游戏测试
MPQ2K压缩包里有一个范本,可以用来对照
目前来看,这个方法只对那些缺少文件起作用,而有些是MPQ多出文件,暂时无解