virtual void FireGameEvent( IGameEvent *event )
{
if ( Q_strcmp( event->GetName(), "round_end" ) == 0 )
{
CBasePlayer *pLocalPlayer = C_BasePlayer::GetLocalPlayer();
if (!pLocalPlayer) return;
int localid = pLocalPlayer->entindex();
// If we won both Most Deadly AND Most Accurate we win this achievement
if ( FindAwardForPlayer(event, GE_AWARD_MARKSMANSHIP, localid) && FindAwardForPlayer(event, GE_AWARD_DEADLY, localid) && CalcPlayerCount() >= 4 )
IncrementCount();
}
}
As you can see from this *ACTUAL* code, on round end it finds your player id, then sees if you won the award marksmanship and deadly in that round, and checks for 4+ players... if it satisfies you win.
Can't tell you much more than that, sorry