PHP Code:
#include <amxmodx>
#include <fakemeta_stocks>
#include <hamsandwich>
#define PLUGIN "Weapon Stay Time With Effect"
#define VERSION "0.0.1"
const XO_CWEAPONBOX = 4
new const m_rgpPlayerItems_CWeaponBox[6] = { 34 , 35 , ... }
new g_pWeaponBoxDisappearTime, g_pWeaponBoxDisappearFx
new g_iFhSetModel
public plugin_init()
{
register_plugin( PLUGIN, VERSION, "ConnorMcLeod" )
g_pWeaponBoxDisappearTime = register_cvar("mp_weapon_stay_time", "10.0")
g_pWeaponBoxDisappearFx = register_cvar("mp_weapon_stay_effect", "1")
RegisterHam(Ham_Spawn, "weaponbox", "OnCWeaponBox_Spawn_Post", true)
RegisterHam(Ham_Think, "weaponbox", "OnCWeaponBox_Think_Post", true)
}
public OnCWeaponBox_Spawn_Post()
{
g_iFhSetModel = register_forward(FM_SetModel, "OnSetModel_WeaponBox_Post", true)
}
public OnSetModel_WeaponBox_Post( iWeaponBox /* , szModel[] */ )
{
if( get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[5], XO_CWEAPONBOX) <= 0 ) // Filter with c4
{
set_pev(iWeaponBox, pev_nextthink, get_gametime() + get_pcvar_float(g_pWeaponBoxDisappearTime))
}
unregister_forward(FM_SetModel, g_iFhSetModel, true)
}
public OnCWeaponBox_Think_Post( iWeaponBox )
{
if( get_pcvar_num(g_pWeaponBoxDisappearFx) && pev_valid(iWeaponBox) && pev(iWeaponBox, pev_flags) & FL_KILLME )
{
new Float:origin[3]
pev(iWeaponBox, pev_origin, origin)
EF_MessageBegin(MSG_PAS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_EXPLOSION2)
EF_WriteCoord( origin[0] )
EF_WriteCoord( origin[1] )
EF_WriteCoord( origin[2] )
write_byte(185)
write_byte(10)
message_end()
}
}
__________________