Advertisement
Guest User

Ranticheat

a guest
Feb 1st, 2015
538
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. //--------------
  4. #define DIALOG_ANTI 10
  5. #define MAX_SPAM 3
  6. #define MAX_DECREASECOUNT 5
  7.  
  8. #define COLOR_RED 0xFF0000AA
  9.  
  10. new PlayerSpam[MAX_PLAYERS];
  11.  
  12. new SpamTimer[MAX_PLAYERS];
  13.  
  14. new BannedInGame[MAX_PLAYERS];
  15.  
  16. new PlayerMoney[MAX_PLAYERS];
  17.  
  18.  
  19. //----------------------
  20.  
  21. public OnFilterScriptInit()
  22. {
  23. print("\n****************************************");
  24. print("* Anti cheat system by RarKozz *");
  25. print("****************************************\n");
  26. return 1;
  27. }
  28. public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
  29. {
  30. if(weaponid == WEAPON_MINIGUN && hittype == BULLET_HIT_TYPE_PLAYER)
  31. {
  32. if(BannedInGame[playerid] == 1)return 0;
  33. BannedInGame[playerid] = 1;
  34. new name[MAX_PLAYER_NAME], str[128];
  35. GetPlayerName(playerid, name,sizeof(name));
  36. format(str,sizeof(str), "{FF0000}[ANTI-CHEAT]: %s has been banned by the server - Reason: Minigun",name);
  37. SendClientMessageToAll(-1, str);
  38. SetTimerEx("ban", 1000, false, "i", playerid);
  39. }
  40. return 1;
  41. }
  42. forward ban(playerid);
  43. public ban(playerid)
  44. {
  45.  
  46. SendClientMessage(playerid, -1, "{FF0000}[BOT]: You have been banned for using minigun.");
  47. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"BANNED", "{FF0000}You have been banned by the server\nIf you have been banned by mistake please make a ban appeal at www.website.com","Exit","");
  48. Ban(playerid);
  49. BannedInGame[playerid] = 0;
  50. return 1;
  51. }
  52.  
  53. public OnRconLoginAttempt(ip[], password[], success)
  54. {
  55. if(!success)
  56. {
  57. new PlayerIP[16];
  58. for(new i = 12; i< MAX_PLAYERS; i++)
  59. {
  60. GetPlayerIp(i, PlayerIP,sizeof(PlayerIP));
  61. if(!strcmp(ip, PlayerIP, true))
  62. {
  63. ShowPlayerDialog(i, 1, DIALOG_STYLE_MSGBOX,"BANNED", "{FF0000}You have been banned by the server\nIf you have been banned by mistake please make a ban appeal at www.website.com","Exit","");
  64. SetTimerEx("BannedRcon", 1000, false, "i");
  65. TogglePlayerControllable(i,0);
  66. }
  67. }
  68. }
  69. return 1;
  70. }
  71. public OnPlayerDeath(playerid, killerid, reason)
  72. {
  73. if(GetPlayerWeapon(killerid) == 35) Ban(killerid);
  74. if(GetPlayerWeapon(killerid) == 36) Ban(killerid);
  75. SetTimerEx("BannedHack", 1000, false, "i");
  76. return 1;
  77. }
  78.  
  79. forward BannedHack(playerid);
  80. public BannedHack(playerid)
  81. {
  82. Ban(playerid);
  83. return 1;
  84. }
  85.  
  86. forward BannedRcon(i);
  87. public BannedRcon(i)
  88. {
  89. new attemptedname[MAX_PLAYER_NAME], str[128];
  90. GetPlayerName(i, attemptedname,sizeof(attemptedname));
  91. format(str,sizeof(str), "{FF0000}[ANTI-CHEAT]: %s has been banned for rcon login attempt.", attemptedname);
  92. SendClientMessageToAll(-1,str);
  93. Ban(i);
  94. return 1;
  95. }
  96. public OnPlayerConnect(playerid)
  97. {
  98. PlayerSpam[playerid] = 0;
  99. PlayerMoney[playerid] = 0;
  100. return 1;
  101. }
  102. public OnPlayerDisconnect(playerid)
  103. {
  104. PlayerSpam[playerid] = 0;
  105. PlayerMoney[playerid] = 0;
  106. return 1;
  107. }
  108.  
  109. public OnPlayerText(playerid, text[])
  110. {
  111. SpamTimer[playerid] = SetTimerEx("DecreaseSpam",MAX_DECREASECOUNT*1000,1,"",playerid);
  112. if(PlayerSpam[playerid] < MAX_SPAM)
  113. {
  114. PlayerSpam[playerid] ++;
  115. }
  116. else if(PlayerSpam[playerid] >= MAX_SPAM)
  117. {
  118. new TalkS[120],string[120], name[MAX_PLAYER_NAME];
  119. GetPlayerName(playerid, name,sizeof(name));
  120. format(string,sizeof(string), "{FF0000}[ANTI-CHEAT]: %s(ID: %d) has been kicked from the server - Reason: Spam",name, playerid);
  121. SendClientMessageToAll(-1,string);
  122. format(TalkS,sizeof(TalkS), "{FF0000}You have been kicked for spamming.");
  123. ShowPlayerDialog(playerid, DIALOG_ANTI, DIALOG_STYLE_MSGBOX,"{FF0000}ANTI CHEAT",TalkS,"OK","");
  124.  
  125. PlayerSpam[playerid] = 0;
  126. KillTimer(SpamTimer[playerid]);
  127. SetTimerEx("SpamTimerKick", 1000, false, "i", playerid);
  128. }
  129. return 1;
  130. }
  131. forward SpamTimerKick(playerid);
  132. public SpamTimerKick(playerid)
  133. {
  134. SendClientMessage(playerid, -1, "{FF0000}[ANTI-CHEAT]: {FFFFFF}You have been kicked for spamming");
  135. Kick(playerid);
  136. return 1;
  137. }
  138. forward DecreaseSpam(playerid);
  139. public DecreaseSpam(playerid)
  140. {
  141. PlayerSpam[playerid] --;
  142. return 1;
  143. }
  144. public OnPlayerUpdate(playerid)
  145. {
  146. new pname[MAX_PLAYER_NAME], string[128];
  147. if(GetPlayerMoney(playerid) > PlayerMoney[playerid])
  148. {
  149. GetPlayerName(playerid, pname,sizeof(pname));
  150. format(string, sizeof(string), "{FF0000}[ANTI-CHEAT]: * %s has been banned by the anti cheat - Reason: Money hack", pname);
  151. SendClientMessageToAll(-1, string);
  152. BanEx(playerid, "Money hack");
  153. }
  154. return 1;
  155. }
  156. stock a_GivePlayerMoney(playerid, money)
  157. {
  158. pMoney[playerid] += money;
  159. GivePlayerMoney(playerid, money);
  160. }
  161. stock a_SetPlayerMoney(playerid, money)
  162. {
  163. pMoney[playerid] = money;
  164. ResetPlayerMoney(playerid);
  165. GivePlayerMoney(playerid);
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement