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 |
|
|
|