
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10018 54d463be-8e91-2dee-dedb-b68131a5f0ec
126 lines
3.5 KiB
Plaintext
126 lines
3.5 KiB
Plaintext
//===== 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,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;
|
|
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;
|
|
} |