下面是引用 nswrth 于 2013-03-20 19:33 发表的 :
感谢一、二楼的回应 再仔细研究了一下那份伤据 终于知道为啥脚没有"穿甲伤害数据" 因为脚不能穿护甲啊XD
还有右键刀实在太酷了 从背后砍到任何部位都是即死
对了 那墙和地板有没有修正数据呢?
还有各种武器的"伤害距离衰减"我看不太懂 可否请大大解释一下吗?
HL SDK原码的内容大略是:
每种子弹类型都有不同的子弹伤害和子弹飞行距离…
然后伤害的计算中间经过一堆穿墙次数、墙壁材质、伤害递减之后最后的程式码…
复制程式
iCurrentDamage *= pow( flCurrentDistance * 0.002, flRangeModifier );
flCurrentDistance:目前子弹的命中点位置
flRangeModifier:每个武器的子弹随着距离威力减弱的数值,数值越小代表随着射程越远伤害越小
数值列表:
复制程式
new const Float:flRangeModifier[] = {
0.95, //m4a1 silencer
0.8, //p228
0.0, //-----
0.96, //scout
0.0, //-----
0.8, //xm1014
0.0, //-----
0.82, //mac10
0.96, //aug
0.0, //-----
0.75, //elites
0.885, //fiveseven
0.82, //ump45
0.98, //sg550
0.98, //galil
0.96, //famas
0.79, //usp
0.75, //glock18
0.99, //awp
0.84, //mp5navy
0.97, //m249
0.8, //m3
0.97, //m4a1
0.85, //tmp
0.98, //g3sg1
0.0, //-----
0.81, //deagle
0.955, //sg552
0.98, //ak47
0.0, //-----
0.885 //p90
}