Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. //================================[ ANTI BOT ]==================================
  2. new varz[MAX_PLAYERS] = {-1,...}, warns[MAX_PLAYERS] = {0,...}, bool:npcc[MAX_PLAYERS] = {false,...}, MAX_PLAYERS_ = MAX_PLAYERS;
  3.  
  4. //ovo onplayerconnect
  5. if(CountIP(GetPIP(playerid)) >= 5) return BanAll(playerid), 0;
  6. MAX_PLAYERS_ = playerid > MAX_PLAYERS_ ? playerid : GetHighestID(),
  7. npcc[playerid] = bool:IsPlayerNPC(playerid),
  8. varz[playerid] = SetTimerEx("BSS",2500,false,"i",playerid),
  9.  
  10. //ovo onplayerdisconnect
  11. MAX_PLAYERS_ = GetHighestID(playerid);
  12. if(npcc[playerid]) npcc[playerid] = false;
  13. if(varz[playerid] != -1)
  14. {
  15. KillTimer(varz[playerid]);
  16. varz[playerid] = -1;
  17. }
  18.  
  19. forward BSS(playerid);
  20. public BSS(playerid)
  21. {
  22. new i = GetPlayerPing(playerid);
  23. if(i <= 0 || i >= 50000)
  24. {
  25. if(warns[playerid] >= 1) BanAll(playerid);
  26. else warns[playerid]++, varz[playerid] = SetTimerEx("BSS",1500,false,"i",playerid);
  27. }
  28. return 0;
  29. }
  30. GetPIP(playerid)
  31. {
  32. new ip[16];
  33. GetPlayerIp(playerid,ip,sizeof(ip));
  34. return ip;
  35. }
  36. BanAll(playerid)
  37. {
  38. new ip[32];
  39. GetPlayerIp(playerid,ip,sizeof(ip));
  40. for(new i = 0, p = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !npcc[i])
  41. {
  42. p = GetPlayerPing(i);
  43. if(i == playerid || !strcmp(ip,GetPIP(i)) || p <= 0 || p >= 50000)
  44. {
  45. BanEx(i,"Bot");
  46. if(varz[i] != -1)
  47. {
  48. KillTimer(varz[i]);
  49. varz[i] = -1;
  50. }
  51. }
  52. }
  53. format(ip,sizeof(ip),"banip %s",ip);
  54. return SendRconCommand(ip);
  55. }
  56. GetHighestID(exceptof = INVALID_PLAYER_ID)
  57. {
  58. new h = 0;
  59. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && i != exceptof && i > h) h = i;
  60. return h;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement