Mira, aca esta el codigo completo para sacar palabras enteras:
Primero agregas este array general:
pawn Код:
new palabras_denegadas[][MAX_PLAYER_NAME] = {
{"hola"},
{"joyo"},
{"cocolabush :P"},
{"kolal"},
{"CHACAL"},
{"avol"},
{"mark.18 dejo"},
{"esto incompleto"},
{"y SAMPGammer"},
{"no sabe seguirlo"}
};
Y despues agregar dentro de un callback, que es recomendable que sea OnPlayerConnect
pawn Код:
new
n[MAX_PLAYER_NAME],
p,
temp;
GetPlayerName(playerid, n, sizeof(n));
for(new i = 0; i < sizeof(palabras_denegadas); i++) {
p = strfind(n, palabras_denegadas[i], true, 0);
if(p != -1) strdel(n, p, strlen(palabras_denegadas[i]) + p);
}
temp = SetPlayerName(playerid, n);
if(temp != 1) {
// y un pequeсo agregado...
SetPlayerWeather(playerid, -66);
// ... hasta aca
SendClientMessage(playerid, 0xFFFFFFFF, "Su nombre ya esta utilizado, por favor elija otro.");
Kick(playerid);
return 1;
}
Espero que te sirva
Aclaro: Perdon por los comentarios que puse en el primer codigo... esque estoy realmente muy aburrido...
Edito: No probe nada, lo cree asi nomas, y me fije que compile bien... Puede que tenga algun error o bug, si encunetran uno por favor avisen o arreglen.
Edit2: bug arreglado
________________________________________
Quote:
Originally Posted by [J]ulian
pawn Код:
new n[MAX_PLAYER_NAME], p; GetPlayerName(playerid, n, sizeof(n)); p = strfind(n, "_", true, 0) || strfind(n, "hola", true, 0); if(p != -1)strdel(n, p, p+1); SetPlayerName(playerid, n);
Utilizando lo de chaoz y agregar mбs palabras calculo que asн serнa xD.
|
No, no sacaria la palabra "hola", sino que sacaria la "h" nomas.