下面是引用 zxzyman 於 2014-04-06 16:44 發表的 : 
我想到這個方法: 但失敗
new PlayHp, Hiting
PlayHp = get_user_health(victim)
new Float:Dam = 0.3
Hiting = PlayHp *= Dam
if (plrWeapId == CSW_AWP)
SetHamParamFloat(4, damage += Hiting )
假如玩家生命3000
3000 x 0.3 = 900
傷害 + 900
結果打下去 傷害變成: 1398658 (幾百萬....)
請問我上面的邏輯有錯嗎?... 還是說沒這麼單純...
如果是我的話,我會先取得每隻殭屍的最大生命值去做:
例如說 我有一隻殭屍 血量 5000
先把傷害倍數乘於血量 = 新傷害倍數
再把新傷害倍數乘於1.0 = 傷害值
換句話說..
new Float:maxhealth, Float:adddmg, Float:newdmg;
maxhealth = float(5000); //最大生命,重點是看你如何取的..我這個只是個例子...
adddmg = 1.3; //30%傷害
newdmg = (damage + (maxhealth * adddmg)); // 取得舊傷害 + 傷害倍數
SetHamParamFloat(4, newdmg ); //給予新的傷害值