| Excalibur.007 |
06-14-2011 07:43 |
[HELP] Scoping damage not being multiplied
Ham_TraceAttack(post/pre)
PHP Code:
public fw_TraceAttack(victim, attacker, Float:damage, Float:direction[3], tr, damagebits) { if(victim == attacker || !is_user_alive(attacker) || !is_user_alive(victim) || !zp_get_user_zombie(victim)) return HAM_IGNORED if(!(1 <= victim <= iMaxPlayers)) return HAM_IGNORED if(get_tr2(tr, TR_iHitgroup) == HIT_HEAD) { IsHeadshot[attacker] = true } return HAM_IGNORED }
FM_TraceLine(post/pre)
PHP Code:
public fw_TraceLine(Float:start[3], Float:end[3], noMonsters, id, trace) { if(!is_user_alive(id)) return FMRES_IGNORED static victim; victim = get_tr2(trace, TR_pHit) if(!(1 <= victim <= iMaxPlayers) || !is_user_alive(victim)) return FMRES_IGNORED if(get_tr2(trace, TR_iHitgroup) == HIT_HEAD && (pev(id, pev_button) & IN_ATTACK)) { IsHeadshot[id] = true } return FMRES_IGNORED }
Ham_TakeDamage(pre)
PHP Code:
public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if(victim == attacker || !is_user_alive(victim) || !is_user_alive(attacker)) return HAM_IGNORED if(iCurrentClass[victim] == 4 && !zp_get_user_zombie(victim)) set_pdata_float(victim, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX) if(!zp_get_user_zombie(victim)) return HAM_IGNORED switch(iCurrentClass[attacker]) { case 1: { if(SUPPORT_SPECIALIST) SetHamParamFloat(4, damage * dmg_ss) } case 2: { if(SHARPSHOOTER) { if(IsHeadshot[attacker]) { IsHeadshot[attacker] = false SetHamParamFloat(4, damage * dmg_s * hsdmg_s) } else { SetHamParamFloat(4, damage * dmg_s) } } } case 3: { if(COMMANDO) SetHamParamFloat(4, damage * dmg_c) } case 4: { if(BERSERKER) SetHamParamFloat(4, damage * dmg_b) } } return HAM_IGNORED }
Define
PHP Code:
#define SHARPSHOOTER (iCurrentWeapon[attacker] == CSW_SCOUT || iCurrentWeapon[attacker] == CSW_AWP || iCurrentWeapon[attacker] == CSW_SG550 || iCurrentWeapon[attacker] == CSW_G3SG1 || iCurrentWeapon[attacker] == CSW_GLOCK18 || iCurrentWeapon[attacker] == CSW_USP || iCurrentWeapon[attacker] == CSW_P228 || iCurrentWeapon[attacker] == CSW_DEAGLE || iCurrentWeapon[attacker] == CSW_ELITE)
Snipers damage multiplier doesn't seems to work at all. Other pistols damage do multiply. Sry. Could only give codes related to the problem.
Focus on the case 2 which is Sharpshooter.
More description:
Scope damage doesn't multiplies but without scope it does multiply.
|