SA-MP Forums Archive
[Ajuda] numero 0 em strval(inputtext) - 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] numero 0 em strval(inputtext) (/showthread.php?tid=649417)



numero 0 em strval(inputtext) - AllanSG - 08.02.2018

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");
            }
        }



Re: numero 0 em strval(inputtext) - ZaHHak - 08.02.2018

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.


Re: numero 0 em strval(inputtext) - GuilhermeW - 08.02.2018

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;




Re: numero 0 em strval(inputtext) - AllanSG - 08.02.2018

Obrigado manos, funcionou haha, tmj!