diff options
Diffstat (limited to 'npc/other/bank.txt')
-rw-r--r-- | npc/other/bank.txt | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/npc/other/bank.txt b/npc/other/bank.txt new file mode 100644 index 000000000..ae8ce7829 --- /dev/null +++ b/npc/other/bank.txt @@ -0,0 +1,126 @@ +//===== eAthena Script =======================================
+//= Banker Script
+//===== By: ==================================================
+//= Syrus22 (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any eAthena 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.
+//============================================================
+prontera.gat,132,217,5 script Banker 109,{
+set @cost,0;
+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:
+ mes "[Banker]";
+ mes "Oh and don't forget there is a " + @cost + " Zeny charge on all transactions.";
+ 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:
+ 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;
+
+ Lcostask:
+ 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;
+ menu "Yes please.",Lwithtake,"No thank you.",Lcancel;
+
+ Lwithtake:
+ mes "[Banker]";
+ mes "Ok then.";
+ set @withdrawl,@withdrawl - @cost;
+ set #bankstorage,#bankstorage - @cost;
+ set @cost,0;
+ 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 |