diff options
Diffstat (limited to 'npc/custom/etc/bank.txt')
-rw-r--r-- | npc/custom/etc/bank.txt | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/npc/custom/etc/bank.txt b/npc/custom/etc/bank.txt new file mode 100644 index 000000000..ed514c901 --- /dev/null +++ b/npc/custom/etc/bank.txt @@ -0,0 +1,119 @@ +//===== rAthena Script ======================================= +//= Banker Script +//===== By: ================================================== +//= Syrus22 (1.0) +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== +//= Any rAthena version with Account variables. +//===== Description: ========================================= +//= An account wide Banker to store Zeny +//===== Additional Comments: ================================= +//= Syrus22 - There's an optional transaction fee at the top of +//= the script. To use it simply change the first set command +//= to set the cost variable to whatever you want the fee to be. +//= Version 2.0: Optimized and brought the script up to standard. [Jguy] +//============================================================ + +prontera,132,217,5 script Banker 109,{ +set @cost,500; +mes "[Banker]"; +mes "Welcome to the First Bank of Prontera. How can I help you today?"; +next; +switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's my current balance?:Cancel")) { + case 1: + mes "[Banker]"; + mes "Very well... How much would you like to deposit? The maximum you can deposit at once is 999,999 Zeny."; + next; + if (@cost > 0) { + mes "[Banker]"; + mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!"; + next; + } + input @deposit; + if (@deposit < 1) { + mes "Make sure you ask me to deposit a real amount."; + close; + } + else if (@deposit > Zeny) { + mes "It does not appear like you have the amount of zeny you're trying to deposit!"; + close; + } + else if (@deposit > (Zeny - @cost)) { + mes "You need " + @cost + " Zeny to cover the transaction fee!"; + close; + } + else { + set Zeny,Zeny - @deposit; + set Zeny,Zeny - @cost; + set #bankstorage,#bankstorage + @deposit; + mes "[Banker]"; + mes "Thank you very much... Your zeny is in good hands."; + close; + } + + case 2: + mes "[Banker]"; + mes "Very well... How much would you like to withdraw? The maximum you can withdraw at one time is 999,999 Zeny"; + next; + if (@cost > 0) { + mes "[Banker]"; + mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!"; + next; + } + input @withdrawl; + if (@withdrawl < 1) { + mes "Please don't play games. I need a real amount to withdraw."; + close; + } + else if (@withdrawl > #bankstorage) { + mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!"; + close; + } + else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) { + mes "[Banker]"; + mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?"; + next; + switch(select("Yes please.:No, Thanks")){ + case 1: + mes "[Banker]"; + mes "Removing " + @cost + " from your withdrawl to cover the deposit fee..."; + set @withdrawl,@withdrawl - @cost; + set #bankstorage,#bankstorage - @cost; + set @cost,0; + next; + set Zeny,Zeny - @cost; + set Zeny,Zeny + @withdrawl; + set #bankstorage,#bankstorage - @withdrawl; + mes "[Banker]"; + mes "There's your Zeny. Have a good day."; + close; + case 2: + mes "[Banker]"; + mes "Very well... come again soon."; + close; + } + } + else { + set Zeny,Zeny - @cost; + set Zeny,Zeny + @withdrawl; + set #bankstorage,#bankstorage - @withdrawl; + mes "[Banker]"; + mes "There's your Zeny. Have a good day."; + close; + } + case 3: + mes "[Banker]"; + mes "Hmmmm let me check some paper work."; + next; + mes "*Rustle, Rustle*"; + next; + mes "[Banker]"; + mes "You currently have " + #bankstorage + " Zeny in your account."; + close; + case 4: + mes "[Banker]"; + mes "Very well... come again soon."; + close; + } +} |