summaryrefslogtreecommitdiff
path: root/npc/functions/banker.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/banker.txt')
-rw-r--r--npc/functions/banker.txt40
1 files changed, 31 insertions, 9 deletions
diff --git a/npc/functions/banker.txt b/npc/functions/banker.txt
index 00f033c9..3c060071 100644
--- a/npc/functions/banker.txt
+++ b/npc/functions/banker.txt
@@ -1,6 +1,7 @@
//
function script Banker {
+
if (BankAccount > 0) callsub S_MoveAccount;
L_Start:
@@ -13,13 +14,16 @@ L_Start:
"Withdraw", L_With,
"Check my balance", L_Balance,
"Open my storage", L_Storage,
+ "Change Bank Options", L_Change,
"Nevermind", L_Nev;
-
+
close;
-
+
// need to close window before opening storage.
L_Storage:
+ if (#BankOptions & OPT_STORAGE_CLOSE) close2;
openstorage;
+ if (#BankOptions & OPT_STORAGE_CLOSE) end;
goto L_Start;
L_Dep:
@@ -40,7 +44,7 @@ L_Dep:
"I've changed my mind", L_Start,
"Quit", -;
return;
-
+
L_Dep_Input:
input @Amount;
if (@Amount >= 0) goto L_Dep_Continue;
@@ -96,13 +100,13 @@ L_Dep_1kk:
L_Dep_All:
if (zeny<1) goto L_NoMoney;
set @Amount, zeny;
-
+
L_Dep_Continue:
if (zeny < @Amount) goto L_NoMoney;
set zeny, zeny - @Amount;
set #BankAccount, #BankAccount + @Amount;
goto L_Balance;
-
+
L_With:
mes "[" + @npcname$ + "]";
mes "\"How much would you like to withdraw?\"";
@@ -182,25 +186,43 @@ L_With_Continue:
set zeny, zeny + @Amount;
set #BankAccount, #BankAccount - @Amount;
goto L_Balance;
-
+
L_Balance:
mes "[" + @npcname$ + "]";
mes "\"Your current bank balance is:";
mes #BankAccount + " GP\"";
+ if (#BankOptions & OPT_BANK_CLOSE) close;
goto L_Start;
-
+
L_Nev:
mes "[" + @npcname$ + "]";
mes "\"Goodbye then.\"";
return;
-
+
L_NoMoney:
mes "[" + @npcname$ + "]";
mes "\"Oh dear, it seems that you don't have enough money.\"";
goto L_Start;
-
+
S_MoveAccount:
set #BankAccount, #BankAccount + BankAccount;
set BankAccount, 0;
return;
+
+L_Change:
+ setarray @menuitems$, "Keep the current settings", "Close NPC dialog after selecting storage option", "Close NPC dialog after checking your balance";
+ if (#BankOptions & OPT_STORAGE_CLOSE) set @menuitems$[1], "Return to main menu after leaving storage";
+ if (#BankOptions & OPT_BANK_CLOSE) set @menuitems$[2], "Return to main menu after leaving bank";
+ menu
+ @menuitems$[0], L_Start,
+ @menuitems$[1], L_Change_Storage,
+ @menuitems$[2], L_Change_Bank;
+
+L_Change_Storage:
+ set #BankOptions, (#BankOptions ^ OPT_STORAGE_CLOSE);
+ goto L_Start;
+
+L_Change_Bank:
+ set #BankOptions, (#BankOptions ^ OPT_BANK_CLOSE);
+ goto L_Start;
}