HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include < amxmodx >
  2. #include < fakemeta >
  3.  
  4. #define SetPlayerBits(%1,%2) ( %1 |= 1 << ( %2 & 31 ) )
  5. #define ClearPlayerBits(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )
  6. #define GetPlayerBits(%1,%2) ( %1 & 1 << ( %2 & 31 ) )
  7.  
  8. new g_pEnabled, g_bAdmin;
  9.  
  10. public plugin_init( ) {
  11. register_plugin( "Voice Admin Only", "1.1", "xPaw" );
  12.  
  13. g_pEnabled = register_cvar( "sv_voiceadminonly", "1" );
  14.  
  15. register_forward( FM_Voice_SetClientListening, "FwdSetClientListening" );
  16. }
  17.  
  18. public client_authorized( id )
  19. if( get_user_flags( id ) & ADMIN_CHAT )
  20. SetPlayerBits( g_bAdmin, id );
  21.  
  22. public client_disconnect( id )
  23. ClearPlayerBits( g_bAdmin, id );
  24.  
  25. public FwdSetClientListening( iReceiver, iSender, bool:bListen ) {
  26. if( GetPlayerBits( g_bAdmin, iSender ) && get_pcvar_num( g_pEnabled ) > 0 ) {
  27. engfunc( EngFunc_SetClientListening, iReceiver, iSender, false );
  28. forward_return( FMV_CELL, false );
  29.  
  30. return FMRES_SUPERCEDE;
  31. }
  32.  
  33. return FMRES_IGNORED;
  34. }