【已解决】M4A1枪口火花显示位置错误的问题
本帖最后由 Osker Lee 于 2010-12-6 11:23 编辑玩CS1.5的玩家可能都知道,CT专用武器M4A1的枪口火花显示位置是错误的(非第一人称视觉,而是以第三方视觉观察时),即开枪的时候火花不在枪口处,而是在枪管子的中间(参见游戏截图)。有些CS1.6和CZ1.2的版本也存在这个问题的,有些版本则修正了。其实问题就出在p_m4a1.dll这个模型上,解决方法也不是很复杂。下面以CS1.6为例,首先用HLMV解开p_m4a1.mdl模型,然后打开p_m4a1.qc文件,找到下面的代码:
//reference mesh(es)
$body "studio" "m4a1"
// 3 hit box(es)
$hbox 0 "Bip01 R Hand" 0.000000 -2.232889 -3.670101 35.571133 0.000000 0.000000
$hbox 0 "flash" -23.692970 -7.530763 0.000000 0.000000 0.000000 6.987024
$hbox 0 "Line03" -1.180000 -7.460000 -15.200000 1.050000 3.300000 24.950001
接着把上面的代码改成下面这样:
//reference mesh(es)
$body "studio" "m4a1"
// 1 attachment(s)
$attachment 0 "flash" 0.000000 0.000000 0.000000
// 3 hit box(es)
$hbox 0 "Bip01 R Hand" 0.000000 -2.232889 -3.670101 35.571133 0.000000 0.000000
$hbox 0 "flash" -23.692970 -7.530763 0.000000 0.000000 0.000000 6.987024
$hbox 0 "Line03" -1.180000 -7.460000 -15.200000 1.050000 3.300000 24.950001
就是增加红色的那段代码就行了,保存好p_m4a1.qc文件后,用HLMV重新编译生成p_m4a1.mdl,覆盖原来的模型就行了。
经过研究,发现CS1.5和CZ1.2的解决方法了,二者的方法是一样的。先用HLMV解开CS1.5/CZ1.2的p_m4a1.mdl模型。
对于CS1.5,打开idle.smd和m4a1.smd文件,可以发现这两个文件里都有下面这句代码:
11 26.516474 -1.499062 -1.778342 1.589386 0.235411 -0.120829
把上面的代码都改成下面这样,然后重新编译模型就可以解决问题了。
11 35.571133 -2.232889 -3.670101 1.411879 0.460949 -0.395566
对于CZ1.2,打开idle.smd和m4a1-cs.smd文件,可以发现这两个文件里都有下面这句代码:
11 27.196585 -1.588612 -1.560072 1.589386 0.235411 -0.120829
把上面的代码都改成下面这样,然后重新编译模型就可以解决问题了。
11 35.571133 -2.232889 -3.670101 1.411879 0.460949 -0.395566
另外要注意,修正后的p_m4a1.mdl模型文件直接覆盖原文件后,有可能会导致游戏无法运行,这时必须先把游戏的mp_consistency参数改为0(取消模型检测),然后才能进入游戏。为了方便起见,大家可以把这个命令参数mp_consistency “0” 写进config.cfg、listenserver.cfg或者autoexec.cfg之类的文件里,然后再运行游戏就行了。
事实上,CS1.6的小狙击枪也存在枪口火花错位的问题,对于小狙p_scout.mdl的修正方法,其实和上面介绍CS1.6的p_m4a1.mdl的修正方法一样,不再赘述。另外,我已经把CS1.5、CS1.6和CZ1.2修正后的p_m4a1.mdl以及CS1.6修正后的p_scout.mdl上传了,想偷懒的玩家直接下载后覆盖原来的模型文件就行了。 学习了。。。。。。。。。。。高手!!! 您所在的用户组无法下载或查看附件 你真乃神人也
页:
[1]