SA-MP Forums Archive
[Ajuda] Proibir o uso de xingamentos e IP's - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Proibir o uso de xingamentos e IP's (/showthread.php?tid=653735)



Proibir o uso de xingamentos e IP's - Poseidon4625 - 11.05.2018

Entгo pessoal eu nгo tenho a minima ideia de como bloquear palavras como fdp, pnc, etc, alguйm poderia me dar uma base ou me mostrar como fazer.

Exemplo o jogador escreveu "o pnc vem aqui", eu quero que palavras como essa ou divulgaзхes de IP sejam bloqueadas e nгo apareзa no chat para ninguйm, como posso fazer algo assim?


Re: Proibir o uso de xingamentos e IP's - Ermanhaut - 11.05.2018

https://sampwiki.blast.hk/wiki/OnPlayerText
https://sampwiki.blast.hk/wiki/Strfind

Estude estas funзхes


Re: Proibir o uso de xingamentos e IP's - AutoMatic2 - 11.05.2018

Fiz de 2 formas. uma com apenas avisar a ele para n falar palavrхes, a outra e avisar ele, se tiver 3/3 avisos e kickado(a)!

Modo 1:

PHP Code:
public OnPlayerText(playeridtext[])
{
    if(
strfind(text"pnc"true) != -|| strfind(text"vsf"true) != -1)
    {
        
SendClientMessageToAll(0xFF0000AA"| INFO | Nгo fale palavrхes!");
        return 
0;
    }
    return 
1;

Modo 2:

PHP Code:
// Topo do GM:
new avisos[MAX_PLAYERS]; 
//Public OnPlayerDisconnect:
avisos[playerid] = 0//Se for kickado(a) ou sair do server zera pra quando conectar comeзar do 0.
//Public OnPlayerText:
public OnPlayerText(playeridtext[])
{
    new 
string2256 ];
    new 
Aname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridAnamesizeof(Aname));
    
    if(
strfind(text"pnc"true) != -|| strfind(text"vsf"true) != -1)
    {
        if(
avisos[playerid] == 2Kick(playerid);
        {
            
avisos[playerid]++;
            
format(string2sizeof(string2), "| INFO-SERVER | O(A) BOT ForumSamp avisou o(a) jogador(a) %s (%d) ( Motivo: Respeito ) ( %d / 3 )"Anameplayeridavisos[playerid]);
            
SendClientMessageToAll(0xFF0000AAstring2);
        }
        return 
0;
    }
    return 
1;

no caso o avisos[playerid] == 2 vai ser 3 avisos. se xigar 3 vezes й kick!

Obs: Eu coloquei sу pnc e vsf '-' so colocar mais:

PHP Code:
if(strfind(text"pnc"true) != -|| strfind(text"vsf"true) != -|| strfind(text"Vago"true) != -|| strfind(text"Vago"true) != -1
ObsІ: A divulgaзгo e a mesma coisa, Mas se quiser colocar pra banir e sу assim oh:

PHP Code:
public OnPlayerText(playeridtext[])
{
    new 
string2256 ];
    new 
Aname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridAnamesizeof(Aname));
    
    if(
strfind(text":7777"true) != -1)
    {
        
format(string2sizeof(string2), "| INFO-SERVER | O(A) BOT ForumSamp baniu o(a) jogador(a) %s (%d) ( Motivo: Divulgaзгo de IP )"Anameplayerid);
        
SendClientMessageToAll(0xFF0000AAstring2);
        
Ban(playerid);
        return 
0;
    }
    return 
1;

Pq quem divulga merece um banzinho neh! :v

... vlw flw!


Re: Proibir o uso de xingamentos e IP's - F1N4L - 11.05.2018

Code:
static forbidden_words[][] = 
{
	"pnc", "fdp", "merda", "porra"
};

public OnPlayerText(playerid, text[])
{
	for(new x = 0; x < sizeof forbidden_words; ++ x)
	{
		if(strfind(text, forbidden_words[x], true, 0) > -1)
		{
			// palavrгo detectado
		}
	}

	return true;
}
Lembrando que isso vai detectar, inclusive, palavras juntas:
"toma essa porrada"
A frase acima detecta "porra", porйm a palavra й "porrada"...

Й uma base boa, mas para evitar isso й sу adaptar exceзхes...


Re: Proibir o uso de xingamentos e IP's - Poseidon4625 - 11.05.2018

vlw vou estudar essa base e fazer um prуprio.