Quitar Caracteres
#1

hola a todos!
queria saber si puede ayudarme con esto, quisiera saber si es posible que cuando un jugador se conecte en mi server con X caracter, no lo expulse ni nada, solo le quite ese caracter...

por ejemplo, si un jugador entra con HolaJose, le quite el Hola y convierta su nick en Jose solamente xD
bueno desde ya gracias por su atencion...
Reply
#2

si, tenes que usar strdel y strfind, ahora me voy a comer, si cuando vuelvo no te contestaron hago el codigo.

edit:
va a quitar 1 caracter (solo 1) es un codigo ejemplo:
pawn Код:
new n[MAX_PLAYER_NAME], p;
        GetPlayerName(playerid, n, sizeof(n));
        p = strfind(n, "_", true, 0);
        if(p != -1)strdel(n, p, p+1);
        SetPlayerName(playerid, n);
no seria muy dificil de adatpar para que quite todos los caracteres 'X' de un nick
Reply
#3

Recomendarнa que te hicieras una tabla tipo

new palabras_denegadas[][]{
Hola,
Adios,
Dios,
Asesino
}

Y usar esta tabla en el cуdigo
Reply
#4

Quote:
Originally Posted by mark.18
Посмотреть сообщение
Recomendarнa que te hicieras una tabla tipo

new palabras_denegadas[][]{
Hola,
Adios,
Dios,
Asesino
}

Y usar esta tabla en el cуdigo
EStб incompleto. No se acabarlo, pero sуlo te digo que estб incompleto.
Reply
#5

Quote:
Originally Posted by SAMPGammer
Посмотреть сообщение
EStб incompleto. No se acabarlo, pero sуlo te digo que estб incompleto.
Ya, solo era un ejemplo de como poder almacenar los caracteres en una misma variable y no tener que estar repitiendo el mismo cуdigo x cada palabra
Reply
#6

ammm y supongamos que quisiera usar distintas palabras como el code de mark.18, como lo introdusco en el code de thechaoz xq lo hago asi, como yo se y me da este error :S
Код:
-:\-\-\-\-\-(1049) : error 048: array dimensions do not match
Reply
#7

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.
Reply
#8

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.
Reply
#9

muchas gracias a todos por sus respuestas!
y sobre todo a cocolabush, tu code me funciono perfecto !

gracias, pueden cerrar...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)