diff options
-rw-r--r-- | npc/021-1_Tulimshar/north_shops.txt | 4 | ||||
-rw-r--r-- | npc/functions/banker.txt | 11 | ||||
-rw-r--r-- | npc/functions/water_bottle.txt | 34 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
4 files changed, 46 insertions, 4 deletions
diff --git a/npc/021-1_Tulimshar/north_shops.txt b/npc/021-1_Tulimshar/north_shops.txt index 6d38531c..333b88e1 100644 --- a/npc/021-1_Tulimshar/north_shops.txt +++ b/npc/021-1_Tulimshar/north_shops.txt @@ -33,6 +33,10 @@ close; } +021-1.gat,129,40,0 script Well 127,{ + callfunc "WaterBottle"; +} + // An officer (for security) 021-1.gat,130,38,0 script Officer 150,{ mes "[Officer]"; diff --git a/npc/functions/banker.txt b/npc/functions/banker.txt index 6a43b90d..89551448 100644 --- a/npc/functions/banker.txt +++ b/npc/functions/banker.txt @@ -8,7 +8,8 @@ L_Start: mes "\"Welcome to the bank!"; mes "How can I help you?\""; next; - menu "Deposit", L_Dep, + menu + "Deposit", L_Dep, "Withdraw", L_With, "Check my balance", L_Balance, "Nevermind", L_Nev; @@ -17,7 +18,7 @@ L_Dep: mes "[" + @npcName$ + "]"; mes "\"How much would you like to deposit?\""; next; - menu + menu "Other", L_Dep_Input, "5,000 GP", L_Dep_5k, "10,000 GP", L_Dep_10k, @@ -36,7 +37,8 @@ L_Dep_Input: if (@Amount >= 0) goto L_Dep_Continue; mes "[" + @npcName$ + "]"; mes "\"I need a positive amount. What would you like to do?\""; - menu "Go back", L_Start, + menu + "Go back", L_Start, "Try again", L_Dep_Input, "Deposit all", L_Dep_All, "Quit", -; @@ -115,7 +117,8 @@ L_With_Input: if (@Amount >= 0) goto L_With_Continue; mes "[" + @npcName$ + "]"; mes "\"I need a positive amount. What would you like to do?\""; - menu "Go back", L_Start, + menu + "Go back", L_Start, "Try again", L_With_Input, "Withdraw all", L_With_All, "Quit", -; diff --git a/npc/functions/water_bottle.txt b/npc/functions/water_bottle.txt new file mode 100644 index 00000000..c2d9a1e0 --- /dev/null +++ b/npc/functions/water_bottle.txt @@ -0,0 +1,34 @@ +// Fills empty bottles with water + +function script WaterBottle { + set @COST_PER_BOTTLE, 150; + + mes "How many empty bottles do you want to fill with water? It costs " + @COST_PER_BOTTLE + "gp per bottle."; + input @count; + + if (@count == 0) close; + set @cost, @count * @COST_PER_BOTTLE; + set @empty, countitem("EmptyBottle"); + + if (@empty < @count) goto L_NotEnoughBottles; + if (zeny < @cost) goto L_NotEnoughMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem("BottleOfWater") == 0 && @empty > @count) goto L_NotEnoughSlots; + + set zeny, zeny - @cost; + delitem "EmptyBottle", @count; + getitem "BottleOfWater", @count; + close; + +L_NotEnoughBottles: + mes "You don't have that many empty bottles!"; + close; + +L_NotEnoughMoney: + mes "You don't have enough gp! You need " + @cost + "gp."; + close; + +L_NotEnoughSlots: + mes "You don't have room for these bottles!"; + close; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index d630571b..b61e0c62 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -12,6 +12,7 @@ npc: npc/functions/mob_points.txt npc: npc/functions/process_equip.txt npc: npc/functions/slot_machine.txt npc: npc/functions/soul_menhir.txt +npc: npc/functions/water_bottle.txt // Item Functions npc: npc/items/purification_potion.txt |