zxzyman
|
分享:
▼
x0
|
[1.6][插件] [已解决] 取得伤害%数
不好意思... 希望有人能帮助我 因为在僵尸里,有些生命较高,不易杀死的僵尸 我想到一个点子,攻击僵尸造成伤害30%数, 这个不知道有没有人想过 下面是插件内容 的一个部份 复制程式
if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP)
{
static Float:originF[3]
pev(victim, pev_origin, originF)
new plrWeapId, plrClip, plrAmmo
plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
if (plrWeapId == CSW_AWP)
SetHamParamFloat(4, damage += get_user_health(victim))
client_print(attacker, print_center, "Enemy Electrocuted!")
if(get_pcvar_num(cvar_particles_dead))
dead_efect(originF)
}
上面是,damage += get_user_health(victim) (也就是秒杀) 我想想后写出, damage += (get_user_health(victim) *= 0.3 ) (伤害30%) 结果愚蠢的下场就是失败...
[ 此文章被zxzyman在2014-04-08 13:45重新编辑 ]
|
UWC3NG 终极魔兽-次世代 (繁体中文版) -按此连结-
|
x0
[楼 主]
From:未知地址 | Posted:2014-04-04 23:25 |
|
|
zxzyman
|
分享:
▲
下面是引用 s8720419 于 2014-04-08 08:37 发表的 :
如果是我的话,我会先取得每只僵尸的最大生命值去做:
例如说 我有一只僵尸 血量 5000
先把伤害倍数乘于血量 = 新伤害倍数
再把新伤害倍数乘于1.0 = 伤害值
换句话说..
new Float:maxhealth, Float:adddmg, Float:newdmg;
maxhealth = float(5000); //最大生命,重点是看你如何取的..我这个只是个例子... adddmg = 1.3; //30%伤害 newdmg = (damage + (maxhealth * adddmg)); // 取得旧伤害 + 伤害倍数 SetHamParamFloat(4, newdmg ); //给予新的伤害值 原来不是只有%数要用Float.... 我参考您的作法,但省去maxhealth 我用zp_get_zombie_maxhealth 取得僵尸生命,成功做出%数伤害了 但是1.3并不是30%伤害,这样会变成130%伤害 (我刚刚想了很久发现就是错在这...) Nailaz 大大 误导了我们了 感谢 s8720419 大大指点帮助,貌似有学到了什么..~ 这样就能延伸出不一样的想法了,像是道具对复仇者有%数伤害
[ 此文章被zxzyman在2014-04-08 13:47重新编辑 ]
|
UWC3NG 终极魔兽-次世代 (繁体中文版) -按此连结-
|
x0
[9 楼]
From:未知地址 | Posted:2014-04-08 13:27 |
|
|
|