I used this method once (seemed to work fine)
Code:
// a global var:
// [0] = Weapon ID
// [1] = Weapon Ammo
new g_nCurWeapon[33][2]
// in plugin_init:
register_event( "CurWeapon", "Event_ShotFired", "b" )
// Somewhere else..
public Event_ShorFired( id )
{
new wID = read_data( 2 )
new wAmmo = read_data( 3 )
if( g_nCurWeapon[id][0] != wID )
{
g_nCurWeapon[id][0] = wID
g_nCurWeapon[id][1] = wAmmo
return PLUGIN_HANDLED
}
if( g_nCurWeapon[id][1] < wAmmo )
{
g_nCurWeapon[id][1] = wAmmo
return PLUGIN_HANDLED
}
if( g_nCurWeapon[id][1] == wAmmo )
return PLUGIN_HANDLED
g_nCurWeapon[id][1] = wAmmo
g_nCurWeapon[id][0] = wID
// if you made it this far, user shot his/her gun
// ...
}