[Ajuda] Permitir somente nъmeros
#1

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
Reply
#2

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;

Reply
#3

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

Reply
#4

Obrigado a todos
Reply
#5

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

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)