Advertisement
Guest User

Filter skripta ANTI CHEAT

a guest
Jun 27th, 2020
1,607
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.96 KB | None | 0 0
  1. #include "a_samp"
  2.  
  3. new var[MAX_PLAYERS] = {-1,...}, warns[MAX_PLAYERS] = {0,...}, bool:npc[MAX_PLAYERS] = {false,...}, MAX_PLAYERS_ = MAX_PLAYERS;
  4.  
  5.  
  6. new Float:_oldHealth, Float:_oldArmour;
  7.  
  8. new pMoney[MAX_PLAYERS];
  9.  
  10. new PlayerPressedJump[MAX_PLAYERS];
  11.  
  12. new Timer[MAX_PLAYERS];
  13. #define MAX_PING 700
  14. #define MAX_CAR_SPEED 450
  15. public OnFilterScriptInit()
  16. {
  17.     SendRconCommand("12345");
  18.     print("------------------------------------------------------");
  19.     print("-------------Anti Cheat------");
  20.     print("------------------------------------------------------");
  21.     return 1;
  22. }
  23.  
  24. forward CP(playerid);
  25.  
  26. forward PJ(playerid);
  27.  
  28. forward PJR(playerid);
  29.  
  30. forward CarSpeed(playerid);
  31. public OnPlayerConnect(playerid)
  32. {
  33.     pMoney[playerid] = 0;
  34.     if(CountIP(GetIP(playerid)) >= 2) return BA(playerid), 0;
  35.     MAX_PLAYERS_ = playerid > MAX_PLAYERS_ ? playerid : GetHighestID(),
  36.     npc[playerid] = bool:IsPlayerNPC(playerid),
  37.     var[playerid] = SetTimerEx("Vrana",2500,false,"i",playerid),
  38.     warns[playerid] = 0;
  39.     return 1;
  40. }
  41. public OnPlayerDisconnect(playerid, reason)
  42. {
  43.     pMoney[playerid] = 0;
  44.     MAX_PLAYERS_ = GetHighestID(playerid);
  45.     if(npc[playerid]) npc[playerid] = false;
  46.     if(var[playerid] != -1)
  47.     {
  48.         KillTimer(var[playerid]);
  49.         var[playerid] = -1;
  50.     }
  51.     warns[playerid] = 0;
  52.     return 1;
  53. }
  54. public OnPlayerSpawn(playerid)
  55. {
  56.     Timer[playerid] = SetTimerEx("CP",990,1,"i",playerid);
  57.     return 1;
  58. }
  59. public OnPlayerUpdate(playerid)
  60. {
  61.     new Float:health, Float:armour;
  62.     GetPlayerHealth(playerid,health);
  63.     GetPlayerArmour(playerid,armour);
  64.     _oldHealth = health;
  65.     _oldArmour = armour;
  66.     new PlayerWeapon[MAX_PLAYERS];
  67.     new gunname[32];
  68.     new string[120];
  69.     PlayerWeapon[playerid] = GetPlayerWeapon(playerid);
  70.     if(PlayerWeapon[playerid] == 38 || PlayerWeapon[playerid] == 39 || PlayerWeapon[playerid] == 36 || PlayerWeapon[playerid] == 35 || PlayerWeapon[playerid] == 37 || PlayerWeapon[playerid] == 40)
  71.     {
  72.         GetWeaponName(PlayerWeapon[playerid],gunname,sizeof(gunname));
  73.         format(string,sizeof(string),"{FF00FF}[Anti Cheat] {15FF00}Igrac: {FF0000}%s {15FF00}je ID: {FF0000} %d {15FF00}je kikovan  {FF0000}sa servera || {FFFF00}Razlog: {15FF00}Weapon Hack",GetName(playerid),playerid,gunname);
  74.         SendClientMessageToAll(-1,string);
  75.         Kick(playerid);
  76.     }
  77.     if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  78.     {
  79.         new string2[120];
  80.         format(string,sizeof(string),"{FF00FF}[Anti Cheat] {15FF00}Igrac: {FF0000}%s {15FF00}je ID: {FF0000} %d {15FF00}has been Kicked {FF0000}sa servera || {FFFF00}Razlog: {15FF00}Jetpack Hack",GetName(playerid),playerid);
  81.         SendClientMessageToAll(-1,string2);
  82.         Kick(playerid);
  83.     }
  84.     new pName[MAX_PLAYER_NAME];
  85.     if(GetPlayerMoney(playerid) > pMoney[playerid])
  86.     {
  87.         GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  88.     }
  89.     return 1;
  90. }
  91. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
  92. {
  93.     if(playerid != INVALID_PLAYER_ID)
  94.     {
  95.         new Float:nHealth, Float:nArmour, localString[128],pName[24];
  96.         GetPlayerHealth(playerid,nHealth);
  97.         GetPlayerArmour(playerid,nArmour);
  98.         GetPlayerName(playerid,pName,24);
  99.         if(nHealth == _oldHealth && nArmour == _oldArmour)
  100.         {
  101.             format(localString,sizeof(localString),"{FF00FF}[Anti Cheat] {15FF00}Igrac: {FF0000}%s {15FF00}je ID: {FF0000} %d {15FF00}je kikovan {FF0000}sa servera || {FFFF00}Razlog: {15FF00}Health Hack God mode");
  102.             SendClientMessageToAll(-1,localString);
  103.             Kick(playerid);
  104.         }
  105.     }
  106.     return 1;
  107. }
  108. public CP(playerid)
  109. {
  110.     if(GetPlayerPing(playerid) > MAX_PING) Kick(playerid);
  111. }
  112. public PJ(playerid)
  113. {
  114.     PlayerPressedJump[playerid] = 0;
  115.     ClearAnimations(playerid);
  116.     return 1;
  117. }
  118. public PJR(playerid)
  119. {
  120.     PlayerPressedJump[playerid] = 0;
  121.     return 1;
  122. }
  123. stock a_SetPlayerMoney(playerid, money)
  124. {
  125.     pMoney[playerid] = money;
  126.     ResetPlayerMoney(playerid);
  127.     GivePlayerMoney(playerid, money);
  128. }
  129. stock GetName(playerid)
  130. {
  131.     new pName22[68];
  132.     GetPlayerName(playerid, pName22, sizeof(pName22));
  133.     return pName22;
  134. }
  135. stock GetPlayerSpeed(playerid)
  136. {
  137.     new Float:ST[4];
  138.     if(IsPlayerInAnyVehicle(playerid))
  139.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  140.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  141.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
  142.     return floatround(ST[3]);
  143. }
  144. stock a_GivePlayerMoney(playerid, money)
  145. {
  146.     pMoney[playerid] += money;
  147.     GivePlayerMoney(playerid, money);
  148. }
  149. stock CountIP(ip[])
  150. {
  151.     new c = 0;
  152.     for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !strcmp(GetIP(i),ip)) c++;
  153.     return c;
  154. }
  155. forward BSS(playerid);
  156. public BSS(playerid)
  157. {
  158.     new i = GetPlayerPing(playerid);
  159.     if(i <= 0 || i >= 50000)
  160.     {
  161.         if(warns[playerid] >= 1) BA(playerid);
  162.         else warns[playerid]++, var[playerid] = SetTimerEx("Vrana",1500,false,"i",playerid);
  163.     }
  164.     return 0;
  165. }
  166. stock GetIP(playerid)
  167. {
  168.     new ip[16];
  169.     GetPlayerIp(playerid,ip,sizeof(ip));
  170.     return ip;
  171. }
  172. stock BA(playerid)
  173. {
  174.     new ip[32];
  175.     GetPlayerIp(playerid,ip,sizeof(ip));
  176.     for(new i = 0, p = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !npc[i])
  177.     {
  178.         p = GetPlayerPing(i);
  179.         if(i == playerid || !strcmp(ip,GetIP(i)) || p <= 0 || p >= 50000)
  180.         {
  181.             BanEx(i,"Bot");
  182.             if(var[i] != -1)
  183.             {
  184.                 KillTimer(var[i]);
  185.                 var[i] = -1;
  186.             }
  187.         }
  188.     }
  189.     format(ip,sizeof(ip),"banip %s",ip);
  190.     return SendRconCommand(ip);
  191. }
  192. stock GetHighestID(exceptof = INVALID_PLAYER_ID)
  193. {
  194.     new h = 0;
  195.     for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && i != exceptof && i > h) h = i;
  196.     return h;
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement