void DumpAchievementCounters( const CCommand &args ) { int iPlayerIndex = 1; if ( args.ArgC() >= 2 ) { iPlayerIndex = atoi( args[1] ); } CBaseMultiplayerPlayer *pPlayer = ToBaseMultiplayerPlayer( UTIL_PlayerByIndex( iPlayerIndex ) ); if ( pPlayer && pPlayer->GetPerLifeCounterKeys() ) { CUtlBuffer buf( 0, 0, CUtlBuffer::TEXT_BUFFER ); pPlayer->GetPerLifeCounterKeys()->RecursiveSaveToFile( buf, 0 ); char szBuf[1024]; // probably not the best way to print out a CUtlBuffer int pos = 0; while ( buf.PeekStringLength() ) { szBuf[pos] = buf.GetChar(); pos++; } szBuf[pos] = '\0'; Msg( "%s\n", szBuf ); } }