[Ajuda] numero 0 em strval(inputtext)
#1

Olб, em meu GM eu fiz um sistema de banco, na parte de transferir dinheiro, na primeira dialog q й para por o ID do player, ela nao vai se eu colocar o ID 0, da erro na linha:
pawn Code:
if(!strval(inputtext)) return SendClientMessage(playerid, vermelho, "| ERRO | ID Invбlido! Use Apenas Nъmeros!");
nao й erro na compilacao, mas quando uso ID 0 no banco, ele mostra a mensagem desta linha ai, oq estб errado?

toda a prog junto a essa linha й
pawn Code:
if(dialogid == Dialog_BancoTransf)// Transferencia (parte do ID do jogador)
        {
        if(response)
            {
                new texto[300];
                if(!strval(inputtext)) return SendClientMessage(playerid, vermelho, "| ERRO | ID Invбlido! Use Apenas Nъmeros!");
                if(strval(inputtext) <= -1) return SendClientMessage(playerid, vermelho, "| ERRO | Digite Um ID Vбlido!");
                if(strval(inputtext) == playerid) return SendClientMessage(playerid, vermelho, "| ERRO | Vocк Nгo Pode Transferir Para Vocк Mesmo!");
                if(strval(inputtext) == INVALID_PLAYER_ID) return SendClientMessage(playerid, vermelho, "| ERRO | ID Invбlido!");
                if(TaLogado[strval(inputtext)] == 0) return SendClientMessage(playerid, vermelho, "| ERRO | Este Jogador Ainda Nгo Estб Logado!!");
                IDTransf[playerid] = strval(inputtext);
                format(texto, sizeof(texto), "\n{FFFFFF}Digite O Valor Б Ser Transferido Para {0097FF}%s\n", GetPlayerNameEx(IDTransf[playerid]));
                ShowPlayerDialog(playerid, Dialog_BancoTransf2, DIALOG_STYLE_INPUT, "{64FF00}Transferencia", texto, "Transferir", "Cancelar");
            }
        }
Reply
#2

isnull - verifica se o jogador escreveu algo
IsNumeric - verifica se o jogador estб digitando apenas nъmeros.
faзa o teste se nгo de certo diga qual o erro.

PHP Code:
if(isnull(inputtext) || IsNumeric(inputtext) == 0) return SendClientMessage(playeridvermelho"| ERRO | ID Invбlido! Use Apenas Nъmeros!"); 
PHP Code:
IsNumeric(const str[])
{
    for(new 
ilen strlen(str); len; ++i)
    {
        if(!(
'0' <= str[i] <= '9')) return false;
    }
    return 
true;

vocк tambйm poderia usar isso.
PHP Code:
if(!IsPlayerConnected(strval(inputtext))) 
para verificar se o ID digitado estб online no servidor.
Reply
#3

Como o usuбrio acima citou, tem a funзгo IsNumeric.
Cole isto no final do seu filterscript/gamemode:
PHP Code:
IsNumeric(const string[])
{
    for (new 
0strlen(string); ji++)
    {
        if (
string[i] > '9' || string[i] < '0') return 0;
    }
    return 
1;

Reply
#4

Obrigado manos, funcionou haha, tmj!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)