Help me in fixing this
#1

this is deposit menu code , when some one types 15 random numbers in Deposit Menu Dialog server is getting crashed
Код:
	case DEPOSIT_MENU:
	{
        if(response)
        if(!IsNumeric(inputtext)) return SendClientMessage(playerid, RED, "Characters detected, numbers only.");
		if(!strlen(inputtext)) return SendClientMessage(playerid, RED, "You need to enter an amount to deposit."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
		if(strval(inputtext) > GetPlayerCash(playerid))
		{
		    SendClientMessage(playerid, RED, "Insufficient funds."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}New Vegas Bank - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
			return 1;
		}
		if(strval(inputtext) > 10000000) return SendClientMessage(playerid, RED, "You can only deposit $10M at a time");
		BankInfo[playerid][Balance] = BankInfo[playerid][Balance] + strval(inputtext);
		GivePlayerCash(playerid, - strval(inputtext));
		format(fstr, sizeof(fstr), "You have deposited $%d into your bank account. New balance: $%d", strval(inputtext), BankInfo[playerid][Balance]);
		SendClientMessage(playerid, YELLOW, fstr);
		BankInfo[playerid][Transactions] = BankInfo[playerid][Transactions] + 1;
		BankInfo[playerid][Fees] = BankInfo[playerid][Fees] + 4;
		GivePlayerCash(playerid, - 4);
		SendClientMessage(playerid, RED, "FEE: You were charged a $4 fee for this transaction.");
		SendClientMessage(playerid, WHITE, "THANKYOU: Thank you for banking with New Vegas Bank.");
		ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
		new astring[100];
		format(astring, sizeof(astring), "%s [%d] has deposited $%d into their bank account", GetName(playerid), playerid, strval(inputtext));
		SendAdminMessage(GREY, astring);
	}
Reply
#2

Код:
case DEPOSIT_MENU:
	{
        if(response)
       {
        if(!IsNumeric(inputtext)) return SendClientMessage(playerid, RED, "Characters detected, numbers only.");
		if(!strlen(inputtext)) return SendClientMessage(playerid, RED, "You need to enter an amount to deposit."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
		if(strval(inputtext) > GetPlayerCash(playerid))
		{
		    SendClientMessage(playerid, RED, "Insufficient funds."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}New Vegas Bank - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
			return 1;
		}
		if(strval(inputtext) > 10000000) return SendClientMessage(playerid, RED, "You can only deposit $10M at a time");
		BankInfo[playerid][Balance] = BankInfo[playerid][Balance] + strval(inputtext);
		GivePlayerCash(playerid, - strval(inputtext));
		format(fstr, sizeof(fstr), "You have deposited $%d into your bank account. New balance: $%d", strval(inputtext), BankInfo[playerid][Balance]);
		SendClientMessage(playerid, YELLOW, fstr);
		BankInfo[playerid][Transactions] = BankInfo[playerid][Transactions] + 1;
		BankInfo[playerid][Fees] = BankInfo[playerid][Fees] + 4;
		GivePlayerCash(playerid, - 4);
		SendClientMessage(playerid, RED, "FEE: You were charged a $4 fee for this transaction.");
		SendClientMessage(playerid, WHITE, "THANKYOU: Thank you for banking with New Vegas Bank.");
		ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
		new astring[100];
		format(astring, sizeof(astring), "%s [%d] has deposited $%d into their bank account", GetName(playerid), playerid, strval(inputtext));
		SendAdminMessage(GREY, astring);
        }
	}
Reply
#3

its working fine but when i insert 15 random numbers it gives me money insted of deposit + gives extra money . for e.g i was having 100$ i deposited 154567902636475 [ 15 random number ] it gives me money Lol
Reply
#4

Quote:
Originally Posted by killing
Посмотреть сообщение
its working fine but when i insert 15 random numbers it gives me money insted of deposit + gives extra money . for e.g i was having 100$ i deposited 154567902636475 [ 15 random number ] it gives me money Lol
pawn Код:
if(strval(inputtext) < 1 || strval(inputtext) > 10000000) return SendClientMessage(playerid, RED, "You can only deposit $10M at a time");
Give it a try.
Reply
#5

Fixed Thank You both
Reply
#6

Never Mind
Reply
#7

Need help
Reply
#8

pawn Код:
case DEPOSIT_MENU:
    {
        if(response)
        {
            if(!IsNumeric(inputtext)) return SendClientMessage(playerid, RED, "Characters detected, numbers only.");
            if(!strlen(inputtext)) return SendClientMessage(playerid, RED, "You need to enter an amount to deposit."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
            new val = strval(inputtext);
            if(val > GetPlayerCash(playerid)) return SendClientMessage(playerid, RED, "Insufficient funds."), ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}New Vegas Bank - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
            if(!(1 <= val <= 10000000)) return SendClientMessage(playerid, RED, "You can only deposit an amount between $1 and $10M at a time");
            new mstr[100];
            BankInfo[playerid][Balance] += val;
            GivePlayerCash(playerid, -val - 4);
            format(mstr, sizeof(mstr), "You have deposited $%d into your bank account. New balance: $%d", val, BankInfo[playerid][Balance]);
            SendClientMessage(playerid, YELLOW, mstr);
            BankInfo[playerid][Transactions]++;
            BankInfo[playerid][Fees] += 4;
            SendClientMessage(playerid, RED, "FEE: You were charged a $4 fee for this transaction.");
            SendClientMessage(playerid, WHITE, "THANKYOU: Thank you for banking with New Vegas Bank.");
            ShowPlayerDialog(playerid, BANK_MENU, DIALOG_STYLE_LIST, "{FFFFFF}Bank Menu - Main Menu", "{FFFFFF}Withdraw\nDeposit\nBalance\nTransfer\nCredit\nStatement", "Select", "Cancel");
            format(mstr, sizeof(mstr), "%s [%d] has deposited $%d into their bank account", GetName(playerid), playerid, val);
            SendAdminMessage(GREY, mstr);
        }
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)