[FilterScript] Chat Protect [Seguranзa em seu Chat]
#1


Por DraKiNs
Introduзгo:

Bom apуs um tempo construindo isto, resolvi publica-lo, trata-se um um Avanзado Guarda para Chat ele detecta qualquer tentativa de Burlamento Possнvel,claro que nem sempre pois й um Robo,mas й ultramente bom..

Funзхes:



• Anti-IP:

Este avanзado sistema faz um sistema de contagem caso detectar 8 nъmero contidos em uma string ele simplesmente Kick o player,sistema 100% confiбvel,nunca Falha..
Observe Exemplo com um IP Fictнcio:

♦ 189.0.1.456.1 - Kick
♦ 189 0 1 456 1 - Kick
♦ 189-0-1-456-1 - Kick

Como podem ver Qualquer tipo de Burlamento ele Detecta!




• Anti-Palavreado:

Mesmo sistema que o Anti IP,porйm esse й feito por Distancia de um Caracter e outro,impossibilitando Burlar
Vamos pegar um Exemplo ultilizando a palavra 'FODER',desculpe o palavreado,nгo estou a ofender ninguйm

♦ FODER - Returna Zero
♦ F0D3R - Returna Zero
♦ FO-DER - Returna Zero
♦ F-O-D-E-R - Returna Zero

Qualquer tentiva de Burlar ele pega,claro que devemos adicionar as palavras

N_PALAVREADO - Nъmero de Mбs Palavras




• Anti-Sites:

Ele tem um Sistema para nгo permitir que certas URL sejam colocadas em Vosso servidor como exemplo vamos pegar o site www.******.com:

♦ www~******~com -Returna Zero
♦ www,******,com -Returna Zero
♦ www_******_com -Returna Zero
♦ www********com -Returna Zero

Qualquer tentiva de burlamento ele Bloqueia



• Anti-Fake-Chat:

Bom caso nгo saibam tem os Engradinhos que dгo alguns espaзos a mais e fazem Fake Chat exemplo

Bruno_Bandidez (24): Oi
DraKiNs (10): Eu Sou Gay


Obs: O Nick Bruno foi apenas um exemplo,foi a primeira pessoa que pensei ♥ (Depois de Roam e Andmeida)




• Anti-CapsLock:

Bom tem muita gente que usa CapsLock para chamar atenзгo entгo resolvi criar isso,espero que tenham gostando tambйm!

DraKiNs(24): OI EU SOU O DraKiNs

Para

DraKiNs (24): oi eu sou o drakins

Cуdigo:

Versгo 2.0 Sem Bugs
pawn Код:
#include <a_samp>
#define SearchTrue(%1,%2) if(strfind(%1,%2,true)!=-1)

//Anti Publicar Sites
static Sites[22][] =
{
    ".net", ".ch", ".com", ".br","art.br",".ru",".zip",".blogspot",".forumeiros",
    ".info", ".org",".edu",".jus","wiki.","vlog.br","adm.br",
    "co.cc",".tk","www.","http",".us",".tv"
};

//Anti Palavreado
static Word[23][] =
{
    "puta", "fdp","aranga", "vagab","broxa","ignorant","comed",
    "ejacu","prosti","cachorr", "surub","peni","chup","pau","viad","perere","mae",
    "bucet","cu","bicha.","bixa","gay","desgra"
};

public OnPlayerText(playerid,text[])
{
    new sizes = strlen(text),cont = 0,zString[128];
    format(zString,128,text);

    //Anti Burlamento Palavreado
    for(new st = 0; st < sizes; st++) {
        if(zString[ st ] == '4') zString[ st ] = 'a';
        if(zString[ st ] == '3') zString[ st ] = 'e';
        if(zString[ st ] == '5') zString[ st ] = 's';
        if(zString[ st ] == '8') zString[ st ] = 'b';
        if(zString[ st ] == '7') zString[ st ] = 't';
        if(zString[ st ] == '0') zString[ st ] = 'o';
        if(zString[ st ] == '1') zString[ st ] = 'i';
    }
    new cs;
    for( new st = 0 ; st < 23; st++) {
        if((zString[ st ]>='a' && zString[ st ]<='z') || (zString[ st ]>='A' && zString[ st ]<='Z')) {
            if(! cs || ( cs && zString[ cs - 1 ] != zString[ st ])) {
                zString[ cs ] = zString[ st ];
                cs++;
            }
        }
        if( cs >= zString[ st ])
            break;
    }
    for(new s = 0 ; s <= 23;++ s) SearchTrue(zString,Word[ s ]) {
        SendClientMessage(playerid,0xC9170EFF,"[ERRO] Favor cuidado com o que fale (Suspeita de Palavreado)");
        return false;
    }
    for(new s = 0 ; s <= 23; ++ s) SearchTrue(zString,Sites[s]) {
        SendClientMessage(playerid,0xC9170EFF,"[ERRO] Favor nгo publique nenhum site");
        return false;
    }
    //Anti Fake Chat
    if(sizes > 64) {
        SendClientMessage(playerid,0xC9170EFF,"[ERRO] Nъmero de Caraters Agingido [64]");
        return false;
    }
    //Anti Letras Maisculas
    for (new i = 0 ; i < sizes; i++) {
        if (text[ i ] > 64 && text[ i ] < 91 )
            text[ i ] += 32;

         //Anti Publicador de IPs
        if ((text[ i ] >= 47) && (text[ i ] <= 58))
            cont++;
        if (cont >= 8 && cont <= 16) {
            for (new xs = 0; xs < sizes; xs++) if((text[ xs ] == 46) || (text[ xs ] == 58)) {
                Kick(playerid);
                return false;
            }
        }
    }
    return true;
}
Ou:

http://pastebin.com/67xbZDdu - Versгo 1.0 Bugados os Returns

Crйditos:

Bom vou deixar Crйditos a Mim, e a Dark..
E pela Ajuda que Flбvio me deu...
Reply
#2

O.O foda!
Reply
#3

ual que simples cara *-*
gostei
parabens
Reply
#4

O.o Fodex!!
Reply
#5

Legal! salvei como: antinoob
Reply
#6

drakon surgiu uma duvida

eu nгo teria que chamar as public exemplo no onplayertext?

AntiSites(text[]); etc...?

ou ele chama sozinho?nгo precisando mexer em anda no fs?
Reply
#7

jб chama tudo...

antisites й opcional,se quiser substitua:

pawn Код:
#define PROTECT_CHAT(%2,%3,%4); \
    AntiPublic(playerid,text); \
        if(MaxString(text,%2)) return SendClientMessage(playerid,%3,%4); \
            StringMinuscula(text); \
                if(AntiBadWord(text)) return false;
para

pawn Код:
#define PROTECT_CHAT(%2,%3,%4); \
    AntiPublic(playerid,text); \
        if(MaxString(text,%2)) return SendClientMessage(playerid,%3,%4); \
            StringMinuscula(text); \
                if(AntiBadWord(text)) return false; \
                         if(AntiSites(text)) return false;
Reply
#8

hahaha usaste o que eu disse de ... dos numeros e assim... HEHE

bom trabalho apesar de ja ter visto

pah eu ja tinha visto esse nome em algum lado XD ( e o meu nome ingame... )
Reply
#9

Quote:
Originally Posted by DarK TeaM PT
Посмотреть сообщение
D ( e o meu nome ingame... )
Serio? Nossa, й o nosso destino Dark,=D
Reply
#10

lol nao inventes tu sabes bem... XD eu so tava a dizer ao pessoal do forum XD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)