[AJUDA] Com Dialog Input!
#1

Bom galera, to fazendo meu sistema de banco ne. E to com um problema na parte da TRANSFERENCIA por dialog .
Tudo que eu tento da erro.

Eu queria que a pessoa digitasse o NOME/ID que a graana iria ser enviada e depois digitasse a quantidade de dinheiro.

Aqui os codes:

PHP код:
case DCaixaBanco:
        {
            if(!
response)
                return 
SendClientMessage(playeridCOR_CINZA1"Vocк nгo selecionou nenhuma opзгo.");
            if(
response)
               {
                   switch(
listitem)
                {
                    case 
0:
                    {
                        
format(String60"Seu saldo no banco й de "VERDE"$%d"pInfo[playerid][pBanco]);
                        
ShowPlayerDialog(playeridDCaixaSaudoDIALOG_STYLE_MSGBOX"Seu saldo"String"Fechar","");
                    }
                    case 
1:
                    {
                        
format(String80"Vocк tem $%d na sua conta.\nDigite a quantia do saque"pInfo[playerid][pBanco]);
                        
ShowPlayerDialog(playeridDCaixaSaqueDIALOG_STYLE_INPUT,"Saque bancario"String"Sacar""Voltar");
                    }
                    case 
2:
                    {
                        
format(String90"Vocк tem $%d na sua conta.\nDigite a quantia a ser transferida"pInfo[playerid][pBanco]);
                        
ShowPlayerDialog(playeridDCaixaTransf2DIALOG_STYLE_INPUT,"Transferencia"String"Proximo""Voltar");
                    }
                }
            }
            return 
1;
        } 
PHP код:
case DCaixaTransf:
        {
            new 
grana strval(inputtext);
            if(!
response)
                return 
ShowPlayerDialog(playeridDCaixaBancoDIALOG_STYLE_LIST""VERMELHO"Caixa Eletronico""Ver Saldo\nSacar\nTransferencia""Selecionar""Sair");
              else if(
grana pInfo[playerid][pBanco]) return SendClientMessage(playeridCOR_CINZA1" Vocк nгo tem todo esse dinheiro na sua conta!");
            else if(!
SoNumero(inputtext))// Se ele nгo digitar somente numeros!
            
{
                
format(String80"Vocк tem $%d na sua conta.\nDigite a quantia a ser Transferida!"pInfo[playerid][pBanco]);
                
ShowPlayerDialog(playeridDCaixaTransf2DIALOG_STYLE_INPUT,"Transferencia"String"Transferir""Voltar");
                
SendClientMessage(playeridCOR_CINZA1" Digite somente NUMEROS ");
            }
            else if(
grana || grana 5000000) return SendClientMessage(playeridCOR_CINZA2" Vocк pode transferir no minimo 1 real e no maximo 5 milhoes!");
            
format(String90"Vocк tem $%d na sua conta.\nDigite o Nome/ID da pessoa que ira receber a grana.\nPreste muita atenзгo!"pInfo[playerid][pBanco]);
               
ShowPlayerDialog(playeridDCaixaTransf2DIALOG_STYLE_INPUT,"Transferencia"String"Transferir""Voltar");
            
        } 
PHP код:
case DCaixaTransf2:
        {
            
iddele =  strlen(inputtext);
            if(!
response)
                return 
ShowPlayerDialog(playeridDCaixaBancoDIALOG_STYLE_LIST""VERMELHO"Caixa Eletronico""Ver Saldo\nSacar\nTransferencia""Selecionar""Sair");
            if(!
IsPlayerConnected(iddele))
                return 
SendClientMessage(playeridCOR_CINZA1" O jogador nгo estб conectado ");
            
pInfo[playerid][pBanco] -= grana;
            
pInfo[iddele][pBanco] += grana;
            
format(String80" Vocк transferiu %d para o %s "granaiddele);
            
SendClientMessageToAll(COR_AZULZINHOString);
        } 
As defines dos Dialogs da transferencia sгo:

DCaixaTransf e DCaixaTransf2.

Vlw, se precisar postar mais algo, avisa ae. Dou star pra quem me ajuda vlw!
Reply
#2

Poste os erros aqui.
Reply
#3

Nгo tem erro.
O problema й que nгo funfa, nгo executa certo, e eu nгo tenho idйia de como fazer .
Reply
#4

Quote:

Tudo que eu tento da erro.

Bem entгo vejamos.

O que estб sendo executado no lugar dela? Pode nos postar screen shots?
Reply
#5

creio que a variavel grana tem que ser transformada em numeros, caso contrario nгo irб funcionar
pois ele podera usar letras ao transferir e nгo iria dar certo, esse й um dos erros do seu codigo.

veja um exemplo no filterscript do MiTTos http://pastebin.com/pP7A62LN

espero ter ajudado.
Reply
#6

Ah, liga o foda-se e usa sscanf.
Reply
#7

pawn Код:
case DCaixaBanco:
{
    if(!response) return SendClientMessage(playerid, COR_CINZA1, "Vocк nгo selecionou nenhuma opзгo.");
    if(response)
    {
        switch(listitem)
        {
            case 0:
            {
                format(String, 60, "Seu saldo no banco й de "VERDE"$%d", pInfo[playerid][pBanco]);
                ShowPlayerDialog(playerid, DCaixaSaudo, DIALOG_STYLE_MSGBOX, "Seu saldo", String, "Fechar","");
            }
            case 1:
            {
                format(String, 80, "Vocк tem $%d na sua conta.\nDigite a quantia do saque", pInfo[playerid][pBanco]);
                ShowPlayerDialog(playerid, DCaixaSaque, DIALOG_STYLE_INPUT,"Saque bancario", String, "Sacar", "Voltar");
            }
            case 2:
            {
                format(String, 90, "Vocк tem $%d na sua conta.\nDigite a quantia a ser transferida", pInfo[playerid][pBanco]);
                ShowPlayerDialog(playerid, DCaixaTransf2, DIALOG_STYLE_INPUT,"Transferencia", String, "Proximo", "Voltar");
            }
        }
    }
    return 1;
}

case DCaixaTransf:
{
    new grana = strval(inputtext);
    if(!response) return ShowPlayerDialog(playerid, DCaixaBanco, DIALOG_STYLE_LIST, ""VERMELHO"Caixa Eletronico", "Ver Saldo\nSacar\nTransferencia", "Selecionar", "Sair");
    if(response)
    {
        if(grana > pInfo[playerid][pBanco]) return SendClientMessage(playerid, COR_CINZA1, " Vocк nгo tem todo esse dinheiro na sua conta!");
        else if(grana < 1 || grana > 5000000) return SendClientMessage(playerid, COR_CINZA2, " Vocк pode transferir no minimo 1 real e no maximo 5 milhoes!");
        if(!SoNumero(inputtext))// Se ele nгo digitar somente numeros!
        {
            format(String, 80, "Vocк tem $%d na sua conta.\nDigite a quantia a ser Transferida!", pInfo[playerid][pBanco]);
            ShowPlayerDialog(playerid, DCaixaTransf2, DIALOG_STYLE_INPUT,"Transferencia", String, "Transferir", "Voltar");
            SendClientMessage(playerid, COR_CINZA1, " Digite somente NUMEROS ");
        }
        format(String, 90, "Vocк tem $%d na sua conta.\nDigite o Nome/ID da pessoa que ira receber a grana.\nPreste muita atenзгo!", pInfo[playerid][pBanco]);
        ShowPlayerDialog(playerid, DCaixaTransf2, DIALOG_STYLE_INPUT,"Transferencia", String, "Transferir", "Voltar");
        return 1;
    }
    return 1;
}

case DCaixaTransf2:
{
    if(!response) return ShowPlayerDialog(playerid, DCaixaBanco, DIALOG_STYLE_LIST, ""VERMELHO"Caixa Eletronico", "Ver Saldo\nSacar\nTransferencia", "Selecionar", "Sair");
    if(response)
    {
        if(!IsPlayerConnected(iddele)) return SendClientMessage(playerid, COR_CINZA1, " O jogador nгo estб conectado ");
        new iddocara, nome[24];
        for(new i, PP = GetMaxPlayers(); i < PP; i++)
        {
            GetPlayerName(i,nome,24);
            if(strfind(inputtext,nome,false))
            {
                iddocara = i;
                break;
            }
        }
        pInfo[playerid][pBanco] -= grana;
        pInfo[iddocara][pBanco] += grana;
        format(String, 80, " Vocк transferiu %d para o %s ", grana, iddele);
        SendClientMessageToAll(COR_AZULZINHO, String);
    }
    return 1;
}
Tente.
Reply
#8

Quote:
Originally Posted by Luнs Miki
Посмотреть сообщение
Ah, liga o foda-se e usa sscanf.
Porque vocк sempre fala merda sem saber?

Olha meu CMD:
PHP код:
CMD:transferir(playeridparams[])
{
    new 
quantia;
    if(
sscanf(params"ud"iddelequantia))
          return 
SendClientMessage(playeridCOR_CINZA1"Use: /transferir [id/nome] [quantia]");
    if(!
IsPlayerConnected(iddele))
        return 
SendClientMessage(playeridCOR_CINZA2"Jogador nгo conectado.");
    if(
pInfo[playerid][pBanco] < quantia)
        return 
SendClientMessage(playeridCOR_CINZA1" Vocк nгo tem tudo isso no banco ");
    if(
quantia || quantia 500000000)
        return 
SendClientMessage(playeridCOR_CINZA2" Vocк pode transferir no minimo $1 e no mбximo $500 milhoes! ");
    
pInfo[playerid][pBanco] -= quantia;
    
pInfo[iddele][pBanco] += quantia;
    
format(String100" Vocк recebeu $%d do %s, esse dinheiro ja estб depositado em sua conta."quantiapNome(playerid));
    
SendClientMessage(iddeleCOR_AZULCLAROString);
    
format(String65" Vocк transferiu $%d para o %s!"quantiapNome(iddele));
    
SendClientMessage(iddeleCOR_AZULCLAROString);
    return 
1;

Eu uso sscanf ¬¬'

"Temos dois ouvidos e uma boca, pense bem nisto".
Reply
#9

leva mal nao mais aki seria 2 olhos e 2 mao kkkkkkkkkkkkkkkkkkkkkkkk sem tirar com sua cara da 1 edit ali ;;p pwqopowq
Reply
#10

Quote:
Originally Posted by histire
Посмотреть сообщение
leva mal nao mais aki seria 2 olhos e 2 mao kkkkkkkkkkkkkkkkkkkkkkkk sem tirar com sua cara da 1 edit ali ;;p pwqopowq
Nгo nгo, vlw , se nгo intendeu a frase, minhas condolкncias.

@Josma.
Vo testar e jaja posto, mas vou te dar star por ajudar.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)