#include <amxmodx>
#include <reapi>
#define PLUGIN "[Reapi] Replace Weapon Models" // [Reapi] Reemplazar Modelos de Armas
#define VERSION "1.0"
#define AUTHOR "[N]drs"
#define rg_get_weapon_id(%0) get_member(get_member(get_member(%0, m_pPlayer), m_pActiveItem), m_iId)
new const szV_Model[] = "models/custom/v_usp.mdl"
new const szP_Model[] = "models/custom/p_usp.mdl"
new const szW_Model[] = "models/custom/w_usp.mdl"
new const szW_ModelOld[] = "models/w_usp.mdl"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "OnPlayerChangeWeapon_Pre", false)
RegisterHookChain(RG_CWeaponBox_SetModel, "OnWeaponBoxSetModel_Pre", false)
}
public plugin_precache()
{
precache_model(szV_Model)
precache_model(szP_Model)
precache_model(szW_Model)
}
public OnPlayerChangeWeapon_Pre(const iEntity, szViewModel[], szWeaponModel[])
{
switch(rg_get_weapon_id(iEntity))
{
case CSW_USP:
{
SetHookChainArg(2, ATYPE_STRING, szV_Model)
SetHookChainArg(3, ATYPE_STRING, szP_Model)
}
}
return HC_CONTINUE
}
public OnWeaponBoxSetModel_Pre(const iEntity, const szModelName[])
{
if(!equali(szModelName, szW_ModelOld))
return HC_CONTINUE
SetHookChainArg(2, ATYPE_STRING, szW_Model)
return HC_CONTINUE
}