diff options
Diffstat (limited to 'npc/other/mc_cameri/bank.txt')
-rw-r--r-- | npc/other/mc_cameri/bank.txt | 2793 |
1 files changed, 2793 insertions, 0 deletions
diff --git a/npc/other/mc_cameri/bank.txt b/npc/other/mc_cameri/bank.txt new file mode 100644 index 000000000..95fdb0618 --- /dev/null +++ b/npc/other/mc_cameri/bank.txt @@ -0,0 +1,2793 @@ +//========================================================================================
+// -»» OmniAthena Scripts ««-
+// Copyright (c) 2004, Athena Advanced
+// http://agelessanime.com/aaforums/
+// By MC_Cameri
+// This Bank NPC doesn't need any items.
+// It is useful for servers in which you
+// lose zeny when you die.
+// Also, if you have 1,000,000,000z this
+// will be good to use.
+//========================================================================================
+//0072FF (sky blue)
+//FF7F01 (orange)
+
+prt_in.gat,165,141,4 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+izlude_in.gat,57,110,4 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+morocc_in.gat,142,64,3 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+geffen_in.gat,77,169,2 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+payon_in01.gat,68,64,7 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+alberta_in.gat,187,26,2 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+aldebaran.gat,144,120,4 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+xmas_in.gat,35,37,5 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+cmd_in01.gat,115,171,7 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+yuno_in01.gat,119,29,2 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+amatsu.gat,189,108,6 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+gonryun.gat,146,142,3 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
+
+um_in.gat,154,125,4 script Bank Manager 109,{
+ set @tInterestRate, 2; //no decimals
+ set @tMaxAccZeny, 1000000000; //max zeny allowed in ^FF7F01Bank Account^000000 1,000,000,000=1 billion
+ set @tMaxZeny, 1000000000; //max zeny that a player can carry
+ set @tMinZeny, 100; //min zeny allowed or Bank Account is closed
+ set @tCreateZeny, 500; //zeny needed in order to create a Bank Account
+ set @tMinDeposit,100; //min zeny to deposit
+ set @tBeginningZeny, 100; //amount of zeny in Bank Account after creating
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Welcome to this office branch of Midgard's Bank.";
+ next;
+ if (vBankAccActive==1) goto AccMenu;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have a ^FF7F01Bank Account^000000 yet, you must buy one.";
+ mes "It will cost you ^0000FF" + @tCreateZeny + "z^000000 to create it.";
+ next;
+ menu "^FF7F01Create Account.^000000",CreateAcc,"^FF7F01Information.^000000",BankInfo,"^FF7F01No thanks.^000000",NoCreateAcc;
+ BankInfo:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Here are some points that you need to know:";
+ mes "1. To create a ^FF7F01Bank Account^000000 you have to pay ^0000FF" + @tCreateZeny + "z^000000.";
+ mes "2. You will be charged ^0000FF" + @tInterestRate + " percent^000000 everytime you Deposit.";
+ mes "3. You must always have no less than ^0000FF" + @tMinZeny + "z^000000 on your ^FF7F01Bank Account^000000.";
+ next;
+ mes "4. You can save up to ^0000FF" + @tMaxAccZeny + "z^000000 in your bank account.";
+ mes "5. You will be able to access your ^FF7F01Bank Account^000000 in any town with a Bank Office.";
+ mes "6. You will start by having ^0000FF" + @tBeginningZeny + "z^000000 in your bank account.";
+ close;
+ CreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "First of all, you will have to have at least ^0000FF" + @tCreateZeny + "z^000000 with you.";
+ mes "Your account will start with ^0000FF" + @tBeginningZeny +"z^000000.";
+ mes "Are you sure you want to continue?";
+ next;
+ menu "^FF7F01Sure.^000000",CreateAccCont,"^FF7F01Nah, it's ok.^000000",NoCreateAcc;
+ CreateAccCont:
+ if (@tCreateZeny > Zeny) goto CreateAccNoEnoughZeny;
+ set Zeny, Zeny - @tCreateZeny;
+ set vBankAccActive,1;
+ set vBankAccZeny, @tBeginningZeny;
+ set vBankAccLastZeny, @tBeginningZeny;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Congratulations, your ^FF7F01Bank Account^000000 is now created with ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "You may now proceed to do any transactions.";
+ next;
+ goto AccMenu;
+ CreateAccNoEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Didn't I tell you to make sure you had enough zeny?";
+ mes "You can't create it with just ^0000FF" + Zeny + "z^000000.";
+ mes "Come back when you get those ^0000FF" + @tCreateZeny + "z^000000...";
+ next;
+ goto EndNPC;
+ NoCreateAcc:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Come back when you change your mind!";
+ next;
+ goto EndNPC;
+ AccMenu:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Your current balance is ^0000FF" + vBankAccZeny +"z^000000.";
+ mes "What would you like to do now?";
+ next;
+ menu "^FF7F01Deposit.^000000",AccDeposit,"^FF7F01Withdraw.^000000",AccWithdraw,"^FF7F01Bank Account Info.^000000",AccBalance,"^FF7F01Close Bank Account^000000",AccClose,"^FF7F01Cancel.^000000",EndNPC;
+ AccDeposit:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "It's always good to deposit every once in a while.";
+ mes "Be noticed that we charge a ^0000FF" + @tInterestRate + " percent ^000000 of interest rate in every deposit you make.";
+ mes "This means that to deposit ^0000FF100z^000000 you need to have pay us ^0000FF" + 100 * @tInterestRate / 100 + "z^000000.";
+ mes "How much are you willing to deposit?";
+ next;
+ AccDepositInput:
+ input @tDeposit;
+ set @tDepositTax, @tDeposit * @tInterestRate / 100;
+ set @tDepositTotal, @tDeposit - @tDepositTax;
+ if (@tDeposit <= 0) goto AccDepositNoInput;
+ if (@tDeposit < @tMinDeposit) goto AccDepositNotEnoughInput;
+ if (@tDepositTotal > Zeny) goto AccDepositNotEnoughZeny;
+ set @tBankAccZenyTemp, vBankAccZeny + @tDepositTotal;
+ if (@tBankAccZenyTemp > @tMaxAccZeny) goto AccDepositOver;
+ if ((@tDeposit <= Zeny) && (@tBankAccZenyTemp <= @tMaxAccZeny)) goto AccDepositCont;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, for some weird reason I couldn't deposit your money.";
+ next;
+ goto AccMenu;
+ AccDepositCont:
+ set Zeny, Zeny - @tDeposit;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, @tBankAccZenyTemp;
+ set vBankAccInterests, vBankAccInterests + @tDepositTax;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "^0000FF" + @tDeposit + "z^000000 substracted from your money (Taxes applied).";
+ mes "^0000FF" + @tDepositTotal + "z^000000 successfully added to your ^FF7F01Bank Account^000000.";
+ next;
+ goto AccMenu;
+ AccDepositOver:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "There is a limit of ^0000FF" + @tMaxAccZeny + "z^000000 of how much zeny your ^FF7F01Bank Account^000000 can hold.";
+ mes "You can't deposit more than that, please try again.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You need to put more money in order to make a deposit.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You must enter a value higher than ^0000FF" + @tMinDeposit + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccDepositNotEnoughZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "You don't have ^0000FF" + @tDepositTotal + "z^000000.";
+ mes "Remember that taxes are being applied.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccDepositInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdraw:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "This is the only transaction I don't like... you figure out why...";
+ mes "You can't withdraw leaving less than ^0000FF" + @tMinZeny +"z^000000 in your ^FF7F01Bank Account^000000.";
+ mes "Your current balance is ^0000FF" + vBankAccZeny + "z^000000.";
+ mes "How much are you going to widthdraw?";
+ next;
+ AccWithdrawInput:
+ input @tWithdraw;
+ set @tZenyLeft, vBankAccZeny - @tWithdraw;
+ set @tZenyTemp, Zeny + @tWithdraw;
+ if (@tWithdraw == 0) goto AccWithdrawNoInput;
+ if (@tZenyLeft < @tMinZeny) goto AccWithdrawMinZeny;
+ if (@tZenyTemp > @tMaxZeny) goto AccWithDrawOverCharZeny;
+ set Zeny, Zeny + @tWithdraw;
+ set vBankAccLastZeny, vBankAccZeny;
+ set vBankAccZeny, vBankAccZeny - @tWithdraw;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Transaction completed successfully.";
+ mes "Thank you for using our services.";
+ next;
+ goto AccMenu;
+ AccWithdrawNoInput:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "In order to withdraw from the bank, you must withdraw more than 0 zeny.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithdrawMinZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "I'm sorry...";
+ mes "You can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your ^FF7F01Bank Account^000000 must have ^0000FF" + @tMinZeny + "z^000000 left or more at all times.";
+ mes "In order to take all your money from the bank you must select Close Account in the Account Menu.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccWithDrawOverCharZeny:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Sorry, but you can't withdraw ^0000FF" + @tWithdraw + "z^000000 because your Player can't carry more than ^0000FF" + @tMaxZeny + "z^000000.";
+ mes "Do you want to try again?";
+ next;
+ menu "^FF7F01Yes, please.^000000",AccWithdrawInput,"^FF7F01No, thanks.^000000",AccMenu;
+ AccBalance:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Account Status:";
+ //shown in blue if the same or more, show in red if less than previous balance
+ if (vBankAccZeny >= vBankAccLastZeny) goto AccBalance2;
+ mes "Current Balance: ^FF0000" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance2:
+ mes "Current Balance: ^0000FF" + vBankAccZeny +"z^000000.";
+ goto AccBalance3;
+ AccBalance3:
+ mes "Previous Balance: ^0000FF" + vBankAccLastZeny +"z^000000.";
+ mes "Interest Rate: ^0000FF" + @tInterestRate + "%^000000.";
+ mes "Interests Payed: ^0000FF" + vBankAccInterests + "z^000000.";
+ next;
+ goto AccMenu;
+ AccClose:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "If you close your ^FF7F01Bank Account^000000, it means you eliminate it.";
+ mes "Of course, you will get all your money back.";
+ mes "Are you sure you want to close your ^FF7F01Bank Account^000000?";
+ next;
+ menu "^FF7F01I don't want it anymore.^000000",AccCloseConfirm,"^FF7F01No, I'll keep it.^000000",AccCloseKeep;
+ AccCloseConfirm:
+ set vBankAccActive,0;
+ set Zeny, Zeny + vBankAccZeny;
+ set vBankAccZeny,0;
+ set vBankAccLastZeny,0;
+ set vBankAccInterests,0;
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Thanks for using our services, we hope you come back to visit us.";
+ mes "Here's your money.";
+ next;
+ goto EndNPC;
+ AccCloseKeep:
+ mes "^0072FF[Bank Manager]^000000";
+ mes "Good choice, thanks for staying with us.";
+ next;
+ goto AccMenu;
+ EndNPC:
+ set @random,rand(4);
+ mes "^0072FF[Bank Manager]^000000";
+ if (@random == 0) mes "Have a nice day!";
+ if (@random == 1) mes "See you soon!";
+ if (@random == 2) mes "See you next time!";
+ if (@random == 3) mes "Come back soon!";
+ close;
+}
\ No newline at end of file |