You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.7 KiB
Plaintext
119 lines
3.7 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= Banker Script
|
|
//===== By: ==================================================
|
|
//= Syrus22 (1.0)
|
|
//===== Current Version: =====================================
|
|
//= 2.0
|
|
//===== Compatible With: =====================================
|
|
//= rAthena Project
|
|
//===== 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 109,{
|
|
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 withdrawal.: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;
|
|
}
|
|
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 "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;
|
|
}
|
|
else if (@withdrawl > #bankstorage) {
|
|
mes "You only have ^00FF00" + callfunc("F_InsertComma",#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 withdrawal?";
|
|
next;
|
|
switch(select("Yes please.:No, Thanks")){
|
|
case 1:
|
|
mes "[Banker]";
|
|
mes "Removing " + @cost + " from your withdrawal 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 "Hmmmm... let me check some paper work.";
|
|
next;
|
|
mes "*Rustle, Rustle*";
|
|
next;
|
|
mes "[Banker]";
|
|
mes "You currently have " + callfunc("F_InsertComma",#bankstorage) + " Zeny in your account.";
|
|
close;
|
|
case 4:
|
|
mes "[Banker]";
|
|
mes "Very well... come again soon.";
|
|
close;
|
|
}
|
|
}
|