//===== eAthena Script ======================================= 
//= The 2nd Bank of Prontera ( with daily 0.01% income! )
//===== By: ================================================== 
//= Lupus (1.0)
//===== Current Version: ===================================== 
//= 1.2
//===== Compatible With: ===================================== 
//= eAthena 1.x
//===== Description: ========================================= 
//= A bank which has an interest %
//===== Additional Comments: ================================= 
// Look for this formula and setup your Bank daily % interest
// #kafrabank/1000 = 0.1% of interest per day
// #kafrabank/100  =  1%  of interest per day
// #kafrabank/10   =  10% of interest per day
//
// 1.1 Added log of bank operation -> logmes "some info";
// 1.2 Set max income to 100,000z. It would help to avoid
//	zeny exploits when you change DATE at your server
//============================================================ 

prontera,131,190,1	script	Bank Clerk::bankg	833,{  
 mes"[Maniss]";
 mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";

 set @kb_int,(gettime(6)*31)+gettime(5); //today's number
 set @income,0;
//calculate %
 if (#kafrabank<=0 || #kb_int>=@kb_int) goto L_NoIncomeToday;
 set @income,(#kafrabank/1000)*(@kb_int-#kb_int); //@income == % of the sum
//max income constant:
 if (@income>100000) set @income,100000;
L_NoIncomeToday:
 set #kb_int,@kb_int; //reset days timer
  
 if(#kafrabank==0) mes "We could open you an account.";
 if(@income>0) mes "Today's income: ^135445" + @income + "^000000 zeny.";
 set #kafrabank,#kafrabank+@income;
 if(#kafrabank>0) mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
 mes "What would you like?";
 next;
 if(#kafrabank==0) menu "-Open an account",-,"-Quit",B_EXIT2;
 if(#kafrabank>0) menu "-Deposit money",-,"-Withdraw money",M_WITHDRAW,"-Quit",B_EXIT2;

 mes"[Maniss]";
 mes "Please, tell me how much zeny you would like to deposit.";
 next;
 input @kafrabank;
  
 if(@kafrabank<1000) goto L_LESS_1000;
 if(@kafrabank>10000000) goto L_TOO_BIG_AMOUNT;
 if(@kafrabank>zeny) goto L_NOT_ENOUGH;
 set zeny,zeny-@kafrabank;
 set #kafrabank,#kafrabank+@kafrabank;
 mes"[Maniss]";
 mes "You've made a deposit of ^135445" + @kafrabank + "z^000000.";
//we log these zeny operations into the log db
 logmes "Bank %: " + @income +"z, Deposit: "+ @kafrabank +"z, Final: "+ #kafrabank +"z"; 
 goto B_EXIT;

M_WITHDRAW:  
 if(#kafrabank==0) goto L_ZERO_ACCOUNT;
 mes"[Maniss]";
 mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
 mes "How much zeny would you like to withdraw?";
 next;
 input @kafrabank;
  
 if(@kafrabank<1) goto B_EXIT2;
 if(@kafrabank>10000000) goto L_TOO_BIG_AMOUNT;
 if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
 set #kafrabank,#kafrabank-@kafrabank;
 set zeny,zeny+@kafrabank;
 mes"[Maniss]";
 mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here...";
//we log these zeny operations into the log db
 logmes "Bank %: " + @income +"z, Withdraw: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
 goto B_EXIT;
  
L_NOT_ENOUGH:  
 mes"[Maniss]";
 mes "You don't have enough zeny for this operation.";
 next;
 goto B_EXIT2;

L_ZERO_ACCOUNT:  
 mes"[Maniss]";
 mes "You don't have any zeny on your account!";
 next;
 goto B_EXIT2;

L_TOO_BIG_AMOUNT:  
 mes"[Maniss]";
 mes "Sorry. The maximum deposit you can make on a time is 10,000,000 zeny.";
 next;
 goto B_EXIT2;

L_LESS_1000:  
 mes"[Maniss]";
 mes "We're sorry, the minimum amount of zeny you can deposit is 1,000 zeny.";
 next;
 goto B_EXIT2;
  
B_EXIT:
 mes "Very well... Come again soon!";
 next;

B_EXIT2:  
 mes"[Maniss]";
 mes "Thank you for using our Bank Service. We hope to see you again soon.";
 close;
}

geffen,125,73,3	duplicate(bankg)	Bank Clerk#2	833
izlude,145,107,1	duplicate(bankg)	Bank Clerk#3	833
morocc,147,84,7	duplicate(bankg)	Bank Clerk#4	833