修正某些模组命中部位错误的方法

Home Home
引用 | 编辑 a7811311622
2013-12-22 14:55
楼主
推文 x8
有时候玩僵尸模式时…僵尸模组如果不够用…
就可能网路上找些外国修改的一些僵尸模组来用…
可是有些僵尸模组的命中部位有时太低或太高…
就会想用ZP的 set_modelindex_offset 功能或是SK发的这篇插件来解决…

不过问题来了…
有些弄模组的人不知道QC档有段内容就是用骨架来判断这个 hit boxes 是哪个部位…
毕竟对不知道的人来说就只是1~7的奇怪数字…
就会导致他们制作模组时很白目困惑的全部给0…
这下好啦…给0的话这模组用了模组判断后全身的命中部位反而全变成 HIT_GENERIC …
伤害全部只会乘 1.0 …爆头和打脚伤害全部一样…根本变成NPC了…

所以这篇就是要说明怎么处理这种模组…

准备工具:
JHLMV (没有可在这篇下载或网路上找)
反编译工具 (没有可在这篇这篇下载或网路上找)
能看骨架的工具,例如牛奶盒 MilkShape 3D (没有可在这篇学使用发法顺便下载试用版或网路上找)

教学:
1‧反编有问题的模组,然后用记事本这类的程式开启其模组的QC档
例如我找了一个L4D2的 Charger 的模组就是一个错误例子…

图片很明显地…全部的 hit boxes 全部都有问题…
2‧用牛奶盒载入 so_am_I.smd 这个SMD档来观察骨架名称
会读取 so_am_I 的原因只是因为这个动作就是人物摆个「大」字形…最容易观察…

3‧依照QC档给的骨架名称重新设定部位
例如QC档的第一个骨架名称是「Bip01 Pelvis」…那就到牛奶盒找这个名称…然后点两下
你就会看到点两下后的部位会变红色…

不过这个骨架名称都给 Pelvis (骨盆) 了…
其实没用牛奶盒观察也可以知道「Bip01 Pelvis」是玩家的腹部了…
比较需要牛奶盒观察的大概是 Spine (脊椎) 这个…
毕竟只知道是脊椎…但是分不出胸部和腹部…这时用牛奶盒就能大略知道分布了…
部位的代号:
复制程式
/* Parts of body for hits */
#define HIT_GENERIC        0    /* none */
#define HIT_HEAD        1    /* 头部 */
#define HIT_CHEST        2    /* 胸部 */
#define HIT_STOMACH        3    /* 腹部 */
#define HIT_LEFTARM        4    /* 左手 */
#define HIT_RIGHTARM        5    /* 右手 */
#define HIT_LEFTLEG        6    /* 左脚 */
#define HIT_RIGHTLEG        7    /* 右脚 */
将原本错误的「$hbox 0 "Bip01 Pelvis"」改成「$hbox 3 "Bip01 Pelvis"」
以此类推…结果大略如下:
// 17 hit box(es)
$hbox 3 "Bip01 Pelvis" -0.000006 -6.710000 -9.360000 6.220000 9.040000 8.030000
$hbox 3 "Bip01 Spine" 0.000000 -9.030000 -10.830000 6.740000 13.130000 7.230000
$hbox 2 "Bip01 Spine1" 0.000000 -9.000000 -11.170000 8.230000 12.940000 8.760000
$hbox 1 "Bip01 Spine2" 0.000000 -8.270000 -8.970000 12.190000 12.020000 8.720000
$hbox 1 "Bip01 Neck" -2.170020 0.000000 -2.953732 0.000000 1.352263 2.953745
$hbox 4 "Bip01 L UpperArm" -0.750000 -5.370000 -1.320000 26.160000 1.570000 4.000000
$hbox 6 "Bip01 L Thigh" 0.000000 -5.980000 -4.820000 17.182066 8.730000 4.640000
$hbox 7 "Bip01 R Thigh" -0.440000 -6.330000 -4.760000 17.330000 8.740000 5.000000
$hbox 6 "Bip01 L Calf" 0.000000 -4.650000 -4.730000 16.782898 5.530000 3.640000
$hbox 6 "Bip01 L Foot" -0.790000 -4.690000 -4.010000 6.180000 6.530000 3.120000
$hbox 6 "Bip01 L Toe0" -1.670000 -1.000000 -3.560000 2.750000 1.600000 3.790000
$hbox 7 "Bip01 R Calf" 0.000000 -3.900000 -3.660000 16.782896 4.250000 3.940000
$hbox 7 "Bip01 R Foot" -0.070000 -2.900000 -2.450000 6.240000 7.240000 1.620000
$hbox 7 "Bip01 R Toe0" 0.000000 -0.940000 -2.310000 2.860000 0.520000 1.210000
$hbox 5 "Bip01 R Clavicle" 0.000000 -6.550000 -7.930000 9.420000 9.310000 2.680000
$hbox 5 "Bip01 R UpperArm" 0.000000 -5.710000 -6.850000 12.990000 9.050000 4.480000
$hbox 5 "Bip01 R Forearm" 0.000000 -4.640000 -6.250000 29.950001 8.830000 6.650000
4‧QC档修改完成后自然是正编回去

大致就这样~

献花 x3
引用 | 编辑 h2171250
2013-12-24 13:09
1楼
  
像我这样的小白很难看得懂,但是很可贵的教学

献花 x0
引用 | 编辑 laoklaole
2014-02-13 10:10
2楼
  
虽然没怎么看明白,不过顺便问题下JHLMV是什么软件吗?

献花 x0
引用 | 编辑 弑血
2014-02-20 04:34
3楼
  
下面是引用 laoklaole 于 2014-02-13 10:10 发表的 : 到引言文
虽然没怎么看明白,不过顺便问题下JHLMV是什么软件吗?



是打开有关CS的MDL档案的软件..

献花 x0
引用 | 编辑 zxzx45248
2014-04-20 12:55
4楼
  
很实用的教学 感谢您的指导

献花 x0
引用 | 编辑 yjocl2k
2014-10-03 19:28
5楼
  
下载了牛奶盒却无法载入SMD档耶!

献花 x0
引用 | 编辑 7848838
2015-07-11 04:57
6楼
  
然而并没有什么卵用的~

献花 x0
引用 | 编辑 as2648as
2016-05-19 08:48
7楼
  
这样揪没有打不到僵尸的困扰了
谢谢大大

献花 x0
引用 | 编辑 maplefeather
2016-08-01 13:56
8楼
  
教学还不错

献花 x0
引用 | 编辑 阿秦不吃鱼
2021-07-23 09:58
9楼
  
回 覆 锁 定 :

  此回覆已被锁定,只有『管理员及回覆者』看的到 !!!



献花 x0
引用 | 编辑 doremon
2022-12-08 18:02
10楼
  
这正好弥补了僵尸模式的模型缺陷。

献花 x0
引用 | 编辑 new8026game
2023-09-01 19:49
11楼
  
请问一下 大大知道怎么把half life的某个僵尸 改成cs1.6僵尸模组能使用的僵尸吗 表情

献花 x0
引用 | 编辑 576103569
2023-11-27 13:57
12楼
  
看起来好难

献花 x0