SA-MP Forums Archive
[Ajuda] Permitir somente nъmeros - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Permitir somente nъmeros (/showthread.php?tid=655415)



Permitir somente nъmeros - nasser - 20.06.2018

Olб, gostaria de saber como eu poderia permitir que os usuбrios se cadastrem usando somente nъmeros, por exemplo eu fiz da forma que o jogador nгo possa se cadastrar com uma senha menor que 6 caracteres e tambйm nгo pode ser maior que 15 caracteres, fiz assim:

PHP код:
else if(strlen(inputtext) < 6)
   
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT"Registrando -> Senha muito curta""Senha muito curta!\n\nSua senha precisa de pelo menos 6 caracteres.\nTente novamente:""Registrar""Sair"),
                
else if(
strlen(inputtext) > MAX_PLAYER_PASSWORD-1)
    
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT"Registrando -> Senha muito longa""Senha muito longa!\n\nSua senha pode no mбximo ter 30 caracteres.\nTente novamente:""Registrar""Sair"),
else{... 
Em MAX_PLAYER_PASSWORD eu defini como 16 ou seja vai permitir 15, mas como poderia fazer para permitir somente nъmeros?

@Edit: Jб resolvi esse tуpico me ajudou: https://sampforum.blast.hk/showthread.php?tid=588364


Re: Permitir somente nъmeros - LeViNS - 20.06.2018

Use:
PHP код:
if(!IsNumeric(inputtext)) return 1
no final do gm caso nгo tenha:

PHP код:
forward IsNumeric(const string[]);
public 
IsNumeric(const string[])
{
    for (new 
0strlen(string); ji++) if(string[i] > '9' || string[i] < '0') return 0;
    return 
1;




Re: Permitir somente nъmeros - SammyJ - 20.06.2018

PHP код:
stock IsNumeric(const string[])
{
    for(new 
0strlen(string); ji++)
    {
        if((
string[i] > '9' || string[i] < '0')) return 0;
    }
    return 
1;




Re: Permitir somente nъmeros - nasser - 21.06.2018

Obrigado a todos


Re: Permitir somente nъmeros - SmokeKiLL - 24.06.2018

Era melhor ter usado:
PHP код:
if(!strval(inputtext)) return SendClientMessage(playerid, -1"somente numeros!"); 
Nгo?


Re: Permitir somente nъmeros - JhonnyMonroe - 24.06.2018

Quote:
Originally Posted by SmokeKiLL
Посмотреть сообщение
Era melhor ter usado:
PHP код:
if(!strval(inputtext)) return SendClientMessage(playerid, -1"somente numeros!"); 
Nгo?
Nгo, strval apenas converte a string para inteiro, nгo checa se o conteъdo й numйrico ou nгo.


Re: Permitir somente nъmeros - Bruno13 - 25.06.2018

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
kkkkkk

Exatamente strval converte string para inteiro, porem caso ela nгo consiga converter ela retorna false!
Da certo sim!
Na verdade, se um nъmero for encontrado antes de qualquer caractere que nгo seja numeral, entгo strval irб converter esse valor e retornб-lo, mesmo que apуs esse nъmero haja caracteres distintos.

PHP код:
/*
 * Saнda = 200
 */
printf("valor %d"strval("200a"));
/*
 * Saнda = 0
 */
printf("valor %d"strval("a200")); 
Ou seja, para alcanзar o fim solicitado pelo autor, este mйtodo nгo й eficaz.