Advertisement
Guest User

Jnr3 Anti Cheater v1.0

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