Advertisement
ObtiMus

Untitled

Jul 23rd, 2014
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < cstrike >
  4.  
  5. enum TeamData {
  6. CsTeams:TD_iTeam,
  7. TD_szInput[ 20 ]
  8. };
  9.  
  10. new const g_iTeamData[ ][ TeamData ] = {
  11. { CS_TEAM_UNASSIGNED, "U" },
  12. { CS_TEAM_UNASSIGNED, "UNASSIGNED" },
  13. { CS_TEAM_T, "T" },
  14. { CS_TEAM_T, "TS" },
  15. { CS_TEAM_T, "TER" },
  16. { CS_TEAM_T, "TERR" },
  17. { CS_TEAM_T, "TERROR" },
  18. { CS_TEAM_T, "TERRORIST" },
  19. { CS_TEAM_T, "TERRORISTS" },
  20. { CS_TEAM_CT, "CT" },
  21. { CS_TEAM_CT, "CTS" },
  22. { CS_TEAM_CT, "COUNTERTERRORIST" },
  23. { CS_TEAM_CT, "COUNTERTERRORISTS" },
  24. { CS_TEAM_CT, "COUNTER-TERRORIST" },
  25. { CS_TEAM_CT, "COUNTER-TERRORISTS" },
  26. { CS_TEAM_SPECTATOR, "S" },
  27. { CS_TEAM_SPECTATOR, "SPEC" },
  28. { CS_TEAM_SPECTATOR, "SPECS" },
  29. { CS_TEAM_SPECTATOR, "SPECTATOR" },
  30. { CS_TEAM_SPECTATOR, "SPECTATORS" }
  31. };
  32.  
  33. new Trie:g_tTeamData;
  34.  
  35. new const g_szTeamNames[ CsTeams ][ ] = {
  36. "Unassigned",
  37. "Terrorist",
  38. "Counter-Terrorist",
  39. "Spectator"
  40. };
  41.  
  42. public plugin_init( ) {
  43. register_plugin( "Ban Team", "0.0.1", "Exolent" );
  44. register_concmd( "amx_banteam", "CmdBanTeam", ADMIN_BAN, "<team name> <time> [ban type=0] -- ban type: 0 = amx_ban, 1 = amx_banip" );
  45.  
  46. g_tTeamData = TrieCreate( );
  47. for( new i = 0; i < sizeof( g_iTeamData ); i++ ) {
  48. TrieSetCell( g_tTeamData, g_iTeamData[ i ][ TD_szInput ], g_iTeamData[ i ][ TD_iTeam ] );
  49. }
  50. }
  51.  
  52. public plugin_end( ) {
  53. TrieDestroy( g_tTeamData );
  54. }
  55.  
  56. public CmdBanTeam( iPlayer, iLevel, iCId ) {
  57. if( !cmd_access( iPlayer, iLevel, iCId, 3 ) ) {
  58. return PLUGIN_HANDLED;
  59. }
  60.  
  61. new szTeam[ 20 ];
  62. read_argv( 1, szTeam, 19 );
  63. strtoupper( szTeam );
  64.  
  65. new CsTeams:iTeam;
  66. if( !TrieGetCell( g_tTeamData, szTeam, iTeam ) ) {
  67. console_print( iPlayer, "Invalid team." );
  68. return PLUGIN_HANDLED;
  69. }
  70.  
  71. read_argv( 2, szTeam, 19 );
  72. new iTime = str_to_num( szTeam );
  73.  
  74. read_argv( 3, szTeam, 19 );
  75. new bool:bBanIP = ( str_to_num( szTeam ) == 1 );
  76.  
  77. new iPlayers[ 32 ], iNum, iTarget;
  78. get_players( iPlayers, iNum, "c" );
  79.  
  80. for( new i = 0; i < iNum; i++ ) {
  81. iTarget = iPlayers[ i ];
  82.  
  83. if( cs_get_user_team( iTarget ) == iTeam ) {
  84. client_cmd( iPlayer, "%s #%i %i", bBanIP ? "amx_banip" : "amx_ban", get_user_userid( iTarget ), iTime );
  85. }
  86. }
  87.  
  88. console_print( iPlayer, "Banned all %s players.", g_szTeamNames[ iTeam ] );
  89.  
  90. return PLUGIN_HANDLED;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement