//===== Hercules Script ====================================== //= Banker Script //===== By: ================================================== //= Syrus22 (1.0) //===== Current Version: ===================================== //= 2.0 //===== 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 4_M_MANAGER,{ 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; } if (@deposit > Zeny) { mes "It does not appear like you have the amount of zeny you're trying to deposit!"; close; } if (@deposit > Zeny - @cost) { mes "You need " + @cost + " Zeny to cover the transaction fee!"; close; } Zeny -= @deposit; Zeny -= @cost; #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; } if (@withdrawl > #bankstorage) { mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!"; close; } 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..."; @withdrawl -= @cost; #bankstorage -= @cost; @cost = 0; next; Zeny -= @cost; Zeny += @withdrawl; #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; } } Zeny -= @cost; Zeny += @withdrawl; #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; } }