Help with dialog input
#1

Hi there, i have a dialog which asks to introduce the card PIN. The PIN is used to withdraw money. But when i type the right PIN, it says that the PIN is incorrect.

OnDialogResponse:

pawn Код:
}
        if (dialogid == DIALOG_PIN)
        {
            if(inputtext[0] == PlayerInfo[playerid][pPIN])
            {
                PinOk[playerid] = 1;
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000FF, "PIN Incorect, mai incearca !");
            }

       
        }
/withdraw command:

pawn Код:
if(strcmp(cmd, "/withdraw", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pCard] == 1)
            {
           
                if(PlayerInfo[playerid][pLocal] != 103)
                {
                   SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
                   return 1;
               }
               if(PlayerInfo[playerid][pConnectTime] < 1)
               {
                    SendClientMessage(playerid, COLOR_GREY, "   You must have at least 4 playing hours !");
                    return 1;
                }
                tmp= strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
                    format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_GRAD3, string);
                    return 1;
                }
                new cashdeposit = strval(tmp);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
                    format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_GRAD3, string);
                    return 1;
                }
                if (cashdeposit > PlayerInfo[playerid][pAccount] || cashdeposit < 1)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "   You dont have that much !");
                    return 1;
                }
                ShowPlayerDialog(playerid,DIALOG_PIN,DIALOG_STYLE_INPUT,"WITHDRAW","Va rugam introduceti\nPIN'ul: ","ENTER","");
                if(PinOk[playerid] == 1)
                {
                    ConsumingMoney[playerid] = 1;
                    GivePlayerCash(playerid,cashdeposit);
                    PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
                    format(string, sizeof(string), "  You Have Withdrawn $%d from your account Total: $%d ", cashdeposit,PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_YELLOW, string);
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Nu ai MasterCard !");
                return 1;
            }
           
        return 1;
        }
    }
Thanks !!
Reply
#2

up, +rep if u help
Reply
#3

Try this. That PIN is only with numbers?
Код:
if (dialogid == DIALOG_PIN)
        {
            new PIN ;
            PIN = strval(inputtext);
            if(PIN == PlayerInfo[playerid][pPIN])
            {
                PinOk[playerid] = 1;
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000FF, "PIN Incorect, mai incearca !");
            }

        
        }
Reply
#4

Yeah, it works now but when I type /withdraw it shows me the dialog, i type the PIN and nothing happens. After that, i type /withdraw and the command works.
Reply
#5

Код:
if (dialogid == DIALOG_PIN)
        {
            new PIN ;
            PIN = strval(inputtext);
            if(PIN == PlayerInfo[playerid][pPIN])
            {
                PinOk[playerid] = 1;
                if(PinOk[playerid] == 1)
                {
                    ConsumingMoney[playerid] = 1;
                    GivePlayerCash(playerid,cashdeposit);
                    PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
                    format(string, sizeof(string), "  You Have Withdrawn $%d from your account Total: $%d ", cashdeposit,PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_YELLOW, string);
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000FF, "PIN Incorect, mai incearca !");
            }

        
        }


if(strcmp(cmd, "/withdraw", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pCard] == 1)
            {
            
                if(PlayerInfo[playerid][pLocal] != 103)
                {
                   SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
                   return 1;
               }
               if(PlayerInfo[playerid][pConnectTime] < 1)
               {
                    SendClientMessage(playerid, COLOR_GREY, "   You must have at least 4 playing hours !");
                    return 1;
                }
                tmp= strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
                    format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_GRAD3, string);
                    return 1;
                }
                new cashdeposit = strval(tmp);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
                    format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_GRAD3, string);
                    return 1;
                }
                if (cashdeposit > PlayerInfo[playerid][pAccount] || cashdeposit < 1)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "   You dont have that much !");
                    return 1;
                }
                ShowPlayerDialog(playerid,DIALOG_PIN,DIALOG_STYLE_INPUT,"WITHDRAW","Va rugam introduceti\nPIN'ul: ","ENTER","");
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Nu ai MasterCard !");
                return 1;
            }
            
        return 1;
        }
    }
Reply
#6

pawn Код:
C:\Users\SMYLE\Desktop\Server\gamemodes\mqq.pwn(15540) : error 017: undefined symbol "cashdeposit"
C:\Users\SMYLE\Desktop\Server\gamemodes\mqq.pwn(15541) : error 017: undefined symbol "cashdeposit"
C:\Users\SMYLE\Desktop\Server\gamemodes\mqq.pwn(15542) : error 017: undefined symbol "cashdeposit"
It gives me 3 errors...
Reply
#7

Код:
if (dialogid == DIALOG_PIN)
        {
            new PIN ;
            PIN = strval(inputtext);
            if(PIN == PlayerInfo[playerid][pPIN])
            {
                PinOk[playerid] = 1;
                new cashdeposit;
                if(PinOk[playerid] == 1)
                {
                    ConsumingMoney[playerid] = 1;
                    GivePlayerCash(playerid,cashdeposit);
                    PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
                    format(string, sizeof(string), "  You Have Withdrawn $%d from your account Total: $%d ", cashdeposit,PlayerInfo[playerid][pAccount]);
                    SendClientMessage(playerid, COLOR_YELLOW, string);
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000FF, "PIN Incorect, mai incearca !");
            }

        
        }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)