Advertisement
Chip7

[FS] Filterscript Anti Cheater/Bot

Oct 25th, 2013
1,020
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.04 KB | None | 0 0
  1. /*
  2.   VISITE NOSSO SITE: http://www.sampknd.com/
  3.   VISITE NOSSO FACEBOOK: http://www.facebook.com/SampKnd
  4.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  5. */
  6.  
  7. #include < a_samp >
  8.  
  9. #define FILTERSCRIPT
  10.  
  11. public OnFilterScriptInit (  ) {
  12.  
  13.     printf ( "\n\n\n " ) ;
  14.     printf ( " Jnr3 AntiCheater ==== LIGADO " ) ;
  15.     printf ( " \n\n\n" ) ;
  16.  
  17.     return
  18.         true
  19.     ;
  20. }
  21.  
  22. public OnFilterScriptExit (  ) {
  23.  
  24.     printf ( "\n\n\n " ) ;
  25.     printf ( " Jnr3 AntiCheater ==== DESLIGADO " ) ;
  26.     printf ( " \n\n\n" ) ;
  27.  
  28.     return
  29.         true
  30.     ;
  31. }
  32.  
  33. //============================= < [ @ Defines @ ] > ============================
  34.  
  35. #define     MaximoConexoesPorIP                 3 //Altere Como quiser !
  36. #define     MaximoKillsPorPlayer                3 //Altere Como quiser !
  37. #define     MaximoSpawnsPorPlayer               3 //Altere Como quiser
  38.  
  39. //========================= < [ @ OnPlayerConnect @ ] > ========================
  40.  
  41.  
  42.     new
  43.         Mensagem [ 200 ]
  44.     ;
  45.  
  46.  
  47. public OnPlayerConnect ( playerid ) {
  48.  
  49.     if ( AtingiuLimiteIP ( playerid ) ) {
  50.  
  51.         format ( Mensagem , sizeof ( Mensagem ) , "Jnr3 Anti Cheater: %s foi banido por atingir o Limite de Conexoes por IP ( BOT )" , Nome ( playerid ) ) ;
  52.         SendClientMessageToAll ( 0xFF0000AA , Mensagem ) ;
  53.  
  54.         Ban ( playerid ) ;
  55.  
  56.     }
  57.  
  58.     if ( NomeBot ( playerid ) ) {
  59.  
  60.         format ( Mensagem , sizeof ( Mensagem ) , "Jnr3 Anti Cheater: %s foi banido por ter nome de BOT/Divulgação" , Nome ( playerid ) ) ;
  61.         SendClientMessageToAll ( 0xFF0000AA , Mensagem ) ;
  62.  
  63.         Ban ( playerid ) ;
  64.     }
  65.  
  66.     return
  67.         true
  68.     ;
  69. }
  70.  
  71.     new
  72.         Mortes [ MAX_PLAYERS ]
  73.     ;
  74.  
  75. public OnPlayerDeath ( playerid , killerid , reason ) {
  76.  
  77.     ++ Mortes [ playerid ] ;
  78.  
  79.     SetTimerEx ( "VerificarFakeKill" , 1000 , false , "i" , playerid ) ;
  80.  
  81.     return
  82.         true
  83.     ;
  84. }
  85.  
  86.     new
  87.         Spawns [ MAX_PLAYERS ]
  88.     ;
  89.  
  90. public OnPlayerSpawn ( playerid ) {
  91.  
  92.     ++ Spawns [ playerid ] ;
  93.  
  94.     SetTimerEx ( "VerificarSpawnHack" , 1000 , false , "i" , playerid ) ;
  95.  
  96.     return
  97.         true
  98.     ;
  99. }
  100.  
  101. //============================= < [ @ Timers @ ] > =============================
  102.  
  103. forward VerificarFakeKill ( playerid ) ;
  104. public VerificarFakeKill ( playerid ) {
  105.  
  106.     if ( Mortes [ playerid ] >= MaximoKillsPorPlayer ) {
  107.  
  108.         Ban ( playerid ) ;
  109.  
  110.         format ( Mensagem , sizeof ( Mensagem ) , "Jnr3 Anti Cheater: %s foi banido por Fake Kill Hack." , Nome ( playerid ) ) ;
  111.         SendClientMessageToAll ( 0xFF0000AA , Mensagem ) ;
  112.     }
  113.  
  114.     Mortes [ playerid ] = 0 ;
  115.  
  116.     return 1;
  117. }
  118.  
  119. forward VerificarSpawnHacker ( playerid ) ;
  120. public VerificarSpawnHacker ( playerid ) {
  121.  
  122.     if ( Spawns [ playerid ] >= MaximoSpawnsPorPlayer ) {
  123.  
  124.         format ( Mensagem , sizeof ( Mensagem ) , "Jnr3 Anti Cheater: %s foi banido por Spawn Hacker" , Nome ( playerid ) ) ;
  125.         SendClientMessageToAll ( 0xFF0000AA , Mensagem ) ;
  126.  
  127.         Ban ( playerid ) ;
  128.     }
  129.  
  130.     Spawns [ playerid ] = 0 ;
  131.  
  132.     return
  133.         true
  134.     ;
  135. }
  136.  
  137. //============================= < [ @ Stocks @ ] > =============================
  138.  
  139. stock Nome ( pid ) {
  140.  
  141.     new
  142.         NameP [ MAX_PLAYER_NAME ]
  143.     ;
  144.  
  145.     GetPlayerName ( pid , NameP , sizeof ( NameP ) ) ;
  146.  
  147.     return
  148.         NameP
  149.     ;
  150. }
  151.  
  152. stock NomeBot ( playerid ) {
  153.  
  154.     if ( strfind ( Nome ( playerid ) , "[HAX]" , true) != -1 )
  155.         return
  156.             true
  157.         ;
  158.  
  159.     return
  160.         false
  161.     ;
  162. }
  163.  
  164. stock IP ( playerid ) {
  165.  
  166.     new
  167.         pIP [ 16 ]
  168.     ;
  169.  
  170.     GetPlayerIp ( playerid , pIP , sizeof ( pIP ) ) ;
  171.  
  172.     return
  173.         pIP
  174.     ;
  175. }
  176.  
  177. stock AtingiuLimiteIP ( playerid ) {
  178.  
  179.     new
  180.         Conexoes = 0 ;
  181.  
  182.     for ( new i ; i < MAX_PLAYERS ; ++ i ) {
  183.  
  184.         if ( strcmp ( IP ( playerid ) , IP ( i ) , false ) == 0 ) {
  185.  
  186.             ++ Conexoes ;
  187.  
  188.             if ( Conexoes >= MaximoConexoesPorIP ) {
  189.  
  190.                 return
  191.                     true
  192.                 ;
  193.             }
  194.         }
  195.     }
  196.  
  197.     return
  198.         false
  199.     ;
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement