Another way is to use Orpheu to call
Code:
void __cdecl tfgoalitem_RemoveFromPlayer(CBaseEntity *Item, CBasePlayer *AP, int iMethod)
This method is called everytime when a flags needs to be removed (player capped, played died, player dropped). All goal_activation checks are done before calling this method so there shouldn't any problems.
__________________