Advertisement
Guest User

Chat Protect

a guest
Sep 12th, 2010
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.18 KB | None | 0 0
  1. #include <a_samp>
  2. #define PROTECT_CHAT(%2,%3,%4); \
  3.     AntiPublic(playerid,text); \
  4.         if(MaxString(text,%2)) return SendClientMessage(playerid,%3,%4); \
  5.             StringMinuscula(text); \
  6.                 if(AntiBadWord(text)) return false;
  7. public OnPlayerText(playerid,text[])
  8. {
  9.     PROTECT_CHAT(64,0xC9170EFF,"[ERRO]: Número de Caraters Agingido [64]");
  10.     return true;
  11. }
  12. stock AntiBadWord(text[])
  13. {
  14.     #define N_PALAVREADO 23
  15.     new Word[N_PALAVREADO][] =
  16.     {
  17.         "puta", "fdp","aranga", "vagab","broxa","ignorant","comed",
  18.         "ejacu","prosti","cachorr", "surub","peni","chup","pau","viad","perere","mae",
  19.         "bucet","cu","bicha.","bixa","gay","desgra"
  20.     };
  21.     #define Parar break;
  22.     #define SearchTrue(%1,%2) \
  23.         if(strfind(%1,%2,true)!=-1) return true;
  24.     new string[128]; format(string,128,text);
  25.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  26.         if(string[ st ] == '4') string[ st ] = 'a';
  27.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  28.         if(string[ st ] == '3') string[ st ] = 'e';
  29.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  30.         if(string[ st ] == '5') string[ st ] = 's';
  31.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  32.         if(string[ st ] == '8') string[ st ] = 'b';
  33.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  34.         if(string[ st ] == '7') string[ st ] = 't';
  35.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  36.         if(string[ st ] == '0') string[ st ] = 'o';
  37.     for(new st = 0 , j = strlen(text) ; st <= j; ++st)
  38.         if(string[ st ] == '1') string[ st ] = 'i';
  39.     new cs;
  40.     for( new st = 0 , j = 22; st <= j; ++st)
  41.     {
  42.         if((string[ st ]>='a' && string[ st ]<='z') || (string[ st ]>='A' && string[ st ]<='Z'))
  43.         {
  44.             if(! cs || ( cs && string[ cs - 1 ] != string[ st ]))
  45.             {
  46.                 string[ cs ] = string[ st ];
  47.                 cs++;
  48.             }
  49.         }
  50.         if( cs >= string[ st ])
  51.             Parar
  52.     }
  53.     for(new s = 0 ; s <= N_PALAVREADO;++ s) SearchTrue(string,Word[ s ])
  54.     return false;
  55. }
  56.  
  57. stock AntiSites(text[])
  58. {
  59.     new string[ 128 ]; format(string,128,text);
  60.     #define N_SITES 23
  61.     #define SearchTrue(%1,%2) if(strfind(%1,%2,true)!=-1) return true;
  62.     new Sites[ N_SITES ][] =
  63.     {
  64.         ".net", ".ch",".com", ".br",
  65.         "art.br",".ru",".zip",".blogspot",".forumeiros",
  66.         ".info", ".org",".edu",".jus","wiki.","vlog.br",
  67.         "adm.br","co.cc",".tk","www.","http",".us",".tv"
  68.     };
  69.     for(new s = 0 ; s <= N_SITES; ++ s) SearchTrue(string,Word [ s ])
  70.     return false;
  71. }
  72. stock MaxString(text[],max)
  73. {
  74.     new size = strlen(text);
  75.     if(size > max)
  76.         return true;
  77.     return false;
  78. }
  79.  
  80. stock AntiPublic(playerid,text[])
  81. {
  82.     new sizes_s = strlen(text);
  83.     new cont = 0;
  84.     for (new i = 0 ; i <= sizes_s; i++) if ((text[ i ] >= 47) && (text[ i ] <= 58)) cont++;
  85.     if (cont >= 8 && cont <= 16)
  86.     {
  87.         for (new xs = 0; xs <= sizes_s; xs++) if((text[ xs ] == 46) || (text[ xs ] == 58))
  88.         {
  89.             Kick(playerid);
  90.             return false;
  91.         }
  92.     }
  93.     return true;
  94. }
  95. stock StringMinuscula(text[])
  96. {
  97.     new size=strlen(text);
  98.     for (new LowerC = 0; LowerC <= size; LowerC ++)
  99.         if (text[ LowerC ] > 64 && text[ LowerC ] < 91 ) text[ LowerC ] += 32;
  100.     return true;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement