seroff

Executed Checker By Seroff

Jul 20th, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <amxmodx>
  2.  
  3. #define s_File "addons\amxmodx\configs\executeds.ini"
  4.  
  5. static Array:g_a_executedes;
  6. static g_a_Reason[33][64];
  7.  
  8. new szNotCheck[][]={
  9. "menuselect",
  10. "specmode",
  11. "VModEnable",
  12. "vban",
  13. ""
  14. }
  15.  
  16. public plugin_init() {
  17. register_plugin("Executed Checker","1.0","Seroff");
  18. }
  19.  
  20. public plugin_cfg() {
  21. if(!file_exists(s_File)) {
  22. server_print("[Executed Checker] File 'executeds.ini' not found!");
  23. return 0;
  24. }
  25. else {
  26. g_a_executedes=ArrayCreate(64);
  27. new i_File=fopen(s_File,"rt");
  28. new s_Buffer[64];
  29. while(!feof(i_File)) {
  30. fgets(i_File,s_Buffer,63);
  31. trim(s_Buffer);
  32. if(!s_Buffer[0] || s_Buffer[0]==';' || (s_Buffer[0]=='/' && s_Buffer[1]=='/')) {
  33. continue;
  34. }
  35. ArrayPushString(g_a_executedes,s_Buffer);
  36. }
  37. fclose(i_File);
  38. }
  39. return 0;
  40. }
  41.  
  42. public client_command(id) {
  43. if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)) return 0;
  44. new s_Arg[64],s_Curexecuted[64],s_Buffer[64];
  45. read_argv(0,s_Arg,63);
  46. for(new i=0;i<sizeof(szNotCheck);i++){
  47. if(equal(szNotCheck[i],s_Arg)) return 0;
  48. }
  49. for(new szArray=0;szArray<ArraySize(g_a_executedes);szArray++){
  50. ArrayGetString(g_a_executedes,szArray,s_Buffer,63);
  51. new i_StrLen=strlen(s_Buffer);
  52. if(s_Buffer[0]=='[' && s_Buffer[i_StrLen-1]==']') {
  53. format(g_a_Reason[id],i_StrLen-2,s_Buffer[1]);
  54. }
  55. ArrayGetString(g_a_executedes,(szArray+1),s_Curexecuted,63);
  56. if(equal(s_Curexecuted,s_Arg)) {
  57. server_cmd("kick #%d ^"%s^"",get_user_userid(id),g_a_Reason[id]);
  58. return 0;
  59. }
  60. }
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment