08.02.2015, 22:22
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...
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] = '*';
}
}
}
new LastWordForbidden[MAX_PLAYERS][32],
LastWorldTime[MAX_PLAYERS];
stock AntiSPAM(playerid, str[])
{
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(str, LastWordForbidden[playerid], true))
{
return 1;
}
}
for(new i; i != sizeof(WordsForbidden) ; i++)
{
if(strfind(str, WordsForbidden[i], true) == -1)
continue;
strunpack(LastWordForbidden[playerid], WordsForbidden[i]);
LastWorldTime[playerid] = gettime()+60;
return 1;
}
return 0;
}
public OnPlayerText(playerid, text[])
{
if(AntiSPAM(playerid, text))
{
SendClientMessage(playerid, -1, "No hagas SPAM!");
return 0; // Evita que envie el mensaje si es una palabra prohibida.
}
return 1;
}
if(detectar(cadena))
{
// Se ejecutarб si se detectaron palabras que deben ser censuradas.
}