como hago un Anti nombre de servidores
#1

como hago un sistema que por ejemplo mencionan "Feni""""", y simplemente no le sale lo mencionado por canal IC,OOC(/b) o por el canal de dudas...
Reply
#2

pawn Код:
new const PalabrasProhibidas[][] =
{
    {"texto1"},{"texto2"},{"texto3"}
};

for(new s = 0, r = sizeof(PalabrasProhibidas); s < r; s++)
{
    new p;
    while((p = strfind(string,PalabrasProhibidas[s],false)) != -1)
    {
        for(new i = p, j = p + strlen(PalabrasProhibidas[s]); i < j; i++)
        {
            string[i] = '*';
        }
    }
}
pones lo que no quieres que salga en el texto en el array y antes de mostrar el string aplicas el bucle
Reply
#3

El ejemplo de aoexe estб muy bien, este es otro: http://forum.sa-mp.com/showpost.php?...66&postcount=8

cambiarнan la palabra prohibida por cierto carбcteres censurбndolo,

Pero si en definitiva quieres que el mensaje que tenga una palabra prohibida no se envнe.

Se me ocurriу esto:

PHP код:
new LastWordForbidden[MAX_PLAYERS][32],
    
LastWorldTime[MAX_PLAYERS];
stock AntiSPAM(playeridstr[])
{
    if(!
IsPlayerConnected(playerid))
        return 
0;
    static const 
WordsForbidden[][16] =
    {
        
// Servidores o palabras prohibidas de nombrar
        
{"Servidor1"},    {"Servidor2"},    {"Servidor3"}, {"Servidor4"}, {"Servidor5"},
        {
"Servidor6"},     {"Servidor7"},     {"Servidor8"}, {"Servidor9"}, {"Servidor10"}
    };
    if(
LastWorldTime[playerid] > gettime())
    {
        if(
strfind(strLastWordForbidden[playerid], true))
        {
            return 
1;
        }
    }
    for(new 
i!= sizeof(WordsForbidden) ; i++)
    {
         if(
strfind(strWordsForbidden[i], true) == -1)
             continue;
           
strunpack(LastWordForbidden[playerid], WordsForbidden[i]);
        
LastWorldTime[playerid] = gettime()+60;
        return 
1;
    }
    return 
0;
}
public 
OnPlayerText(playeridtext[])
{
    if(
AntiSPAM(playeridtext))
    {
        
SendClientMessage(playerid, -1"No hagas SPAM!");
        return 
0// Evita que envie el mensaje si es una palabra prohibida.
    
}
    return 
1;

Reply
#4

Quote:
Originally Posted by _Zume
Посмотреть сообщение
El ejemplo de aoexe estб muy bien, este es otro: [url]https://sampforum.blast.hk/showthread.php?pid=331#pid331
No me servio el cуdigo, se sigue enviando los mensajes prohibido en los chats.
Reply
#5

Zume, la funciуn que citas que escribн hace un tiempo, tambiйn retorna la cantidad de palabras reemplazadas, por lo que si se hace una condiciуn como:

pawn Код:
if(detectar(cadena))
{
    // Se ejecutarб si se detectaron palabras que deben ser censuradas.
}
Y voilа.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)