diff options
Diffstat (limited to 'npc/custom/banks')
-rw-r--r-- | npc/custom/banks/bank.txt | 190 |
1 files changed, 91 insertions, 99 deletions
diff --git a/npc/custom/banks/bank.txt b/npc/custom/banks/bank.txt index 00a33b67f..7c610ec13 100644 --- a/npc/custom/banks/bank.txt +++ b/npc/custom/banks/bank.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Syrus22 (1.0) //===== Current Version: ===================================== -//= 1.0 +//= 2.0 //===== Compatible With: ===================================== //= Any rAthena version with Account variables. //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 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,{ @@ -19,109 +20,100 @@ set @cost,500; mes "[Banker]"; mes "Welcome to the First Bank of Prontera. How can I help you today?"; next; -menu "I'd like to make a deposit.",Ldeposit,"I'd like to make a withdrawl.",Lwithdrawl,"What's my current balance?",Lbalance,"Cancel",Lcancel; - -Ldeposit: - 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) goto Ldepocost; - goto Ldepocont; - - Ldepocost: +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 "Oh and don't forget there is a " + @cost + " Zeny charge on all transactions."; + mes "Very well... How much would you like to deposit? The maximum you can deposit at once is 999,999 Zeny."; next; - goto Ldepocont; - -Ldepocont: - input @deposit; - if (@deposit < 1) goto Lrealamount; - if (@deposit > Zeny) goto Lneedzeny; - if (@deposit > (Zeny - @cost)) goto Lneedzeny2; - 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; - -Lwithdrawl: - 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) goto Lwithcost; - goto Lwithcont; - - Lwithcost: + 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 "Oh and don't forget there is a " + @cost + " Zeny charge on all transactions."; - next; - goto Lwithcont; - -Lwithcont: - input @withdrawl; - if (@withdrawl < 1) goto Lrealamount; - if (@withdrawl > #bankstorage) goto Lneedzeny3; - if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) goto Lcostask; - if (@cost > Zeny) goto Lneedzeny2; - goto Lwithcont2; + mes "Thank you very much... Your zeny is in good hands."; + close; + } - Lcostask: + case 2: 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?"; + mes "Very well... How much would you like to withdraw? The maximum you can withdraw at one time is 999,999 Zeny"; next; - menu "Yes please.",Lwithtake,"No thank you.",Lcancel; - - Lwithtake: + 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 "Ok then."; - set @withdrawl,@withdrawl - @cost; - set #bankstorage,#bankstorage - @cost; - set @cost,0; + mes "Hmmmm let me check some paper work."; next; - goto Lwithcont2; - -Lwithcont2: - set Zeny,Zeny - @cost; - set Zeny,Zeny + @withdrawl; - set #bankstorage,#bankstorage - @withdrawl; - mes "[Banker]"; - mes "There's your Zeny. Have a good day."; - close; - -Lbalance: - mes "[Banker]"; - mes "Hmmmm lemme check the paper work."; - next; - mes "*Rustle, Rustle*"; - next; - mes "[Banker]"; - mes "You currently have " + #bankstorage + " Zeny in your account."; - close; - -Lrealamount: - mes "[Banker]"; - mes "Don't play jokes with me please. Next time ask for a real amount."; - close; - -Lneedzeny: - mes "[Banker]"; - mes "You don't have enough Zeny to make that deposit."; - close; - -Lneedzeny2: - mes "[Banker]"; - mes "You don't have enough Zeny to cover the transaction fee."; - close; - -Lneedzeny3: - mes "[Banker]"; - mes "You don't have enough Zeny in your account."; - close; - -Lcancel: - mes "[Banker]"; - mes "Very well... come again soon."; - close; -}
\ No newline at end of file + 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; + } +} // EOF
\ No newline at end of file |