PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#define MY_PLUGIN_NAME "No Headshot With Helmet"
#define MY_PLUGIN_VERSION "1.1.0"
#define MY_PLUGIN_AUTHOR "Simon Logic"
#define HIT_SHIELD 8
new g_iMaxPlayers
new g_cvarSHelmetThreshold
public plugin_init()
{
g_iMaxPlayers = get_maxplayers()
register_plugin(MY_PLUGIN_NAME, MY_PLUGIN_VERSION, MY_PLUGIN_AUTHOR)
register_cvar("version_no_headshot_with_helme t", MY_PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)
g_cvarSHelmetThreshold = register_cvar("amx_superhelmet_when_armor", "0")
//register_forward(FM_TraceLine, "onTraceLine")
register_forward(FM_TraceLine, "onTraceLinePost", 1)
}
public onTraceLinePost(Float:v1[3], Float:v2[3], fNoMonsters, pentToSkip, ptr)
{
//engfunc(EngFunc_TraceLine, v1, v2, fNoMonsters, pentToSkip, ptr)
static iHitEnt; iHitEnt = get_tr2(ptr, TR_pHit)
if(1 <= iHitEnt <= g_iMaxPlayers)
{
static iArmor
static CsArmorType:tArmor
iArmor = cs_get_user_armor(iHitEnt, tArmor)
if(iArmor > 0 && tArmor == CS_ARMOR_VESTHELM && get_tr2(ptr, TR_iHitgroup) == HIT_HEAD && get_user_weapon(iHitEnt) != CSW_M3)
{
iHitEnt = get_pcvar_num(g_cvarSHelmetThreshold) // re-use iHitEnt
if(iHitEnt > 0 && iArmor >= iHitEnt)
iHitEnt = HIT_SHIELD
else
iHitEnt = HIT_GENERIC
set_tr2(ptr, TR_iHitgroup, iHitEnt)
}
}
//return FMRES_SUPERCEDE
}
__________________