Portal SAMP
[Ajuda] Bloquear Caracteres especiais; - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Bloquear Caracteres especiais; (/showthread.php?tid=2386)



Bloquear Caracteres especiais; - yoda - 13/05/2022

Olá amigos, como eu faço para deixar liberado apenas as Letras de A-Z e numeros do 0-9 em uma dialog?


RE: Bloquear Caracteres especiais; - White_Blue - 13/05/2022

Teste assim:




Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
 if(
dialogid == 0){
 if(
IsValidChar(inputtext)) return SendClientMessage(playerid, -1"Este caractere é valido!");
 else if(
IsNumeric(inputtext)) return SendClientMessage(playerid, -1"Este caractere é um número!");
 }
 return 
1;
}

stock IsNumeric(const string[]) {
    for (new 0strlen(string); ji++) {
        if(string[i] >= '0' && string[i] <= '9') return true;
    }
    return 1;
}

stock IsValidChar(const text[]) {
 for (new 
0strlen(text); ji++) {
 if((
text[i] >= 'a' && text[i] <= 'z')) return true;
 }
 return 
false;




RE: Bloquear Caracteres especiais; - yoda - 13/05/2022

(13/05/2022 11:31)White_Blue Escreveu: Teste assim:




Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
 if(
dialogid == 0){
 if(
IsValidChar(inputtext)) return SendClientMessage(playerid, -1"Este caractere é valido!");
 else if(
IsNumeric(inputtext)) return SendClientMessage(playerid, -1"Este caractere é um número!");
 }
 return 
1;
}

stock IsNumeric(const string[]) {
    for (new 0strlen(string); ji++) {
        if(string[i] >= '0' && string[i] <= '9') return true;
    }
    return 1;
}

stock IsValidChar(const text[]) {
 for (new 
0strlen(text); ji++) {
 if((
text[i] >= 'a' && text[i] <= 'z')) return true;
 }
 return 
false;


É quase isso que eu preciso, porém, eu preciso de uma função que libere apenas numeros e letras na mesma dialog, é um sistema de troca de nicks, no qual o jogador poderá apenas usar letras e numeros.


RE: Bloquear Caracteres especiais; - ipsLuan - 13/05/2022

Só adicionar o sinal de negação (!) nas condições.


RE: Bloquear Caracteres especiais; - xbruno1000x - 13/05/2022

Eu uso essa stock aqui pra verificar:
Código:
IsValidNick(nickname[])
{
    for(new i; i < strlen(nickname); i ++)
        if(!((nickname[i] >= '0' && nickname[i] <= '9') || (nickname[i] >= 'A' && nickname[i] <= 'Z') || (nickname[i] >= 'a' && nickname[i] <= 'z') || nickname[i] == '_' || nickname[i] == '.' || nickname[i] == '[' || nickname[i] == ']'))
            return false;

    return true;
}