Code can be shortened a bit :
PHP Code:
#include <amxmodx>
#include <fakemeta>
new g_iMaxPlayers;
#define IsPlayer(%0) ( 1 <= (%0) <= g_iMaxPlayers )
new g_iGunsEventsIdBitSum;
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
new const szGunsEvents[][] = {
"events/awp.sc", "events/g3sg1.sc", "events/ak47.sc", "events/scout.sc", "events/m249.sc",
"events/m4a1.sc", "events/sg552.sc", "events/aug.sc", "events/sg550.sc", "events/m3.sc",
"events/xm1014.sc", "events/usp.sc", "events/mac10.sc", "events/ump45.sc", "events/fiveseven.sc",
"events/p90.sc", "events/deagle.sc", "events/p228.sc", "events/glock18.sc", "events/mp5n.sc",
"events/tmp.sc", "events/elite_left.sc", "events/elite_right.sc", "events/galil.sc", "events/famas.sc"
};
for(new i; i<sizeof(szGunsEvents); i++)
{
g_iGunsEventsIdBitSum |= 1<<engfunc(EngFunc_PrecacheEvent, 1, szGunsEvents[i]);
}
register_forward(FM_PlaybackEvent, "OnPlaybackEvent");
g_iMaxPlayers = get_maxplayers();
}
public OnPlaybackEvent(flags, id, eventid)
{
if( IsPlayer(id) && g_iGunsEventsIdBitSum & (1<<eventid) )
{
// gun fired
return FMRES_HANDLED;
}
return FMRES_IGNORED;
}
__________________