summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/custom/etc/morroc_raceway.txt50
-rw-r--r--npc/custom/etc/shifty_assassin.txt293
-rw-r--r--npc/custom/etc/stock_market.txt1148
-rw-r--r--npc/custom/events/hallow06.txt99
-rw-r--r--npc/custom/events/uneasy_cemetery.txt89
-rw-r--r--npc/custom/events/valentinesdayexp.txt203
-rw-r--r--npc/custom/events/xmas_rings_event.txt113
-rw-r--r--npc/custom/quests/bandit_beard.txt30
-rw-r--r--npc/custom/quests/dead_branch.txt141
-rw-r--r--npc/custom/quests/elvenear.txt90
-rw-r--r--npc/custom/quests/event_6_new_hats.txt548
-rw-r--r--npc/custom/quests/may_hats.txt290
-rw-r--r--npc/custom/quests/thq/THQS_ChatingNPC.txt10
-rw-r--r--npc/custom/quests/thq/THQS_GuildNPC.txt93
-rw-r--r--npc/custom/quests/thq/THQS_QuestNPC.txt783
-rw-r--r--npc/custom/quests/umbalian_language.txt141
16 files changed, 2047 insertions, 2074 deletions
diff --git a/npc/custom/etc/morroc_raceway.txt b/npc/custom/etc/morroc_raceway.txt
index 48ee8e47e..87f91ff7e 100644
--- a/npc/custom/etc/morroc_raceway.txt
+++ b/npc/custom/etc/morroc_raceway.txt
@@ -23,11 +23,11 @@ morocc,166,105,6 script Race Girl#01 4_F_KAFRA2,{
mes "[Race Girl]";
mes "Would you like to visit ^0000FFMorroc Raceway^000000?";
next;
- menu "Yes",L_Warp,"No",-;
- mes "[Race Girl]";
- mes "Alright, talk to me again when you want to go.";
- close;
-L_Warp:
+ if (select("Yes", "No") != 1) {
+ mes "[Race Girl]";
+ mes "Alright, talk to me again when you want to go.";
+ close;
+ }
warp "pvp_y_1-5",165,256;
close;
}
@@ -37,22 +37,25 @@ pvp_y_1-5,169,265,5 script Race Girl#02 4_F_KAFRA2,{
mes "[Race Girl]";
mes "Welcome to Morroc Raceway!";
next;
- menu "Information",-,"Leave",L_Warp,"Cancel",L_Cancel;
- mes "[Race Girl]";
- mes "Someone must click on the Starter NPC to start the race.";
- next;
- mes "[Race Girl]";
- mes "Once the race is started, run around Morroc anti-clockwise.";
- next;
- mes "[Race Girl]";
- mes "You must reach all the checkpoints - No cheating!";
- close;
-L_Warp:
- warp "morocc",165,101;
-L_Cancel:
- mes "[Race Girl]";
- mes "Come again soon!";
- close;
+ switch (select("Information", "Leave", "Cancel")) {
+ case 1:
+ mes "[Race Girl]";
+ mes "Someone must click on the Starter NPC to start the race.";
+ next;
+ mes "[Race Girl]";
+ mes "Once the race is started, run around Morroc anti-clockwise.";
+ next;
+ mes "[Race Girl]";
+ mes "You must reach all the checkpoints - No cheating!";
+ close;
+ case 2:
+ warp "morocc",165,101;
+ end;
+ case 3:
+ mes "[Race Girl]";
+ mes "Come again soon!";
+ close;
+ }
}
//Counts down and starts race
@@ -63,9 +66,8 @@ pvp_y_1-5,145,269,5 script Starter 4_M_JOB_KNIGHT1,{
L_Menu:
mes "[Race Starter]";
mes "Please stay on the Eastern side of me.";
- menu "Start Race",L_Count,"Cancel",-;
- close;
-L_Count:
+ if (select("Start Race", "Cancel") != 1)
+ close;
set $@counting,1;
mes "Counting down...";
addtimer 1000, "Starter::OnCount1000";
diff --git a/npc/custom/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt
index f01a328fb..ccc9810c3 100644
--- a/npc/custom/etc/shifty_assassin.txt
+++ b/npc/custom/etc/shifty_assassin.txt
@@ -14,157 +14,148 @@
morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
set $ninja_price,250000;
- // STARTS THE MENU //
-M_Start:
- mes "[Shifty Assassin]";
- mes "What do you want?";
- next;
- if (getgmlevel() > 90) goto M_GM;
- menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit;
-M_GM:
- menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit;
-
- // GM MENU TO ADD NINJAS //
-M_Add:
- mes "[Shifty Assassin]";
- mes "How many ninjas do you want to make available?";
- next;
- set @add,0;
- input @add;
- set $ninja_avail,$ninja_avail+@add;
- mes @add + " ninjas added.";
- close;
-
- // BUY NINJAS //
-M_Buy:
- mes "[Shifty Assassin]";
- mes "How many ninjas do you want buy?";
- mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available.";
- mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
-
- set @buy,0;
- input @buy;
- next;
- if ($ninja_avail < 1) goto NoNinjas;
- if ($ninja_avail < @buy) goto NotEnoughNinjas;
- set @price,@buy*$ninja_price;
- if (Zeny < @price ) goto NoZeny;
-
- mes "[Shifty Assassin]";
- mes "That will cost you ^0000FF" + @price + " zeny^000000.";
- next;
- menu "Continue",-,"Cancel",M_Exit;
-
- Zeny -= @price;
- set #ninjas,#ninjas+@buy;
- set $ninja_avail,$ninja_avail-@buy;
-
- mes "[Shifty Assassin]";
- mes "Thank you.";
- close;
-
- // ASSASSINATE SOMEBODY //
-M_Kill:
- if (agitcheck()) goto M_Busy;
- mes "[Shifty Assassin]";
- mes "Enter the name of the target.";
- mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000";
- next;
- menu "Continue",-,"Cancel",M_Exit;
- set @name$,"0";
- input @name$;
- next;
- mes "[Shifty Assassin]";
- mes "Active Ninjas: "+#ninjas;
- mes "Resting Ninjas: "+#ninjasr;
- mes "How many do you want to send?";
- set @number,0;
- input @number;
- if (@number < 1) goto NoNinjasSent;
- if (@number > #ninjas) goto NotEnoughNinjas1;
- if (@number > 10) goto TooManyNinjas;
- set @chance,rand (1,12);
- set #ninjas,#ninjas-@number;
- set #ninjas,#ninjas+#ninjasr;
- set #ninjasr,0;
- if (@number < @chance) goto M_Failure;
-
- // SUCCESSFUL ATTACK //
- mes "Sending ninjas now.";
- next;
- mes "[Shifty Assassin]";
- set @ninjasurvived,rand (1,@number);
- set #ninjasr,@number-@ninjasurvived;
- mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
-
- atcommand strcharinfo(0) + "@kill "+@name$;
- announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",bc_npc;
- close;
-
- // FAILED ATTACK //
-M_Failure:
- mes "Sending ninjas now.";
- next;
- mes "[Shifty Assassin]";
- set @ninjasurvived,rand (1,@number);
- set #ninjasr,@number-@ninjasurvived;
- mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
-
- announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
- close;
-
- // NINJAS BUSY FOR WOE //
-M_Busy:
- mes "[Shifty Assassin]";
- mes "Sorry, all my ninjas are busy doing War of Emperium.";
- close;
-
- // CHECK YOUR NINJAS //
-M_Check:
- mes "[Shifty Assassin]";
- mes "You have:";
- mes "^FF0000" + #ninjas + "^000000 Active Ninjas.";
- mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas.";
- next;
- goto M_Start;
-
-
- // LIMIT //
-NoNinjasSent:
- mes "[Shifty Assassin]";
- mes "You can't kill anyone without ninjas.";
- next;
- goto M_Start;
-
-TooManyNinjas:
- mes "[Shifty Assassin]";
- mes "You can only send 10 ninjas max.";
- next;
- goto M_Start;
-
-NoZeny:
- mes "[Shifty Assassin]";
- mes "You do not have enough zeny.";
- close;
-
-NotEnoughNinjas:
- mes "[Shifty Assassin]";
- mes "There aren't that many ninjas to buy.";
- next;
- goto M_Start;
-
-NoNinjas:
- mes "[Shifty Assassin]";
- mes "There are no ninjas left to buy.";
- close;
-
-NotEnoughNinjas1:
- mes "[Shifty Assassin]";
- mes "You do not have that many ninjas.";
- next;
- goto M_Start;
-
-M_Exit:
+ freeloop(true);
+ while (true) {
+ mes "[Shifty Assassin]";
+ mes "What do you want?";
+ next;
+ switch (select("Buy Ninjas", "Assassinate somebody", "Check your Ninjas", getgmlevel() > 90 ? "Add Ninjas" : "", "Cancel")) {
+ case 1:
+ mes "[Shifty Assassin]";
+ mes "How many ninjas do you want buy?";
+ mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available.";
+ mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
+
+ set @buy,0;
+ input @buy;
+ next;
+ if ($ninja_avail < 1) {
+ mes "[Shifty Assassin]";
+ mes "There are no ninjas left to buy.";
+ close;
+ }
+ if ($ninja_avail < @buy) {
+ mes "[Shifty Assassin]";
+ mes "There aren't that many ninjas to buy.";
+ next;
+ continue;
+ }
+ set @price,@buy*$ninja_price;
+ if (Zeny < @price ) {
+ mes "[Shifty Assassin]";
+ mes "You do not have enough zeny.";
+ close;
+ }
+
+ mes "[Shifty Assassin]";
+ mes "That will cost you ^0000FF" + @price + " zeny^000000.";
+ next;
+ if (select("Continue", "Cancel") != 1) {
+ callsub(OnExit);
+ end;
+ }
+ Zeny -= @price;
+ set #ninjas,#ninjas+@buy;
+ set $ninja_avail,$ninja_avail-@buy;
+
+ mes "[Shifty Assassin]";
+ mes "Thank you.";
+ close;
+ case 2:
+ if (agitcheck()) {
+ // NINJAS BUSY FOR WOE //
+ mes "[Shifty Assassin]";
+ mes "Sorry, all my ninjas are busy doing War of Emperium.";
+ close;
+ }
+ mes "[Shifty Assassin]";
+ mes "Enter the name of the target.";
+ mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000";
+ next;
+ if (select("Continue", "Cancel") != 1) {
+ callsub(OnExit);
+ end;
+ }
+ set @name$,"0";
+ input @name$;
+ next;
+ mes "[Shifty Assassin]";
+ mes "Active Ninjas: "+#ninjas;
+ mes "Resting Ninjas: "+#ninjasr;
+ mes "How many do you want to send?";
+ set @number,0;
+ input @number;
+ if (@number < 1) {
+ mes "[Shifty Assassin]";
+ mes "You can't kill anyone without ninjas.";
+ next;
+ continue;
+ }
+ if (@number > #ninjas) {
+ mes "[Shifty Assassin]";
+ mes "You do not have that many ninjas.";
+ next;
+ continue;
+ }
+ if (@number > 10) {
+ mes "[Shifty Assassin]";
+ mes "You can only send 10 ninjas max.";
+ next;
+ continue;
+ }
+ set @chance,rand (1,12);
+ set #ninjas,#ninjas-@number;
+ set #ninjas,#ninjas+#ninjasr;
+ set #ninjasr,0;
+ if (@number < @chance) {
+ // FAILED ATTACK //
+ mes "Sending ninjas now.";
+ next;
+ mes "[Shifty Assassin]";
+ set @ninjasurvived,rand (1,@number);
+ set #ninjasr,@number-@ninjasurvived;
+ mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
+
+ announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
+ close;
+ }
+ // SUCCESSFUL ATTACK //
+ mes "Sending ninjas now.";
+ next;
+ mes "[Shifty Assassin]";
+ set @ninjasurvived,rand (1,@number);
+ set #ninjasr,@number-@ninjasurvived;
+ mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
+
+ atcommand strcharinfo(0) + "@kill "+@name$;
+ announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",bc_npc;
+ close;
+ case 3:
+ mes "[Shifty Assassin]";
+ mes "You have:";
+ mes "^FF0000" + #ninjas + "^000000 Active Ninjas.";
+ mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas.";
+ next;
+ continue;
+ case 4:
+ if (getgmlevel() <= 90)
+ end;
+ mes "[Shifty Assassin]";
+ mes "How many ninjas do you want to make available?";
+ next;
+ set @add,0;
+ input @add;
+ set $ninja_avail,$ninja_avail+@add;
+ mes @add + " ninjas added.";
+ close;
+ case 5:
+ callsub(OnExit);
+ end;
+ }
+ end;
+ }
+
+OnExit:
mes "[Shifty Assassin]";
mes "Goodbye.";
close;
diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt
index 1d480d770..465840dfe 100644
--- a/npc/custom/etc/stock_market.txt
+++ b/npc/custom/etc/stock_market.txt
@@ -173,589 +173,588 @@ S_Fluc:
prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
// Ensures no trading when default prices have not been set //
set @stotal,$S1+$S2+$S3+$S4+$S5+$S6+$S7+$S8+$S9+$S10;
- if (@stotal > 0) goto S_Start;
- mes "[Stock Market]";
- mes "Trading is currently closed.";
- if (getgmlevel() > 90) goto GM_Open;
- close;
-
- // Begining of interface //
-S_Start:
- mes "[Stock Market]";
- mes "Last fluctuation: " + $S_LastUpd$;
-
- // Loss/Gain in price //
- set @S1Update,$S1-$S1B;
- set @S2Update,$S2-$S2B;
- set @S3Update,$S3-$S3B;
- set @S4Update,$S4-$S4B;
- set @S5Update,$S5-$S5B;
- set @S6Update,$S6-$S6B;
- set @S7Update,$S7-$S7B;
- set @S8Update,$S8-$S8B;
- set @S9Update,$S9-$S9B;
- set @S10Update,$S10-$S10B;
-
- // Makes Loss/Gain Red/Green //
- if (@S1Update < 0) set @S1Update$,"^FF0000"+@S1Update+"^000000";
- if (@S1Update > 0) set @S1Update$,"^00FF00+"+@S1Update+"^000000";
- if (@S1Update == 0) set @S1Update$,@S1Update;
-
- if (@S2Update < 0) set @S2Update$,"^FF0000"+@S2Update+"^000000";
- if (@S2Update > 0) set @S2Update$,"^00FF00+"+@S2Update+"^000000";
- if (@S2Update == 0) set @S2Update$,@S2Update;
-
- if (@S3Update < 0) set @S3Update$,"^FF0000"+@S3Update+"^000000";
- if (@S3Update > 0) set @S3Update$,"^00FF00+"+@S3Update+"^000000";
- if (@S3Update == 0) set @S3Update$,@S3Update;
-
- if (@S4Update < 0) set @S4Update$,"^FF0000"+@S4Update+"^000000";
- if (@S4Update > 0) set @S4Update$,"^00FF00+"+@S4Update+"^000000";
- if (@S4Update == 0) set @S4Update$,@S4Update;
-
- if (@S5Update < 0) set @S5Update$,"^FF0000"+@S5Update+"^000000";
- if (@S5Update > 0) set @S5Update$,"^00FF00+"+@S5Update+"^000000";
- if (@S5Update == 0) set @S5Update$,@S5Update;
-
- if (@S6Update < 0) set @S6Update$,"^FF0000"+@S6Update+"^000000";
- if (@S6Update > 0) set @S6Update$,"^00FF00+"+@S6Update+"^000000";
- if (@S6Update == 0) set @S6Update$,@S6Update;
-
- if (@S7Update < 0) set @S7Update$,"^FF0000"+@S7Update+"^000000";
- if (@S7Update > 0) set @S7Update$,"^00FF00+"+@S7Update+"^000000";
- if (@S7Update == 0) set @S7Update$,@S7Update;
-
- if (@S8Update < 0) set @S8Update$,"^FF0000"+@S8Update+"^000000";
- if (@S8Update > 0) set @S8Update$,"^00FF00+"+@S8Update+"^000000";
- if (@S8Update == 0) set @S8Update$,@S8Update;
-
- if (@S9Update < 0) set @S9Update$,"^FF0000"+@S9Update+"^000000";
- if (@S9Update > 0) set @S9Update$,"^00FF00+"+@S9Update+"^000000";
- if (@S9Update == 0) set @S9Update$,@S9Update;
-
- if (@S10Update < 0) set @S10Update$,"^FF0000"+@S10Update+"^000000";
- if (@S10Update > 0) set @S10Update$,"^00FF00+"+@S10Update+"^000000";
- if (@S10Update == 0) set @S10Update$,@S10Update;
-
- // Displays shares & prices //
- mes "^21698F"+$S1N$+"^000000" + " " + $S1 + "z (" + @S1Update$ + ")";
- mes "^21698F"+$S2N$+"^000000" + " " + $S2 + "z (" + @S2Update$ + ")";
- mes "^21698F"+$S3N$+"^000000" + " " + $S3 + "z (" + @S3Update$ + ")";
- mes "^21698F"+$S4N$+"^000000" + " " + $S4 + "z (" + @S4Update$ + ")";
- mes "^21698F"+$S5N$+"^000000" + " " + $S5 + "z (" + @S5Update$ + ")";
- mes "^21698F"+$S6N$+"^000000" + " " + $S6 + "z (" + @S6Update$ + ")";
- mes "^21698F"+$S7N$+"^000000" + " " + $S7 + "z (" + @S7Update$ + ")";
- mes "^21698F"+$S8N$+"^000000" + " " + $S8 + "z (" + @S8Update$ + ")";
- mes "^21698F"+$S9N$+"^000000" + " " + $S9 + "z (" + @S9Update$ + ")";
- mes "^21698F"+$S10N$+"^000000" + " " + $S10 + "z (" + @S10Update$ + ")";
- next;
-
- // GM Menu link //
- if (getgmlevel() > 90) goto GM_subMenu;
- menu "Portfolio",S_Port,"Buy Shares",S_Buy,"Sell Shares",S_Sell,"Cancel",S_Quit;
-
-GM_subMenu:
- menu "Portfolio",S_Port,"Buy Shares",S_Buy,"Sell Shares",S_Sell,"GM Menu",GM_Menu,"Cancel",S_Quit;
-
- // Selling Shares //
-S_Sell:
- mes "[Stock Market]";
- mes "Enter the name of the share you wish to sell.";
- mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
- if (#S1 > 0) mes "^0000FF"+$S1N$+"^FF0000" + " x " + #S1 + " [" + $S1 + "z]";
- if (#S2 > 0) mes "^0000FF"+$S2N$+"^FF0000" + " x " + #S2 + " [" + $S2 + "z]";
- if (#S3 > 0) mes "^0000FF"+$S3N$+"^FF0000" + " x " + #S3 + " [" + $S3 + "z]";
- if (#S4 > 0) mes "^0000FF"+$S4N$+"^FF0000" + " x " + #S4 + " [" + $S4 + "z]";
- if (#S5 > 0) mes "^0000FF"+$S5N$+"^FF0000" + " x " + #S5 + " [" + $S5 + "z]";
- if (#S6 > 0) mes "^0000FF"+$S6N$+"^FF0000" + " x " + #S6 + " [" + $S6 + "z]";
- if (#S7 > 0) mes "^0000FF"+$S7N$+"^FF0000" + " x " + #S7 + " [" + $S7 + "z]";
- if (#S8 > 0) mes "^0000FF"+$S8N$+"^FF0000" + " x " + #S8 + " [" + $S8 + "z]";
- if (#S9 > 0) mes "^0000FF"+$S9N$+"^FF0000" + " x " + #S9 + " [" + $S9 + "z]";
- if (#S10 > 0) mes "^0000FF"+$S10N$+"^FF0000" + " x " + #S10 + " [" + $S10 + "z]";
- set @sellname$,"0";
- input @sellname$;
- set @sellamount,0;
- input @sellamount;
- if (@sellamount < 1) goto S_SellInv;
- if (Zeny < $S_Trans) goto S_NoZeny;
- Zeny -= $S_Trans;
-
-SELLS1:
- if (@sellname$ != $S1N$) goto SELLS2;
- if (@sellamount > #S1) goto S_SellTooHigh;
- set @price,@sellamount*$S1;
- set #S1,#S1-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S1N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS2:
- if (@sellname$ != $S2N$) goto SELLS3;
- if (@sellamount > #S2) goto S_SellTooHigh;
- set @price,@sellamount*$S2;
- set #S2,#S2-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S2N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS3:
- if (@sellname$ != $S3N$) goto SELLS4;
- if (@sellamount > #S3) goto S_SellTooHigh;
- set @price,@sellamount*$S3;
- set #S3,#S3-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S3N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS4:
- if (@sellname$ != $S4N$) goto SELLS5;
- if (@sellamount > #S4) goto S_SellTooHigh;
- set @price,@sellamount*$S4;
- set #S4,#S4-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S4N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS5:
- if (@sellname$ != $S5N$) goto SELLS6;
- if (@sellamount > #S5) goto S_SellTooHigh;
- set @price,@sellamount*$S5;
- set #S5,#S5-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S5N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS6:
- if (@sellname$ != $S6N$) goto SELLS7;
- if (@sellamount > #S6) goto S_SellTooHigh;
- set @price,@sellamount*$S6;
- set #S6,#S6-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S6N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS7:
- if (@sellname$ != $S7N$) goto SELLS8;
- if (@sellamount > #S7) goto S_SellTooHigh;
- set @price,@sellamount*$S7;
- set #S7,#S7-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S7N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS8:
- if (@sellname$ != $S8N$) goto SELLS9;
- if (@sellamount > #S8) goto S_SellTooHigh;
- set @price,@sellamount*$S8;
- set #S8,#S8-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S8N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS9:
- if (@sellname$ != $S9N$) goto SELLS10;
- if (@sellamount > #S9) goto S_SellTooHigh;
- set @price,@sellamount*$S9;
- set #S9,#S9-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S9N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS10:
- if (@sellname$ != $S10N$) goto SELLS11;
- if (@sellamount > #S10) goto S_SellTooHigh;
- set @price,@sellamount*$S10;
- set #S10,#S10-@sellamount;
- Zeny += @price;
- next;
- mes "Sold " + @sellamount + " " + $S10N$ + " shares.";
- mes "Earned ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-SELLS11:
- mes "^FF0000Invalid Share Name.^000000";
- next;
- goto S_Start;
+ if (@stotal <= 0) {
+ mes "[Stock Market]";
+ mes "Trading is currently closed.";
+ if (getgmlevel() > 90)
+ callsub(OnGMOpen);
+ close;
+ }
+
+ freeloop(true);
+ while (true) {
+ mes "[Stock Market]";
+ mes "Last fluctuation: " + $S_LastUpd$;
+
+ // Loss/Gain in price //
+ set @S1Update,$S1-$S1B;
+ set @S2Update,$S2-$S2B;
+ set @S3Update,$S3-$S3B;
+ set @S4Update,$S4-$S4B;
+ set @S5Update,$S5-$S5B;
+ set @S6Update,$S6-$S6B;
+ set @S7Update,$S7-$S7B;
+ set @S8Update,$S8-$S8B;
+ set @S9Update,$S9-$S9B;
+ set @S10Update,$S10-$S10B;
+
+ // Makes Loss/Gain Red/Green //
+ if (@S1Update < 0) set @S1Update$,"^FF0000"+@S1Update+"^000000";
+ if (@S1Update > 0) set @S1Update$,"^00FF00+"+@S1Update+"^000000";
+ if (@S1Update == 0) set @S1Update$,@S1Update;
+
+ if (@S2Update < 0) set @S2Update$,"^FF0000"+@S2Update+"^000000";
+ if (@S2Update > 0) set @S2Update$,"^00FF00+"+@S2Update+"^000000";
+ if (@S2Update == 0) set @S2Update$,@S2Update;
+
+ if (@S3Update < 0) set @S3Update$,"^FF0000"+@S3Update+"^000000";
+ if (@S3Update > 0) set @S3Update$,"^00FF00+"+@S3Update+"^000000";
+ if (@S3Update == 0) set @S3Update$,@S3Update;
+
+ if (@S4Update < 0) set @S4Update$,"^FF0000"+@S4Update+"^000000";
+ if (@S4Update > 0) set @S4Update$,"^00FF00+"+@S4Update+"^000000";
+ if (@S4Update == 0) set @S4Update$,@S4Update;
+
+ if (@S5Update < 0) set @S5Update$,"^FF0000"+@S5Update+"^000000";
+ if (@S5Update > 0) set @S5Update$,"^00FF00+"+@S5Update+"^000000";
+ if (@S5Update == 0) set @S5Update$,@S5Update;
+
+ if (@S6Update < 0) set @S6Update$,"^FF0000"+@S6Update+"^000000";
+ if (@S6Update > 0) set @S6Update$,"^00FF00+"+@S6Update+"^000000";
+ if (@S6Update == 0) set @S6Update$,@S6Update;
+
+ if (@S7Update < 0) set @S7Update$,"^FF0000"+@S7Update+"^000000";
+ if (@S7Update > 0) set @S7Update$,"^00FF00+"+@S7Update+"^000000";
+ if (@S7Update == 0) set @S7Update$,@S7Update;
+
+ if (@S8Update < 0) set @S8Update$,"^FF0000"+@S8Update+"^000000";
+ if (@S8Update > 0) set @S8Update$,"^00FF00+"+@S8Update+"^000000";
+ if (@S8Update == 0) set @S8Update$,@S8Update;
+
+ if (@S9Update < 0) set @S9Update$,"^FF0000"+@S9Update+"^000000";
+ if (@S9Update > 0) set @S9Update$,"^00FF00+"+@S9Update+"^000000";
+ if (@S9Update == 0) set @S9Update$,@S9Update;
+
+ if (@S10Update < 0) set @S10Update$,"^FF0000"+@S10Update+"^000000";
+ if (@S10Update > 0) set @S10Update$,"^00FF00+"+@S10Update+"^000000";
+ if (@S10Update == 0) set @S10Update$,@S10Update;
+
+ // Displays shares & prices //
+ mes "^21698F"+$S1N$+"^000000" + " " + $S1 + "z (" + @S1Update$ + ")";
+ mes "^21698F"+$S2N$+"^000000" + " " + $S2 + "z (" + @S2Update$ + ")";
+ mes "^21698F"+$S3N$+"^000000" + " " + $S3 + "z (" + @S3Update$ + ")";
+ mes "^21698F"+$S4N$+"^000000" + " " + $S4 + "z (" + @S4Update$ + ")";
+ mes "^21698F"+$S5N$+"^000000" + " " + $S5 + "z (" + @S5Update$ + ")";
+ mes "^21698F"+$S6N$+"^000000" + " " + $S6 + "z (" + @S6Update$ + ")";
+ mes "^21698F"+$S7N$+"^000000" + " " + $S7 + "z (" + @S7Update$ + ")";
+ mes "^21698F"+$S8N$+"^000000" + " " + $S8 + "z (" + @S8Update$ + ")";
+ mes "^21698F"+$S9N$+"^000000" + " " + $S9 + "z (" + @S9Update$ + ")";
+ mes "^21698F"+$S10N$+"^000000" + " " + $S10 + "z (" + @S10Update$ + ")";
+ next;
+
+ // GM Menu link //
+ if (getgmlevel() > 90) {
+ if (select("GM Menu", "Normal Menu") == 1)
+ callsub(OnGMMenu);
+ }
+ switch (select("Portfolio", "Buy Shares", "Sell Shares", "Cancel")) {
+ case 1:
+ mes "[Stock Market]";
+ if (#S1 >= 1) {
+ set @S1,#S1*$S1;
+ mes $S1N$ + ": " + #S1 + " x " + $S1 + "z = " + @S1 + "z";
+ }
+ if (#S2 >= 1) {
+ set @S2,#S2*$S2;
+ mes $S2N$ + ": " + #S2 + " x " + $S2 + "z = " + @S2 + "z";
+ }
+ if (#S3 >= 1) {
+ set @S3,#S3*$S3;
+ mes $S3N$ + ": " + #S3 + " x " + $S3 + "z = " + @S3 + "z";
+ }
+ if (#S4 >= 1) {
+ set @S4,#S4*$S4;
+ mes $S4N$ + ": " + #S4 + " x " + $S4 + "z = " + @S4 + "z";
+ }
+ if (#S5 >= 1) {
+ set @S5,#S5*$S5;
+ mes $S5N$ + ": " + #S5 + " x " + $S5 + "z = " + @S5 + "z";
+ }
+ if (#S6 >= 1) {
+ set @S6,#S6*$S6;
+ mes $S6N$ + ": " + #S6 + " x " + $S6 + "z = " + @S6 + "z";
+ }
+ if (#S7 >= 1) {
+ set @S7,#S7*$S7;
+ mes $S7N$ + ": " + #S7 + " x " + $S7 + "z = " + @S7 + "z";
+ }
+ if (#S8 >= 1) {
+ set @S8,#S8*$S8;
+ mes $S8N$ + ": " + #S8 + " x " + $S8 + "z = " + @S8 + "z";
+ }
+ if (#S9 >= 1) {
+ set @S9,#S9*$S9;
+ mes $S9N$ + ": " + #S9 + " x " + $S9 + "z = " + @S9 + "z";
+ }
+ if (#S10 >= 1) {
+ set @S10,#S10*$S10;
+ mes $S10N$ + ": " + #S10 + " x " + $S10 + "z = " + @S10 + "z";
+ }
+ set @total,@S1 + @S2 + @S3 + @S4 + @S5 + @S6 + @S7 + @S8 + @S9 + @S10;
+ mes "Total value: "+@total+"z";
+ next;
+ continue;
+ case 2:
+ mes "[Stock Market]";
+ mes "Available shares:";
+ mes $S1N$;
+ mes $S2N$;
+ mes $S3N$;
+ mes $S4N$;
+ mes $S5N$;
+ mes $S6N$;
+ mes $S7N$;
+ mes $S8N$;
+ mes $S9N$;
+ mes $S10N$;
+ next;
+ if (select("Continue", "Cancel") != 1)
+ continue;
+
+ mes "Enter the name of the share company";
+ mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
+ set @buyname$,"0";
+ input @buyname$;
+
+ set @buyamount,0;
+ input @buyamount;
+ // Checks valid number //
+ if (@buyamount < $S_BuyMin) {
+ mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000";
+ next;
+ continue;
+ }
+ if (@buyamount > $S_BuyMax) {
+ mes "^FF0000Maximum number of " + $S_BuyMax + " shares can be bought at a time.^000000";
+ next;
+ continue;
+ }
+ if (Zeny < $S_Trans) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ Zeny -= $S_Trans;
+
+ if (@buyname$ == $S1N$) {
+ set @price,@buyamount*$S1;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S1,#S1+@buyamount;
+ set @price,@buyamount*$S1;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S1N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S2N$) {
+ set @price,@buyamount*$S2;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S2,#S2+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S2N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S3N$) {
+ set @price,@buyamount*$S3;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S3,#S3+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S3N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S4N$) {
+ set @price,@buyamount*$S4;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S4,#S4+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S4N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S5N$) {
+ set @price,@buyamount*$S5;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S5,#S5+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S5N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S6N$) {
+ set @price,@buyamount*$S6;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S6,#S6+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S6N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S7N$) {
+ set @price,@buyamount*$S7;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S7,#S7+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S7N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S8N$) {
+ set @price,@buyamount*$S8;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S8,#S8+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S8N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S9N$) {
+ set @price,@buyamount*$S9;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S9,#S9+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S9N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@buyname$ == $S10N$) {
+ set @price,@buyamount*$S10;
+ if (Zeny < @price) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ set #S10,#S10+@buyamount;
+ Zeny -= @price;
+ mes "Bought " + @buyamount + " " + $S10N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ } else {
+ mes "^FF0000Invalid share name.^000000";
+ next;
+ continue;
+ }
+ continue;
+ case 3:
+ mes "[Stock Market]";
+ mes "Enter the name of the share you wish to sell.";
+ mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
+ if (#S1 > 0) mes "^0000FF"+$S1N$+"^FF0000" + " x " + #S1 + " [" + $S1 + "z]";
+ if (#S2 > 0) mes "^0000FF"+$S2N$+"^FF0000" + " x " + #S2 + " [" + $S2 + "z]";
+ if (#S3 > 0) mes "^0000FF"+$S3N$+"^FF0000" + " x " + #S3 + " [" + $S3 + "z]";
+ if (#S4 > 0) mes "^0000FF"+$S4N$+"^FF0000" + " x " + #S4 + " [" + $S4 + "z]";
+ if (#S5 > 0) mes "^0000FF"+$S5N$+"^FF0000" + " x " + #S5 + " [" + $S5 + "z]";
+ if (#S6 > 0) mes "^0000FF"+$S6N$+"^FF0000" + " x " + #S6 + " [" + $S6 + "z]";
+ if (#S7 > 0) mes "^0000FF"+$S7N$+"^FF0000" + " x " + #S7 + " [" + $S7 + "z]";
+ if (#S8 > 0) mes "^0000FF"+$S8N$+"^FF0000" + " x " + #S8 + " [" + $S8 + "z]";
+ if (#S9 > 0) mes "^0000FF"+$S9N$+"^FF0000" + " x " + #S9 + " [" + $S9 + "z]";
+ if (#S10 > 0) mes "^0000FF"+$S10N$+"^FF0000" + " x " + #S10 + " [" + $S10 + "z]";
+ set @sellname$,"0";
+ input @sellname$;
+ set @sellamount,0;
+ input @sellamount;
+ if (@sellamount < 1) {
+ mes "^FF0000Invalid integer.^000000";
+ next;
+ continue;
+ }
+
+ if (Zeny < $S_Trans) {
+ callsub(OnNoZeny);
+ continue;
+ }
+ Zeny -= $S_Trans;
+ if (@sellname$ == $S1N$) {
+ if (@sellamount > #S1) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S1;
+ set #S1,#S1-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S1N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S2N$) {
+ if (@sellamount > #S2) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S2;
+ set #S2,#S2-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S2N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S3N$) {
+ if (@sellamount > #S3) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S3;
+ set #S3,#S3-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S3N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S4N$) {
+ if (@sellamount > #S4) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S4;
+ set #S4,#S4-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S4N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S5N$) {
+ if (@sellamount > #S5) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S5;
+ set #S5,#S5-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S5N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S6N$) {
+ if (@sellamount > #S6) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S6;
+ set #S6,#S6-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S6N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S7N$) {
+ if (@sellamount > #S7) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S7;
+ set #S7,#S7-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S7N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S8N$) {
+ if (@sellamount > #S8) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S8;
+ set #S8,#S8-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S8N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S9N$) {
+ if (@sellamount > #S9) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S9;
+ set #S9,#S9-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S9N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else if (@sellname$ == $S10N$) {
+ if (@sellamount > #S10) {
+ callsub(OnSellTooHigh);
+ continue;
+ }
+ set @price,@sellamount*$S10;
+ set #S10,#S10-@sellamount;
+ Zeny += @price;
+ next;
+ mes "Sold " + @sellamount + " " + $S10N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ } else {
+ mes "^FF0000Invalid Share Name.^000000";
+ next;
+ }
+ continue;
+ case 4:
+ mes "[Stock Market]";
+ mes "Goodbye.";
+ close;
+ }
+ }
+ end;
-S_SellTooHigh:
+OnSellTooHigh:
mes "^FF0000You don't have that many shares.^000000";
next;
- goto S_Start;
+ return;
-S_SellInv:
- mes "^FF0000Invalid integer.^000000";
- next;
- goto S_Start;
-
- // Buying Shares //
-S_Buy:
- mes "[Stock Market]";
- mes "Available shares:";
- mes $S1N$;
- mes $S2N$;
- mes $S3N$;
- mes $S4N$;
- mes $S5N$;
- mes $S6N$;
- mes $S7N$;
- mes $S8N$;
- mes $S9N$;
- mes $S10N$;
- next;
- menu "Continue",-,"Cancel",S_Start;
-
- mes "Enter the name of the share company";
- mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
- set @buyname$,"0";
- input @buyname$;
-
- set @buyamount,0;
- input @buyamount;
- // Checks valid number //
- if (@buyamount < $S_BuyMin) goto S_TooLow;
- if (@buyamount > $S_BuyMax) goto S_TooHigh;
- if (Zeny < $S_Trans) goto S_NoZeny;
- Zeny -= $S_Trans;
-
- // Purchases the shares //
-
-PURS1:
- if (@buyname$ != $S1N$) goto PURS2;
- set @price,@buyamount*$S1;
- if (Zeny < @price) goto S_NoZeny;
- set #S1,#S1+@buyamount;
- set @price,@buyamount*$S1;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S1N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS2:
- if (@buyname$ != $S2N$) goto PURS3;
- set @price,@buyamount*$S2;
- if (Zeny < @price) goto S_NoZeny;
- set #S2,#S2+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S2N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS3:
- if (@buyname$ != $S3N$) goto PURS4;
- set @price,@buyamount*$S3;
- if (Zeny < @price) goto S_NoZeny;
- set #S3,#S3+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S3N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS4:
- if (@buyname$ != $S4N$) goto PURS5;
- set @price,@buyamount*$S4;
- if (Zeny < @price) goto S_NoZeny;
- set #S4,#S4+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S4N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS5:
- if (@buyname$ != $S5N$) goto PURS6;
- set @price,@buyamount*$S5;
- if (Zeny < @price) goto S_NoZeny;
- set #S5,#S5+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S5N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS6:
- if (@buyname$ != $S6N$) goto PURS7;
- set @price,@buyamount*$S6;
- if (Zeny < @price) goto S_NoZeny;
- set #S6,#S6+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S6N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS7:
- if (@buyname$ != $S7N$) goto PURS8;
- set @price,@buyamount*$S7;
- if (Zeny < @price) goto S_NoZeny;
- set #S7,#S7+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S7N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS8:
- if (@buyname$ != $S8N$) goto PURS9;
- set @price,@buyamount*$S8;
- if (Zeny < @price) goto S_NoZeny;
- set #S8,#S8+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S8N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS9:
- if (@buyname$ != $S9N$) goto PURS10;
- set @price,@buyamount*$S9;
- if (Zeny < @price) goto S_NoZeny;
- set #S9,#S9+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S9N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS10:
- if (@buyname$ != $S10N$) goto PURS11;
- set @price,@buyamount*$S10;
- if (Zeny < @price) goto S_NoZeny;
- set #S10,#S10+@buyamount;
- Zeny -= @price;
- mes "Bought " + @buyamount + " " + $S10N$ + " shares.";
- mes "Lost ^0000FF"+@price+"z^000000.";
- next;
- goto S_Start;
-
-PURS11:
- goto S_InvName;
-
- // Number too low //
-S_TooLow:
- mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000";
- next;
- goto S_Start;
-
- // Number too high //
-S_TooHigh:
- mes "^FF0000Maximum number of " + $S_BuyMax + " shares can be bought at a time.^000000";
- next;
- goto S_Start;
-
-S_NoZeny:
+OnNoZeny:
mes "^FF0000You do not have enough zeny.^000000";
next;
- goto S_Start;
-
- // Sends user to start if name invalid //
-S_InvName:
- mes "^FF0000Invalid share name.^000000";
- next;
- goto S_Start;
-
- // Displays your total amount //
-S_Port:
- mes "[Stock Market]";
-
-ACCS1:
- if (#S1 < 1) goto ACCS2;
- set @S1,#S1*$S1;
- mes $S1N$ + ": " + #S1 + " x " + $S1 + "z = " + @S1 + "z";
-
-ACCS2:
- if (#S2 < 1) goto ACCS3;
- set @S2,#S2*$S2;
- mes $S2N$ + ": " + #S2 + " x " + $S2 + "z = " + @S2 + "z";
-
-ACCS3:
- if (#S3 < 1) goto ACCS4;
- set @S3,#S3*$S3;
- mes $S3N$ + ": " + #S3 + " x " + $S3 + "z = " + @S3 + "z";
-
-ACCS4:
- if (#S4 < 1) goto ACCS5;
- set @S4,#S4*$S4;
- mes $S4N$ + ": " + #S4 + " x " + $S4 + "z = " + @S4 + "z";
-
-ACCS5:
- if (#S5 < 1) goto ACCS6;
- set @S5,#S5*$S5;
- mes $S5N$ + ": " + #S5 + " x " + $S5 + "z = " + @S5 + "z";
-
-ACCS6:
- if (#S6 < 1) goto ACCS7;
- set @S6,#S6*$S6;
- mes $S6N$ + ": " + #S6 + " x " + $S6 + "z = " + @S6 + "z";
-
-ACCS7:
- if (#S7 < 1) goto ACCS8;
- set @S7,#S7*$S7;
- mes $S7N$ + ": " + #S7 + " x " + $S7 + "z = " + @S7 + "z";
-
-ACCS8:
- if (#S8 < 1) goto ACCS9;
- set @S8,#S8*$S8;
- mes $S8N$ + ": " + #S8 + " x " + $S8 + "z = " + @S8 + "z";
-
-ACCS9:
- if (#S9 < 1) goto ACCS10;
- set @S9,#S9*$S9;
- mes $S9N$ + ": " + #S9 + " x " + $S9 + "z = " + @S9 + "z";
-
-ACCS10:
- if (#S10 < 1) goto ACCS11;
- set @S10,#S10*$S10;
- mes $S10N$ + ": " + #S10 + " x " + $S10 + "z = " + @S10 + "z";
-
- // Total //
-ACCS11:
- set @total,@S1 + @S2 + @S3 + @S4 + @S5 + @S6 + @S7 + @S8 + @S9 + @S10;
- mes "Total value: "+@total+"z";
- next;
- goto S_Start;
+ return;
// GM MENU //
-GM_Menu:
- mes "[Stock Market]";
- mes "Master, do you require anything?";
- menu "Fluctuate Market",S_Fluc,"Reset Prices",GM_Open,"Nothing",S_Start;
-
-S_Fluc:
- set $fluc,rand (-6,6);
- set $S1B,$S1;
- set $S1,$S1+$fluc;
- if ($S1 < 25) set $S1,$S1+3;
- if ($S1 < 50) set $S1,$S1+2;
- if ($S1 > 150) set $S1,$S1-2;
- if ($S1 > 175) set $S1,$S1-3;
- if ($S1 < 1) set $S1,1;
-
- set $fluc,rand (-6,6);
- set $S2B,$S2;
- set $S2,$S2+$fluc;
- if ($S2 < 25) set $S2,$S2+3;
- if ($S2 < 50) set $S2,$S2+2;
- if ($S2 > 150) set $S2,$S2-2;
- if ($S2 > 175) set $S2,$S2-3;
- if ($S2 < 2) set $S2,1;
-
- set $fluc,rand (-6,6);
- set $S3B,$S3;
- set $S3,$S3+$fluc;
- if ($S3 < 25) set $S3,$S3+3;
- if ($S3 < 50) set $S3,$S3+2;
- if ($S3 > 150) set $S3,$S3-2;
- if ($S3 > 175) set $S3,$S3-3;
- if ($S3 < 1) set $S3,1;
-
- set $fluc,rand (-6,6);
- set $S4B,$S4;
- set $S4,$S4+$fluc;
- if ($S4 < 25) set $S4,$S4+3;
- if ($S4 < 50) set $S4,$S4+2;
- if ($S4 > 150) set $S4,$S4-2;
- if ($S4 > 175) set $S4,$S4-3;
- if ($S4 < 1) set $S4,1;
-
- set $fluc,rand (-6,6);
- set $S5B,$S5;
- set $S5,$S5+$fluc;
- if ($S5 < 25) set $S5,$S5+3;
- if ($S5 < 50) set $S5,$S5+2;
- if ($S5 > 150) set $S5,$S5-2;
- if ($S5 > 175) set $S5,$S5-3;
- if ($S5 < 1) set $S5,1;
-
- set $fluc,rand (-6,6);
- set $S6B,$S6;
- set $S6,$S6+$fluc;
- if ($S6 < 25) set $S6,$S6+3;
- if ($S6 < 50) set $S6,$S6+2;
- if ($S6 > 150) set $S6,$S6-2;
- if ($S6 > 175) set $S6,$S6-3;
- if ($S6 < 1) set $S6,1;
-
- set $fluc,rand (-6,6);
- set $S7B,$S7;
- set $S7,$S7+$fluc;
- if ($S7 < 25) set $S7,$S7+3;
- if ($S7 < 50) set $S7,$S7+2;
- if ($S7 > 150) set $S7,$S7-2;
- if ($S7 > 175) set $S7,$S7-3;
- if ($S7 < 1) set $S7,1;
-
- set $fluc,rand (-6,6);
- set $S8B,$S8;
- set $S8,$S8+$fluc;
- if ($S8 < 25) set $S8,$S8+3;
- if ($S8 < 50) set $S8,$S8+2;
- if ($S8 > 150) set $S8,$S8-2;
- if ($S8 > 175) set $S8,$S8-3;
- if ($S8 < 1) set $S8,1;
-
- set $fluc,rand (-6,6);
- set $S9B,$S9;
- set $S9,$S9+$fluc;
- if ($S9 < 25) set $S9,$S9+3;
- if ($S9 < 50) set $S9,$S9+2;
- if ($S9 > 150) set $S9,$S9-2;
- if ($S9 > 175) set $S9,$S9-3;
- if ($S9 < 1) set $S9,1;
-
- set $fluc,rand (-6,6);
- set $S10B,$S10;
- set $S10,$S10+$fluc;
- if ($S10 < 25) set $S10,$S10+3;
- if ($S10 < 50) set $S10,$S10+2;
- if ($S10 > 150) set $S10,$S10-2;
- if ($S10 > 175) set $S10,$S10-3;
- if ($S10 < 1) set $S10,1;
-
- set $S_LastUpd$,"GM Fluctuation";
- mes "Market fluctuated.";
- close;
-
-GM_Open:
- menu "Set prices to...",GM_Set,"Cancel",-;
- mes "Farewell.";
- close;
-
-GM_Set:
+OnGMMenu:
+ freeloop(true);
+ while (true) {
+ mes "[Stock Market]";
+ mes "Master, do you require anything?";
+ switch (select("Fluctuate Market", "Reset Prices", "Nothing")) {
+ case 1:
+ set $fluc,rand (-6,6);
+ set $S1B,$S1;
+ set $S1,$S1+$fluc;
+ if ($S1 < 25) set $S1,$S1+3;
+ if ($S1 < 50) set $S1,$S1+2;
+ if ($S1 > 150) set $S1,$S1-2;
+ if ($S1 > 175) set $S1,$S1-3;
+ if ($S1 < 1) set $S1,1;
+
+ set $fluc,rand (-6,6);
+ set $S2B,$S2;
+ set $S2,$S2+$fluc;
+ if ($S2 < 25) set $S2,$S2+3;
+ if ($S2 < 50) set $S2,$S2+2;
+ if ($S2 > 150) set $S2,$S2-2;
+ if ($S2 > 175) set $S2,$S2-3;
+ if ($S2 < 2) set $S2,1;
+
+ set $fluc,rand (-6,6);
+ set $S3B,$S3;
+ set $S3,$S3+$fluc;
+ if ($S3 < 25) set $S3,$S3+3;
+ if ($S3 < 50) set $S3,$S3+2;
+ if ($S3 > 150) set $S3,$S3-2;
+ if ($S3 > 175) set $S3,$S3-3;
+ if ($S3 < 1) set $S3,1;
+
+ set $fluc,rand (-6,6);
+ set $S4B,$S4;
+ set $S4,$S4+$fluc;
+ if ($S4 < 25) set $S4,$S4+3;
+ if ($S4 < 50) set $S4,$S4+2;
+ if ($S4 > 150) set $S4,$S4-2;
+ if ($S4 > 175) set $S4,$S4-3;
+ if ($S4 < 1) set $S4,1;
+
+ set $fluc,rand (-6,6);
+ set $S5B,$S5;
+ set $S5,$S5+$fluc;
+ if ($S5 < 25) set $S5,$S5+3;
+ if ($S5 < 50) set $S5,$S5+2;
+ if ($S5 > 150) set $S5,$S5-2;
+ if ($S5 > 175) set $S5,$S5-3;
+ if ($S5 < 1) set $S5,1;
+
+ set $fluc,rand (-6,6);
+ set $S6B,$S6;
+ set $S6,$S6+$fluc;
+ if ($S6 < 25) set $S6,$S6+3;
+ if ($S6 < 50) set $S6,$S6+2;
+ if ($S6 > 150) set $S6,$S6-2;
+ if ($S6 > 175) set $S6,$S6-3;
+ if ($S6 < 1) set $S6,1;
+
+ set $fluc,rand (-6,6);
+ set $S7B,$S7;
+ set $S7,$S7+$fluc;
+ if ($S7 < 25) set $S7,$S7+3;
+ if ($S7 < 50) set $S7,$S7+2;
+ if ($S7 > 150) set $S7,$S7-2;
+ if ($S7 > 175) set $S7,$S7-3;
+ if ($S7 < 1) set $S7,1;
+
+ set $fluc,rand (-6,6);
+ set $S8B,$S8;
+ set $S8,$S8+$fluc;
+ if ($S8 < 25) set $S8,$S8+3;
+ if ($S8 < 50) set $S8,$S8+2;
+ if ($S8 > 150) set $S8,$S8-2;
+ if ($S8 > 175) set $S8,$S8-3;
+ if ($S8 < 1) set $S8,1;
+
+ set $fluc,rand (-6,6);
+ set $S9B,$S9;
+ set $S9,$S9+$fluc;
+ if ($S9 < 25) set $S9,$S9+3;
+ if ($S9 < 50) set $S9,$S9+2;
+ if ($S9 > 150) set $S9,$S9-2;
+ if ($S9 > 175) set $S9,$S9-3;
+ if ($S9 < 1) set $S9,1;
+
+ set $fluc,rand (-6,6);
+ set $S10B,$S10;
+ set $S10,$S10+$fluc;
+ if ($S10 < 25) set $S10,$S10+3;
+ if ($S10 < 50) set $S10,$S10+2;
+ if ($S10 > 150) set $S10,$S10-2;
+ if ($S10 > 175) set $S10,$S10-3;
+ if ($S10 < 1) set $S10,1;
+
+ set $S_LastUpd$,"GM Fluctuation";
+ mes "Market fluctuated.";
+ close;
+ case 2:
+ callsub(OnGMOpen);
+ continue;
+ case 3:
+ break;
+ }
+ break;
+ }
+ return;
+
+OnGMOpen:
+ if (select("Set prices to...", "Cancel") != 1) {
+ mes "Farewell.";
+ close;
+ }
mes "Are you sure you want to reset?";
mes "^FF0000All share values will become the same.^000000";
next;
- menu "Yes",-,"No",GM_Menu;
+ if (select("Yes", "No") != 1)
+ return;
set @gmset,0;
input @gmset;
set $S1,@gmset;
@@ -780,9 +779,4 @@ GM_Set:
set $S10B,@gmset;
mes "All prices changed to " + @gmset + "z.";
close;
-
-S_Quit:
- mes "[Stock Market]";
- mes "Goodbye.";
- close;
}
diff --git a/npc/custom/events/hallow06.txt b/npc/custom/events/hallow06.txt
index 3045c2330..7ecfdb817 100644
--- a/npc/custom/events/hallow06.txt
+++ b/npc/custom/events/hallow06.txt
@@ -31,28 +31,27 @@ prontera,151,190,5 script Hallows' Eve Event 1_M_SIGNMCNT,{
mes "[Hallows' Eve Event]";
mes "Trick or treat, which do you prefer?";
next;
- menu "Trick",-, "Treat",L_Treat;
+ if (select("Trick", "Treat") == 1) {
+ mes "[Hallows' Eve Event]";
+ if(EVENT_HALWN06&2){
+ mes "I'm sorry but you have already had a trick. Why don't you go pick a treat now.";
+ emotion e_sry;
+ close;
+ }
+ mes "Give me a min...";
+ next;
+ set BaseExp,BaseExp+BaseLevel*1000;
+ set EVENT_HALWN06,EVENT_HALWN06|2;
- mes "[Hallows' Eve Event]";
- if(EVENT_HALWN06&2){
- mes "I'm sorry but you have already had a trick. Why don't you go pick a treat now.";
- emotion e_sry;
+ mes "[Hallows' Eve Event]";
+ mes "Here is your treat. Your Base EXP has been slightly increased.";
+ next;
+ mes "[Hallows' Eve Event]";
+ mes "I hope you enjoy your trick and Happy Halloween!";
close;
}
- mes "Give me a min...";
- next;
- set BaseExp,BaseExp+BaseLevel*1000;
- set EVENT_HALWN06,EVENT_HALWN06|2;
mes "[Hallows' Eve Event]";
- mes "Here is your treat. Your Base EXP has been slightly increased.";
- next;
- mes "[Hallows' Eve Event]";
- mes "I hope you enjoy your trick and Happy Halloween!";
- close;
-
-L_Treat:
- mes "[Hallows' Eve Event]";
if(EVENT_HALWN06&1){
mes "I'm sorry but you have already had a treat. Why don't you go pick a trick now.";
emotion e_sry;
@@ -84,39 +83,39 @@ L_Treat:
}
mes "Did you get the items I requested or do you need to see the list again?";
next;
- menu "Got'em",-, "Don't Have",L_Dont_Have, "See List",L_List;
-
- mes "[Hallows' Eve Event]";
- if((countitem(Hat) < 1) || (countitem(Pumpkin) < 30) || (countitem(Piece_Of_Black_Cloth) < 20)){
- mes "You don't have enough items. Come back when you do.";
- emotion e_sry;
+ switch (select("Got'em", "Don't Have", "See List")) {
+ case 1:
+ mes "[Hallows' Eve Event]";
+ if((countitem(Hat) < 1) || (countitem(Pumpkin) < 30) || (countitem(Piece_Of_Black_Cloth) < 20)){
+ mes "You don't have enough items. Come back when you do.";
+ emotion e_sry;
+ close;
+ }
+ delitem 2220,1;
+ delitem 535,30;
+ delitem 7205,20;
+ getitem 5134,1;
+ set EVENT_HALWN06,EVENT_HALWN06|1;
+ mes "Good job! I hope you are happy with your item.";
+ emotion e_grat;
+ next;
+ mes "[Hallows' Eve Event]";
+ mes "Enjoy the rest of your halloween.";
+ emotion e_scissors,1;
+ close;
+ case 2:
+ mes "[Hallows' Eve Event]";
+ mes "Go back out and search for them. Would you like to view the list?";
+ next;
+ if (select("No", "Yes") == 1)
+ close;
+ // Fall through
+ case 3:
+ mes "[Hallows' Eve Event]";
+ mes "I require the following items:";
+ mes "1 Hat,";
+ mes "30 Pumpkin, and";
+ mes "20 Black Piece of Cloth.";
close;
}
- delitem 2220,1;
- delitem 535,30;
- delitem 7205,20;
- getitem 5134,1;
- set EVENT_HALWN06,EVENT_HALWN06|1;
- mes "Good job! I hope you are happy with your item.";
- emotion e_grat;
- next;
- mes "[Hallows' Eve Event]";
- mes "Enjoy the rest of your halloween.";
- emotion e_scissors,1;
- close;
-
-L_Dont_Have:
- mes "[Hallows' Eve Event]";
- mes "Go back out and search for them. Would you like to view the list?";
- next;
- menu "No",-, "Yes",L_List;
- close;
-
-L_List:
- mes "[Hallows' Eve Event]";
- mes "I require the following items:";
- mes "1 Hat,";
- mes "30 Pumpkin, and";
- mes "20 Black Piece of Cloth.";
- close;
}
diff --git a/npc/custom/events/uneasy_cemetery.txt b/npc/custom/events/uneasy_cemetery.txt
index 7027dacbf..72ae51fc2 100644
--- a/npc/custom/events/uneasy_cemetery.txt
+++ b/npc/custom/events/uneasy_cemetery.txt
@@ -82,51 +82,52 @@ L_Undead_Walk:
mes "To calm down the restless cemetery, we should pour all these graves with the Holy Water. But our sisters and broters have run out of it.";
mes "Could you supply us with Holy Water?";
next;
- menu "Yes, have all my Holy Water!",-, "Nope, I need it.",M_NO, "I don't have any.",M_DONT_HAVE;
+ switch (select("Yes, have all my Holy Water!", "Nope, I need it.", "I don't have any.")) {
+ case 1:
+ if (countitem(Holy_Water) < 1)
+ break; // Not enough
+ set $UNEASY_BL,$UNEASY_BL-countitem(Holy_Water);
+ delitem 523,countitem(Holy_Water);
- if ( countitem(Holy_Water)<1 ) goto M_DONT_HAVE;
- set $UNEASY_BL,$UNEASY_BL-countitem(Holy_Water);
- delitem 523,countitem(Holy_Water);
-
- if ( $UNEASY_BL > 0 ) goto L_NEED_MORE;
-//set quiet days!!! no more undead for this period!
- set $UNEASY_DL,5+((0-$UNEASY_BL)/30);
- set $UNEASY_H$,strcharinfo(0);
- mes "[Mother Mathana]";
- mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!";
- next;
- mes "[Mother Mathana]";
- mes "Upon pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!";
- next;
- killmonster "prontera", "Uneasy_Check::OnZombieDead"; //kills any left monsters
- mes "[Mother Mathana]";
- mes "See, "+ $UNEASY_H$ +"? They all are gone now!";
- next;
- mes "[Mother Mathana]";
- mes "Our Church is going to thank you personally...";
- next;
- if (Sex == SEX_MALE)
- mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0;
- else
- mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare beautiful "+$UNEASY_H$+" as a Prontera savior!",0;
- mes "[Mother Mathana]";
- mes "In the name of Odin we bless you and decently present a modest gift just from Mareusis' wine-cellar.";
- getitem Blue_Potion,1;
- set JobExp,JobExp+100;
- set BaseExp,BaseExp+50;
- close;
-
-L_NEED_MORE:
- mes "[Mother Mathana]";
- mes "Thank you, good "+strcharinfo(0)+", but we still need " + $UNEASY_BL + " more Holy Water bottles.";
- close;
-
-M_NO:
- mes "[Mother Mathana]";
- mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you can get.";
- close;
-
-M_DONT_HAVE:
+ if ($UNEASY_BL > 0) {
+ mes "[Mother Mathana]";
+ mes "Thank you, good "+strcharinfo(0)+", but we still need " + $UNEASY_BL + " more Holy Water bottles.";
+ close;
+ }
+ //set quiet days!!! no more undead for this period!
+ set $UNEASY_DL,5+((0-$UNEASY_BL)/30);
+ set $UNEASY_H$,strcharinfo(0);
+ mes "[Mother Mathana]";
+ mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!";
+ next;
+ mes "[Mother Mathana]";
+ mes "Upon pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!";
+ next;
+ killmonster "prontera", "Uneasy_Check::OnZombieDead"; //kills any left monsters
+ mes "[Mother Mathana]";
+ mes "See, "+ $UNEASY_H$ +"? They all are gone now!";
+ next;
+ mes "[Mother Mathana]";
+ mes "Our Church is going to thank you personally...";
+ next;
+ if (Sex == SEX_MALE)
+ mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0;
+ else
+ mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare beautiful "+$UNEASY_H$+" as a Prontera savior!",0;
+ mes "[Mother Mathana]";
+ mes "In the name of Odin we bless you and decently present a modest gift just from Mareusis' wine-cellar.";
+ getitem Blue_Potion,1;
+ set JobExp,JobExp+100;
+ set BaseExp,BaseExp+50;
+ close;
+ case 2:
+ mes "[Mother Mathana]";
+ mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you can get.";
+ close;
+ case 3:
+ break; // Not enough
+ }
+ // Not enough
mes "[Mother Mathana]";
mes "Alas! We still need " + $UNEASY_BL + " more bottles of Holy Water... Why don't you go and ask other people for some extra Holy Water?";
mes "The old cemetery is going out of control soon...";
diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index ccb66bde6..5119a119f 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -30,17 +30,15 @@ prontera,156,172,4 script Tine 1_M_MERCHANT,{
mes "Some married chocolate lovers almost double their experience at trainings!";
mes "But everything isn't so simply...";
next;
- menu "Wow! Tell me more!",M_INFO,"Marri... what?",-;
-
- mes "[Tine]";
- mes "Are you a single?";
- mes "Today is a great date to ask your beloved half for marriage!";
- next;
- mes "[Tine]";
- mes "The Marriage fee is ridiculous low these days!";
- close;
-
-M_INFO:
+ if (select("Wow! Tell me more!", "Marri... what?") == 2) {
+ mes "[Tine]";
+ mes "Are you a single?";
+ mes "Today is a great date to ask your beloved half for marriage!";
+ next;
+ mes "[Tine]";
+ mes "The Marriage fee is ridiculous low these days!";
+ close;
+ }
mes "[Tine]";
mes "The magic effect posesses only handmade chocolate from grand-grand-grand-whoever recipes!";
next;
@@ -82,16 +80,14 @@ alberta,26,243,4 script Stephen#val1 1_M_MERCHANT,{
mes "That's right, don't you love chocolate.... I do.";
mes "And you are in luck, because I'm selling them for only 5,000 zeny a piece!";
next;
- menu "I want some chocolate!",M_CHOCO,"No thanks.",-;
-
- mes "[Stephen]";
- mes "You don't want any chocolate?";
- mes "I'm telling you! You'll regret it!";
- mes "You better get some now... you won't come across Chocolate like this ever again!";
- mes "Think it over and visit me again sometime.";
- close;
-
-M_CHOCO:
+ if (select("I want some chocolate!", "No thanks.") != 1) {
+ mes "[Stephen]";
+ mes "You don't want any chocolate?";
+ mes "I'm telling you! You'll regret it!";
+ mes "You better get some now... you won't come across Chocolate like this ever again!";
+ mes "Think it over and visit me again sometime.";
+ close;
+ }
mes "[Stephen]";
mes "Hah!";
mes "I knew it!";
@@ -147,14 +143,12 @@ alberta,29,243,4 script Jainie#val1 1_M_INNKEEPER,{
mes "It would be great if you bought some too...";
mes "I will be making white chocolates for a while so...";
next;
- menu "I want some white chocolate!",M_CHOCO,"No thanks.",-;
-
- mes "[Jainie]";
- mes "You don't like white chocolate?";
- mes "Then buy some Stephen's black one!";
- close;
-
-M_CHOCO:
+ if (select("I want some white chocolate!", "No thanks.") != 1) {
+ mes "[Jainie]";
+ mes "You don't like white chocolate?";
+ mes "Then buy some Stephen's black one!";
+ close;
+ }
mes "[Jainie]";
mes "I can't sell you more then 5 at once....but, if you really need more....";
mes "you can come back again.";
@@ -199,85 +193,84 @@ prt_castle,54,34,4 script Carl Orleans#val1 1_M_01,{
mes "[Carl Orleans]";
mes "Yes? What can I cook for you?";
next;
- menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_End;
-
- mes "[Carl Orleans]";
- mes "Well, I just might be able to fulfill your needs...";
- next;
- if (countitem(Chocolate)<3) {
+ switch (select("Black handmade Chocolate, please", "I want a White handmade Chocolate...", "I'm lost, sorry to bother you.")) {
+ case 1:
+ mes "[Carl Orleans]";
+ mes "Well, I just might be able to fulfill your needs...";
+ next;
+ if (countitem(Chocolate)<3) {
+ mes "[Carl Orleans]";
+ mes "I'm sorry you do not have enough Chocolate Bars to do this.";
+ if(rand(2))mes "They say Stephen from Alberta used to sell good Chocolate.";
+ close;
+ }
+ delitem 558,3;
+ mes "[Carl Orleans]";
+ mes "You got 3 pieces of pure chocolate I see.";
+ mes "Give them to me...";
+ next;
+ mes "[Carl Orleans]";
+ mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely.";
+ next;
mes "[Carl Orleans]";
- mes "I'm sorry you do not have enough Chocolate Bars to do this.";
- if(rand(2))mes "They say Stephen from Alberta used to sell good Chocolate.";
+ mes "....Hmmmmmm.....";
+ mes "Well...";
+ next;
+ getitem 559,1;
+ mes "[Carl Orleans]";
+ mes "Here.";
+ if(rand(2))close;
+ mes "I hope you give it to someone special, because its a special chocolate.";
+ mes "As you know... only I can create this.";
+ next;
+ mes "[Carl Orleans]";
+ mes "Enjoy.";
close;
- }
- delitem 558,3;
- mes "[Carl Orleans]";
- mes "You got 3 pieces of pure chocolate I see.";
- mes "Give them to me...";
- next;
- mes "[Carl Orleans]";
- mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely.";
- next;
- mes "[Carl Orleans]";
- mes "....Hmmmmmm.....";
- mes "Well...";
- next;
- getitem 559,1;
- mes "[Carl Orleans]";
- mes "Here.";
- if(rand(2))close;
- mes "I hope you give it to someone special, because its a special chocolate.";
- mes "As you know... only I can create this.";
- next;
- mes "[Carl Orleans]";
- mes "Enjoy.";
- close;
-
-M_WHITE:
- mes "[Carl Orleans]";
- mes "Well, I just might be able to fulfill your needs...";
- next;
- if (countitem(White_Chocolate)<3) {
+ case 2:
+ mes "[Carl Orleans]";
+ mes "Well, I just might be able to fulfill your needs...";
+ next;
+ if (countitem(White_Chocolate)<3) {
+ mes "[Carl Orleans]";
+ mes "I'm sorry you do not have enough White Chocolate Bars to do this.";
+ if(rand(2))mes "They say Jainie from Alberta used to sell good White Chocolate.";
+ close;
+ }
+ delitem 561,3;
+ mes "[Carl Orleans]";
+ mes "You got 3 pieces of pure white chocolate I see.";
+ mes "Give them to me...";
+ next;
+ mes "[Carl Orleans]";
+ mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely.";
+ next;
+ mes "[Carl Orleans]";
+ mes "....Hmmmmmm.....";
+ mes "Well...";
+ next;
+ getitem 560,1;
+ mes "[Carl Orleans]";
+ mes "Here.";
+ if(rand(2))close;
+ mes "I hope you give it to someone special, because its a special chocolate.";
+ mes "As you know... only I can create this.";
+ next;
+ mes "[Carl Orleans]";
+ mes "Enjoy.";
+ close;
+ case 3:
+ mes "[Carl Orleans]";
+ mes "Oh.. well, if you want me to make some of my special handmade Chocolate....";
+ mes "You will need to give me at least ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000.";
+ if(rand(2))close;
+ next;
+ mes "[Carl Orleans]";
+ mes "That's right, only ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000.";
+ mes "Bring them to me and you'll get what you came for.";
+ if(rand(2))close;
+ next;
mes "[Carl Orleans]";
- mes "I'm sorry you do not have enough White Chocolate Bars to do this.";
- if(rand(2))mes "They say Jainie from Alberta used to sell good White Chocolate.";
+ mes "See You.";
close;
}
- delitem 561,3;
- mes "[Carl Orleans]";
- mes "You got 3 pieces of pure white chocolate I see.";
- mes "Give them to me...";
- next;
- mes "[Carl Orleans]";
- mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely.";
- next;
- mes "[Carl Orleans]";
- mes "....Hmmmmmm.....";
- mes "Well...";
- next;
- getitem 560,1;
- mes "[Carl Orleans]";
- mes "Here.";
- if(rand(2))close;
- mes "I hope you give it to someone special, because its a special chocolate.";
- mes "As you know... only I can create this.";
- next;
- mes "[Carl Orleans]";
- mes "Enjoy.";
- close;
-
-M_End:
- mes "[Carl Orleans]";
- mes "Oh.. well, if you want me to make some of my special handmade Chocolate....";
- mes "You will need to give me at least ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000.";
- if(rand(2))close;
- next;
- mes "[Carl Orleans]";
- mes "That's right, only ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000.";
- mes "Bring them to me and you'll get what you came for.";
- if(rand(2))close;
- next;
- mes "[Carl Orleans]";
- mes "See You.";
- close;
}
diff --git a/npc/custom/events/xmas_rings_event.txt b/npc/custom/events/xmas_rings_event.txt
index a1b8918d9..d76c0a784 100644
--- a/npc/custom/events/xmas_rings_event.txt
+++ b/npc/custom/events/xmas_rings_event.txt
@@ -36,52 +36,54 @@ prontera,156,174,4 script Snower 4_M_06,{
}
emotion e_sob;
next;
- menu "Where are your sisters?",-, "What holidays?",M_PR,"What gifts?",M_WRAP,"May I help you?",M_QUEST;
-
- mes "[Snower]";
- mes "My younger sis Sneewy's left to some faraway land to prepare gifts for their poor children... I don't know where. You should ask my elder sis and her birdies.";
- next;
- mes "[Snower]";
- mes "My elder sis? Her name's Snoowy. She's sailed to some green island... She's talking about some gifts for dolphins or something...";
- close;
-
-M_PR:
- mes "[Snower]";
- mes "The whole three holidays? Well they come one after another!";
- mes "^000080The Christmas^000000, ^FF0000Karachun^000000 and ^008000New Year Eve^000000!";
- next;
- mes "[Snower]";
- mes "^FF0000Karachun^000000? Heh... This is an old pagans festival. They used to celebrate it before the appearance of HNY and XMas, you know.";
- next;
- goto M_QUEST;
-
-M_WRAP:
- mes "[Snower]";
- mes "My sisters say that all the gifts should look the same way. Or else some children might fight for fancy ones!";
- next;
- mes "[Snower]";
- mes "Would you like me to wrap your fancy gift boxes with a gray paper?";
- next;
- menu "Wrap them, please!",-, "No, thanks.",M_QUEST;
-
- set @prizes, countitem(Gift_Box_1)+countitem(Gift_Box_2)+countitem(Gift_Box_3)+countitem(Gift_Box_4);
- if( @prizes == 0){
+ switch (select("Where are your sisters?", "What holidays?", "What gifts?", "May I help you?")) {
+ case 1:
+ mes "[Snower]";
+ mes "My younger sis Sneewy's left to some faraway land to prepare gifts for their poor children... I don't know where. You should ask my elder sis and her birdies.";
+ next;
mes "[Snower]";
- mes "I don't see any gifts in fancy boxes on you...";
- if(countitem(Gift_Box))mes "You've got only gray boxes.";
+ mes "My elder sis? Her name's Snoowy. She's sailed to some green island... She's talking about some gifts for dolphins or something...";
close;
- }
- delitem 664,countitem(Gift_Box_1);
- delitem 665,countitem(Gift_Box_2);
- delitem 666,countitem(Gift_Box_3);
- delitem 667,countitem(Gift_Box_4);
- getitem 644,@prizes;
+ case 2:
+ mes "[Snower]";
+ mes "The whole three holidays? Well they come one after another!";
+ mes "^000080The Christmas^000000, ^FF0000Karachun^000000 and ^008000New Year Eve^000000!";
+ next;
+ mes "[Snower]";
+ mes "^FF0000Karachun^000000? Heh... This is an old pagans festival. They used to celebrate it before the appearance of HNY and XMas, you know.";
+ next;
+ break; // Quest
+ case 3:
+ mes "[Snower]";
+ mes "My sisters say that all the gifts should look the same way. Or else some children might fight for fancy ones!";
+ next;
+ mes "[Snower]";
+ mes "Would you like me to wrap your fancy gift boxes with a gray paper?";
+ next;
+ if (select("Wrap them, please!", "No, thanks.") != 1)
+ break; // Quest
+ set @prizes, countitem(Gift_Box_1)+countitem(Gift_Box_2)+countitem(Gift_Box_3)+countitem(Gift_Box_4);
+ if( @prizes == 0){
+ mes "[Snower]";
+ mes "I don't see any gifts in fancy boxes on you...";
+ if(countitem(Gift_Box))mes "You've got only gray boxes.";
+ close;
+ }
+ delitem 664,countitem(Gift_Box_1);
+ delitem 665,countitem(Gift_Box_2);
+ delitem 666,countitem(Gift_Box_3);
+ delitem 667,countitem(Gift_Box_4);
+ getitem 644,@prizes;
- mes "[Snower]";
- mes "*shuffle* Here you go.";
- next;
+ mes "[Snower]";
+ mes "*shuffle* Here you go.";
+ next;
+ break;
+ case 4:
+ break; // Quest
+ }
-M_QUEST:
+ // Quest
mes "[Snower]";
mes "I wish you find my sisters ASAP... They need help.";
if(Q_XMSRINGS==0) set Q_XMSRINGS,1;
@@ -111,7 +113,12 @@ louyang,224,249,4 script Sneewy 4_F_KID3,{
mes "[Sneewy]";
mes "Oh, hello. Has my brother Snower told you everything?";
next;
- menu "Here are your 4 Gift Boxes",-, "I don't know any Snowhatevers...",M_End;
+ if (select("Here are your 4 Gift Boxes", "I don't know any Snowhatevers...") != 1) {
+ mes "[Sneewy]";
+ mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes...";
+ emotion e_swt;
+ close;
+ }
mes "[Sneewy]";
if(countitem(Gift_Box)<4){
@@ -132,12 +139,6 @@ louyang,224,249,4 script Sneewy 4_F_KID3,{
emotion e_thx;
mes "Thanks again! No children will meet the holidays without the gifts!";
close;
-
-M_End:
- mes "[Sneewy]";
- mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes...";
- emotion e_swt;
- close;
}
izlu2dun,133,160,2 script Snoowy 4_F_06,{
@@ -163,8 +164,12 @@ izlu2dun,133,160,2 script Snoowy 4_F_06,{
mes "[Snoowy]";
mes "But I too need 3 more gifts for my marine folk friends...";
next;
- menu "Have these gifts!",-, "I need a li'l something in return",M_End;
-
+ if (select("Have these gifts!", "I need a li'l something in return") != 1) {
+ mes "[Snoowy]";
+ mes "I'd exchange a GOLD magic ring for 3 gift boxes...";
+ emotion e_swt;
+ close;
+ }
mes "[Snoowy]";
if(countitem(Gift_Box)<3){
mes "Oops!! You haven't got 3 gray gift boxes on you.";
@@ -182,10 +187,4 @@ izlu2dun,133,160,2 script Snoowy 4_F_06,{
mes "Oh... the whole marine folk send you their thanks! They love presents so much!!!";
if(rand(2))mes "Didn't you know that Santa's Hat reveals the real power of the rings?";
close;
-
-M_End:
- mes "[Snoowy]";
- mes "I'd exchange a GOLD magic ring for 3 gift boxes...";
- emotion e_swt;
- close;
}
diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt
index fa02843e3..fa1e61eac 100644
--- a/npc/custom/quests/bandit_beard.txt
+++ b/npc/custom/quests/bandit_beard.txt
@@ -24,7 +24,12 @@ umbala,126,129,4 script Bearded Man#bandit 2_M_PHARMACIST,{
mes "Beards! Get your wonderful beards!";
mes "Would you like a beard?";
next;
- menu "Yes, I'd like some facial hair!",-,"No thanks, thats gross!",M_NO;
+ if (select("Yes, I'd like some facial hair!", "No thanks, thats gross!") != 1) {
+ mes "[Bearded Man]";
+ mes "Fine, be that way!";
+ emotion 7;
+ close;
+ }
mes "[Bearded Man]";
mes "HoHo~ So you want some whiskers.";
@@ -54,12 +59,6 @@ L_List:
mes " and one ^8080FF2 Carat Diamond^000000";
close;
-M_NO:
- mes "[Bearded Man]";
- mes "Fine, be that way!";
- emotion 7;
- close;
-
L_DONE:
mes "[Bearded Man]";
mes "Sorry, I can only make one per person.";
@@ -126,11 +125,10 @@ aldeba_in,70,179,5 script Karfa Clerk#bandit 4_F_KAFRA5,{
next;
if(BEARD_QUEST == 2 ) goto L_Delivery;
- menu "What's in the boxes?",-,"Nothing.",M_NOPE;
-
+ if (select("What's in the boxes?", "Nothing.") != 1)
+ close;
mes "[Karfa Clerk]";
mes "They're empty.";
-M_NOPE:
close;
L_Delivery:
@@ -174,8 +172,11 @@ alberta,65,123,6 script Man#bandit 4_M_03,{
mes "Are you here to help me?";
emotion 1;
next;
- menu "Yes",-,"No",M_NO;
-
+ if (select("Yes", "No") != 1) {
+ mes "[Thread Merchant]";
+ mes "What to do...";
+ close;
+ }
mes "[Thread Merchant]";
mes "Oh thank the Gods!";
mes "If you can only just kill the bugs I would be able to make my delivery.";
@@ -199,11 +200,6 @@ L_DONE:
mes "Thank you again!";
emotion 15;
close;
-
-M_NO:
- mes "[Thread Merchant]";
- mes "What to do...";
- close;
}
//mobsummons -------
diff --git a/npc/custom/quests/dead_branch.txt b/npc/custom/quests/dead_branch.txt
index 9b54501f7..7ae12a60c 100644
--- a/npc/custom/quests/dead_branch.txt
+++ b/npc/custom/quests/dead_branch.txt
@@ -25,78 +25,71 @@ niflheim,204,179,3 script Mister Mobry 2_M_MOLGENSTEIN,{
mes "[Mister Mobry]";
mes "I can create a spirited branch... That is, if you can provide me with the correct materials...";
next;
- goto L_Menu;
-
-L_Menu:
- menu "What Do I Need?",-,"Where Can I find this Crap?",M_FIND,"Make me a Dead Branch!",M_CREATE,"Forget it...",M_End;
-
- mes "[Mister Mobry]";
- mes "Mwehehe... I see you want to control tree spirits am I right? Ok... I need:";
- mes "^1354453 Logs^000000";
- mes "^1354451 Wooden Heart^000000";
- mes "^1354455 Trunk^000000";
- mes "^1354451 Wooden Gnarl^000000";
- next;
- goto L_Menu;
-
-M_FIND:
- mes "[Mister Mobry]";
- mes "You can find the following items from certain monsters heheh...";
- mes "^135445Logs can be found off of Tree Golems.^000000";
- mes "^135445Wooden Hearts the essence of Tree Golems.^000000";
- mes "^135445Trunks? Seriously, think wood...^000000";
- mes "^135445Wooden Gnarl... Gibbet...^000000";
- next;
- goto L_Menu;
-
-L_NOLOG:
- mes "[Mister Mobry]";
- mes "^135445Logs^000000 are the body... I need more of them.";
- mes "Get me three logs and I'll make you the spirit...";
- close;
-
-L_NOHEART:
- mes "[Mister Mobry]";
- mes "The ^135445Wooden Heart^000000 is the essence of the spirit.";
- mes "Get me one wooden heart and I'll make you the spirit...";
- close;
-
-L_NOTRUNK:
- mes "[Mister Mobry]";
- mes "What? You couldn't even find ^1354455 Trunks^000000?";
- mes "Kill Elder Willows or something... Geez... no trunks heh... pathetic.";
- close;
-
-L_NOGNARL:
- mes "[Mister Mobry]";
- mes "How can I make one without a ^135445Wooden Gnarl^000000?";
- mes "I said Gibbet... they are all around this place...";
- close;
-
-M_CREATE:
- mes "[Mister Mobry]";
- mes "Well...let us see what you brought me...";
- next;
- if(countitem(Log)<3) goto L_NOLOG;
- if(countitem(Heart_Of_Tree)<1) goto L_NOHEART;
- if(countitem(Wooden_Block)<5) goto L_NOTRUNK;
- if(countitem(Tree_Knot)<1) goto L_NOGNARL;
- delitem 7201,3;
- delitem 7189,1;
- delitem 1019,5;
- delitem 7222,1;
- mes "[Mister Mobry]";
- mes "Heh... Hope you have fun with the tree spirits... Careful now...";
- mes "Heh... careful now? What do I care if you di..... Never mind.";
- if(rand(1000)==0) goto L_GIVE2;
- getitem Branch_Of_Dead_Tree,1; //Dead Branch
- close;
-L_GIVE2:
- getitem Bloody_Dead_Branch,1; //Bloody Branch
- close;
-
-M_End:
- mes "[Mister Mobry]";
- mes "No spirit for you... then go!";
- close;
+ while (true) {
+ switch (select("What Do I Need?", "Where Can I find this Crap?", "Make me a Dead Branch!", "Forget it...")) {
+ case 1:
+ mes "[Mister Mobry]";
+ mes "Mwehehe... I see you want to control tree spirits am I right? Ok... I need:";
+ mes "^1354453 Logs^000000";
+ mes "^1354451 Wooden Heart^000000";
+ mes "^1354455 Trunk^000000";
+ mes "^1354451 Wooden Gnarl^000000";
+ next;
+ continue;
+ case 2:
+ mes "[Mister Mobry]";
+ mes "You can find the following items from certain monsters heheh...";
+ mes "^135445Logs can be found off of Tree Golems.^000000";
+ mes "^135445Wooden Hearts the essence of Tree Golems.^000000";
+ mes "^135445Trunks? Seriously, think wood...^000000";
+ mes "^135445Wooden Gnarl... Gibbet...^000000";
+ next;
+ continue;
+ case 3:
+ mes "[Mister Mobry]";
+ mes "Well...let us see what you brought me...";
+ next;
+ if (countitem(Log)<3) {
+ mes "[Mister Mobry]";
+ mes "^135445Logs^000000 are the body... I need more of them.";
+ mes "Get me three logs and I'll make you the spirit...";
+ close;
+ }
+ if (countitem(Heart_Of_Tree)<1) {
+ mes "[Mister Mobry]";
+ mes "The ^135445Wooden Heart^000000 is the essence of the spirit.";
+ mes "Get me one wooden heart and I'll make you the spirit...";
+ close;
+ }
+ if (countitem(Wooden_Block)<5) {
+ mes "[Mister Mobry]";
+ mes "What? You couldn't even find ^1354455 Trunks^000000?";
+ mes "Kill Elder Willows or something... Geez... no trunks heh... pathetic.";
+ close;
+ }
+ if (countitem(Tree_Knot)<1) {
+ mes "[Mister Mobry]";
+ mes "How can I make one without a ^135445Wooden Gnarl^000000?";
+ mes "I said Gibbet... they are all around this place...";
+ close;
+ }
+ delitem 7201,3;
+ delitem 7189,1;
+ delitem 1019,5;
+ delitem 7222,1;
+ mes "[Mister Mobry]";
+ mes "Heh... Hope you have fun with the tree spirits... Careful now...";
+ mes "Heh... careful now? What do I care if you di..... Never mind.";
+ if (rand(1000)==0) {
+ getitem Bloody_Dead_Branch,1; //Bloody Branch
+ close;
+ }
+ getitem Branch_Of_Dead_Tree,1; //Dead Branch
+ close;
+ case 4:
+ mes "[Mister Mobry]";
+ mes "No spirit for you... then go!";
+ close;
+ }
+ }
}
diff --git a/npc/custom/quests/elvenear.txt b/npc/custom/quests/elvenear.txt
index cf468d68e..dca4fdfd8 100644
--- a/npc/custom/quests/elvenear.txt
+++ b/npc/custom/quests/elvenear.txt
@@ -16,51 +16,47 @@ geffen,127,49,5 script Elven Ears Quest 4_M_02,{
mes "Hi, today's quest is....";
mes "Ah, the ^61B031Elven Ears ^000000Quest!";
next;
- menu "Requirements",L_Bl, "Make Item",-,"Cancel",L_Cancel;
-
- mes "[Elven Ears quest]";
- mes "Good good, let me just check";
- next;
- if(countitem(Cat_Hairband)<1 || countitem(Elder_Pixie's_Beard)<20 || countitem(Animal's_Skin)<20) goto L_NoMake;
- delitem 2213,1;
- delitem 1040,20;
- delitem 919,20;
- mes "[Elven Ears quest]";
- mes "Give me a second.....";
- next;
- getitem 2286,1;
- mes "[Elven Ears Quest]";
- mes "Ok done!";
- close;
-
-L_NoMake:
- mes "[Elven Ears Quest]";
- mes "You don't have the requirements.";
- mes "Please come back another time...";
- close;
-
-L_Bl:
- mes "[Elven Ears Quest]";
- mes "Ok all you have to do is collect:";
- mes "^362ED61 Kitty Band^000000";
- mes "^362ED620 Elder Pixie Mustaches^000000";
- mes "and ^362ED620 Animal Skin^000000";
- next;
- menu "Accept",-, "Leave",L_Leave;
-
- mes "[Elven Ears Quest]";
- mes "When you are done, bring the items to me. Ok good luck finding those items.";
- close;
-
-L_Leave:
- mes "[Elven Ears quest]";
- mes "Maybe another time?";
- close;
-
-L_Cancel:
- mes "[Elven Ears quest]";
- mes "Aw, what a shame";
- mes "Giving up already?";
- mes "Oh well maybe you will participate in tommorow's quest.";
- close;
+ switch (select("Requirements", "Make Item", "Cancel")) {
+ case 1:
+ mes "[Elven Ears Quest]";
+ mes "Ok all you have to do is collect:";
+ mes "^362ED61 Kitty Band^000000";
+ mes "^362ED620 Elder Pixie Mustaches^000000";
+ mes "and ^362ED620 Animal Skin^000000";
+ next;
+ if (select("Accept", "Leave") != 1) {
+ mes "[Elven Ears quest]";
+ mes "Maybe another time?";
+ close;
+ }
+ mes "[Elven Ears Quest]";
+ mes "When you are done, bring the items to me. Ok good luck finding those items.";
+ close;
+ case 2:
+ mes "[Elven Ears quest]";
+ mes "Good good, let me just check";
+ next;
+ if (countitem(Cat_Hairband)<1 || countitem(Elder_Pixie's_Beard)<20 || countitem(Animal's_Skin)<20) {
+ mes "[Elven Ears Quest]";
+ mes "You don't have the requirements.";
+ mes "Please come back another time...";
+ close;
+ }
+ delitem 2213,1;
+ delitem 1040,20;
+ delitem 919,20;
+ mes "[Elven Ears quest]";
+ mes "Give me a second.....";
+ next;
+ getitem 2286,1;
+ mes "[Elven Ears Quest]";
+ mes "Ok done!";
+ close;
+ case 3:
+ mes "[Elven Ears quest]";
+ mes "Aw, what a shame";
+ mes "Giving up already?";
+ mes "Oh well maybe you will participate in tommorow's quest.";
+ close;
+ }
}
diff --git a/npc/custom/quests/event_6_new_hats.txt b/npc/custom/quests/event_6_new_hats.txt
index d53427f14..593293a69 100644
--- a/npc/custom/quests/event_6_new_hats.txt
+++ b/npc/custom/quests/event_6_new_hats.txt
@@ -29,57 +29,62 @@ prt_in,130,66,5 script Zac 4_M_BIBI,{
mes "[Zac]";
mes "I provide 1 hat and my brothers provides the other 5.";
next;
- menu "Join",L1,"Information",L2,"Cancel",L3;
-L1:
- mes "[Zac]";
- mes "What hat do you want me to make?";
- next;
- menu "Bongun Hat",L1_4;
-L1_4:
- mes "[Zac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Amulet) < 10) goto L_ITEM_1c;//Items: Amulet,
- if(countitem(Cobaltblue_Dyestuffs) < 1) goto L_ITEM_2c;//Items: Cobaltblue Dyestuff,
- if(countitem(Munak_Turban) < 1) goto L_ITEM_3c;//Items: Munak Hat,
- delitem Amulet,10;//Items: Amulet,
- delitem Cobaltblue_Dyestuffs,1;//Items: Cobaltblue Dyestuff,
- delitem Munak_Turban,1; //Items: Munak Hat,
- mes "[Zac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Bongun Hat for you right away. Please Wait a Moment.";
- next;
- mes "[Zac]";
- mes "Tah Dah! ^FF0000Bongun Hat^000000...! Please Take it!";
- getitem Bongun_Hat,1;//Items: Bongun Hat,
- next;
- mes "[Zac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1c:
- mes "[Zac]";
- mes "Oh, dear. You need 10 Amulets...";
- close;
-L_ITEM_2c:
- mes "[Zac]";
- mes "Oh, dear. You need 1 Cobaltblue Dyestuffs...";
- close;
-L_ITEM_3c:
- mes "[Zac]";
- mes "Oh, dear. You need 1 Munak Hat...";
- close;
-L2:
- mes "[Zac]";
- mes "Which hat materials do you wish to know?";
- next;
- menu "Bongun Hat",L2_4;
-L2_4:
- mes "[Zac]";
- mes "You need 10 Amulets, 1 Cobaltblue Dyestuffs and 1 Munak Hat for Bongun Hat.";
- close;
-L3:
- mes "[Zac]";
- mes "Stop by some other time with the right materials, so I can make the hats for you.";
- close;
+ switch (select("Join", "Information", "Cancel")) {
+ case 1:
+ mes "[Zac]";
+ mes "What hat do you want me to make?";
+ next;
+ switch (select("Bongun Hat")) {
+ case 1:
+ mes "[Zac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Amulet) < 10) {
+ mes "[Zac]";
+ mes "Oh, dear. You need 10 Amulets...";
+ close;
+ }
+ if (countitem(Cobaltblue_Dyestuffs) < 1) {
+ mes "[Zac]";
+ mes "Oh, dear. You need 1 Cobaltblue Dyestuffs...";
+ close;
+ }
+ if (countitem(Munak_Turban) < 1) {
+ mes "[Zac]";
+ mes "Oh, dear. You need 1 Munak Hat...";
+ close;
+ }
+ delitem Amulet,10;//Items: Amulet,
+ delitem Cobaltblue_Dyestuffs,1;//Items: Cobaltblue Dyestuff,
+ delitem Munak_Turban,1; //Items: Munak Hat,
+ mes "[Zac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Bongun Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Zac]";
+ mes "Tah Dah! ^FF0000Bongun Hat^000000...! Please Take it!";
+ getitem Bongun_Hat,1;//Items: Bongun Hat,
+ next;
+ mes "[Zac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Zac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ switch (select("Bongun Hat")) {
+ case 1:
+ mes "[Zac]";
+ mes "You need 10 Amulets, 1 Cobaltblue Dyestuffs and 1 Munak Hat for Bongun Hat.";
+ close;
+ }
+ break;
+ case 3:
+ mes "[Zac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+ }
}
prt_in,162,131,5 script Blac 4_M_JOB_HUNTER,{
@@ -89,51 +94,56 @@ prt_in,162,131,5 script Blac 4_M_JOB_HUNTER,{
mes "[Blac]";
mes "I provide 1 hat and my brothers provides the other 5.";
next;
- menu "Join",L1,"Information",L2,"Cancel",L3;
-L1:
- mes "[Blac]";
- mes "What hat do you want me to make?";
- next;
- menu "Crescent Hairpin",L1_9;
-L1_9:
- mes "[Blac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Heart_Hair_Pin) < 1) goto L_ITEM_1;//Items: Heart Hairpin,
- if(countitem(Steel) < 10) goto L_ITEM_2;//Items: Steel,
- delitem Heart_Hair_Pin,1;//Items: Heart Hairpin,
- delitem Steel,10; //Items: Steel,
- mes "[Blac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Crescent Hairpin for you right away. Please Wait a Moment.";
- next;
- mes "[Blac]";
- mes "Tah Dah! ^FF0000Crescent Hairpin^000000...! Please Take it!";
- getitem First_Moon_Hair_Pin,1;//Items: Cresent Hairpin,
- next;
- mes "[Blac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1:
- mes "[Blac]";
- mes "Oh, dear. You need 1 Heart Hairpin...";
- close;
-L_ITEM_2:
- mes "[Blac]";
- mes "Oh, dear. You need 10 Steels...";
- close;
-L2:
- mes "[Blac]";
- mes "Which hat materials do you wish to know?";
- next;
- menu "Crescent Hairpin",L2_9;
-L2_9:
- mes "[Blac]";
- mes "You need 1 Heart Hairpin and 10 Steels for Crescent Hairpin.";
- close;
-L3:
- mes "[Blac]";
- mes "Stop by some other time with the right materials, so I can make the hats for you.";
- close;
+ switch (select("Join", "Information", "Cancel")) {
+ case 1:
+ mes "[Blac]";
+ mes "What hat do you want me to make?";
+ next;
+ switch (select("Crescent Hairpin")) {
+ case 1:
+ mes "[Blac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Heart_Hair_Pin) < 1) {
+ mes "[Blac]";
+ mes "Oh, dear. You need 1 Heart Hairpin...";
+ close;
+ }
+ if (countitem(Steel) < 10) {
+ mes "[Blac]";
+ mes "Oh, dear. You need 10 Steels...";
+ close;
+ }
+ delitem Heart_Hair_Pin,1;//Items: Heart Hairpin,
+ delitem Steel,10; //Items: Steel,
+ mes "[Blac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Crescent Hairpin for you right away. Please Wait a Moment.";
+ next;
+ mes "[Blac]";
+ mes "Tah Dah! ^FF0000Crescent Hairpin^000000...! Please Take it!";
+ getitem First_Moon_Hair_Pin,1;//Items: Cresent Hairpin,
+ next;
+ mes "[Blac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Blac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ switch (select("Crescent Hairpin")) {
+ case 1:
+ mes "[Blac]";
+ mes "You need 1 Heart Hairpin and 10 Steels for Crescent Hairpin.";
+ close;
+ }
+ break;
+ case 3:
+ mes "[Blac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+ }
}
prt_in,53,56,5 script Jac 1_M_PAY_ELDER,{
@@ -143,81 +153,86 @@ prt_in,53,56,5 script Jac 1_M_PAY_ELDER,{
mes "[Jac]";
mes "I provide 2 hats and my brothers provides the other 4.";
next;
- menu "Join",L1,"Information",L2,"Cancel",L3;
-L1:
- mes "[Jac]";
- mes "What hat do you want me to make?";
- next;
- menu "Kafra Band",L1_19,"Panda Hat",L1_24;
-L1_19:
- mes "[Jac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Silk_Ribbon) < 1) goto L_ITEM_1b;//Items: Silk Ribbon,
- if(countitem(Wild_Flower) < 1) goto L_ITEM_2b;//Items: Wild Flower,
- delitem Silk_Ribbon,1;//Items: Silk Ribbon,
- delitem Wild_Flower,1; //Items: Wild Flower,
- mes "[Jac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Kafra Band for you right away. Please Wait a Moment.";
- next;
- mes "[Jac]";
- mes "Tah Dah! ^FF0000Kafra Band^000000...! Please Take it!";
- getitem Kafra_Band,1;//Items: Kafra's Band,
- next;
- mes "[Jac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1b:
- mes "[Jac]";
- mes "Oh, dear. You need 1 Silk Ribbon...";
- close;
-L_ITEM_2b:
- mes "[Jac]";
- mes "Oh, dear. You need 1 Wild Flower...";
- close;
-L1_24:
- mes "[Jac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Steel) < 10) goto L_ITEM_1g;//Items: Steel,
- if(countitem(Bear's_Foot) < 200) goto L_ITEM_2g;//Items: Bears Footskin,
- delitem Steel,10;//Items: Steel,
- delitem Bear's_Foot,200; //Items: Bears Footskin,
- mes "[Jac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Panda Hat for you right away. Please Wait a Moment.";
- next;
- mes "[Jac]";
- mes "Tah Dah! ^FF0000Panda Hat^000000...! Please Take it!";
- getitem Panda_Cap,1;//Items: Panda Hat,
- next;
- mes "[Jac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1g:
- mes "[Jac]";
- mes "Oh, dear. You need 10 Steels...";
- close;
-L_ITEM_2g:
- mes "[Jac]";
- mes "Oh, dear. You need 200 Bear Footskins...";
- close;
-L2:
- mes "[Jac]";
- mes "Which hat materials do you wish to know?";
- next;
- menu "Kafra Band",L2_19,"Panda Hat",L2_24;
-L2_19:
- mes "[Jac]";
- mes "You need 1 Silk Ribbon and 1 Wild Flower for Kafra Band.";
- close;
-L2_24:
- mes "[Jac]";
- mes "You need 10 Steels and 200 Bear Footskins for Panda Hat.";
- close;
-L3:
- mes "[Jac]";
- mes "Stop by some other time with the right materials, so I can make the hats for you.";
- close;
+ switch (select("Join", "Information", "Cancel")) {
+ case 1:
+ mes "[Jac]";
+ mes "What hat do you want me to make?";
+ next;
+ switch (select("Kafra Band", "Panda Hat")) {
+ case 1:
+ mes "[Jac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Silk_Ribbon) < 1) {
+ mes "[Jac]";
+ mes "Oh, dear. You need 1 Silk Ribbon...";
+ close;
+ }
+ if (countitem(Wild_Flower) < 1) {
+ mes "[Jac]";
+ mes "Oh, dear. You need 1 Wild Flower...";
+ close;
+ }
+ delitem Silk_Ribbon,1;//Items: Silk Ribbon,
+ delitem Wild_Flower,1; //Items: Wild Flower,
+ mes "[Jac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Kafra Band for you right away. Please Wait a Moment.";
+ next;
+ mes "[Jac]";
+ mes "Tah Dah! ^FF0000Kafra Band^000000...! Please Take it!";
+ getitem Kafra_Band,1;//Items: Kafra's Band,
+ next;
+ mes "[Jac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ case 2:
+ mes "[Jac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Steel) < 10) {
+ mes "[Jac]";
+ mes "Oh, dear. You need 10 Steels...";
+ close;
+ }
+ if (countitem(Bear's_Foot) < 200) {
+ mes "[Jac]";
+ mes "Oh, dear. You need 200 Bear Footskins...";
+ close;
+ }
+ delitem Steel,10;//Items: Steel,
+ delitem Bear's_Foot,200; //Items: Bears Footskin,
+ mes "[Jac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Panda Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Jac]";
+ mes "Tah Dah! ^FF0000Panda Hat^000000...! Please Take it!";
+ getitem Panda_Cap,1;//Items: Panda Hat,
+ next;
+ mes "[Jac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Jac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ switch (select("Kafra Band", "Panda Hat")) {
+ case 1:
+ mes "[Jac]";
+ mes "You need 1 Silk Ribbon and 1 Wild Flower for Kafra Band.";
+ close;
+ case 2:
+ mes "[Jac]";
+ mes "You need 10 Steels and 200 Bear Footskins for Panda Hat.";
+ close;
+ }
+ break;
+ case 3:
+ mes "[Jac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+ }
}
prt_in,45,113,5 script Pac 4_M_GEF_SOLDIER,{
@@ -227,99 +242,104 @@ prt_in,45,113,5 script Pac 4_M_GEF_SOLDIER,{
mes "[Pac]";
mes "I provide 2 hats and my brothers provides the other 4.";
next;
- menu "Join",L1,"Information",L2,"Cancel",L3;
-L1:
- mes "[Pac]";
- mes "What hat do you want me to make?";
- next;
- menu "Poring Hat",L1_26,"Sphinx Hat",L1_29;
-L1_26:
- mes "[Pac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Poring_Doll) < 1) goto L_ITEM_1a;//Items: Poring Doll,
- if(countitem(Jellopy) < 300) goto L_ITEM_2a;//Items: Jellopy,
- delitem Poring_Doll,1;//Items: Poring Doll,
- delitem Jellopy,300;//Items: Jellopy,
- mes "[Pac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Poring Hat for you right away. Please Wait a Moment.";
- next;
- mes "[Pac]";
- mes "Tah Dah! ^FF0000Poring Hat^000000...! Please Take it!";
- getitem Poring_Hat,1;//Items: Poring Hat,
- next;
- mes "[Pac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1a:
- mes "[Pac]";
- mes "Oh, dear. You need 1 Poring Doll...";
- close;
-L_ITEM_2a:
- mes "[Pac]";
- mes "Oh, dear. You need 300 Jellopys...";
- close;
-L1_29:
- mes "[Pac]";
- mes "Let me check the items you have brought here.";
- next;
- if(countitem(Steel) < 25) goto L_ITEM_1d;//Items: Steel,
- if(countitem(Darkgreen_Dyestuffs) < 1) goto L_ITEM_2d;//Items: Darkgreen Dyestuff,
- if(countitem(Lemon_Dyestuffs) < 1) goto L_ITEM_3d;//Items: Lemon Dyestuffs,
- if(countitem(Transparent_Cloth) < 150) goto L_ITEM_4d;//Items: Fabric,
- if(countitem(Gold) < 2) goto L_ITEM_5d;//Items: Gold,
- delitem Steel,25;//Items: Steel,
- delitem Darkgreen_Dyestuffs,1;//Items: Darkgreen Dyestuff,
- delitem Lemon_Dyestuffs,1;//Items: Lemon Dyestuffs,
- delitem Transparent_Cloth,150;//Items: Fabric,
- delitem Gold,2; //Items: Gold,
- mes "[Pac]";
- mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Sphinx Hat for you right away. Please Wait a Moment.";
- next;
- mes "[Pac]";
- mes "Tah Dah! ^FF0000Sphinx Hat^000000...! Please Take it!";
- getitem Spinx_Helm,1;//Items: Sphinx Hat,
- next;
- mes "[Pac]";
- mes "I liked that, I look forward to making more. Thank you.";
- close;
-L_ITEM_1d:
- mes "[Pac]";
- mes "Oh, dear. You need 25 Steels...";
- close;
-L_ITEM_2d:
- mes "[Pac]";
- mes "Oh, dear. You need 1 DarkGreen Dyestuffs...";
- close;
-L_ITEM_3d:
- mes "[Pac]";
- mes "Oh, dear. You need 1 Lemon Dyestuffs...";
- close;
-L_ITEM_4d:
- mes "[Pac]";
- mes "Oh, dear. You need 150 Fabric...";
- close;
-L_ITEM_5d:
- mes "[Pac]";
- mes "Oh, dear. You need 2 Gold Bar's...";
- close;
-L2:
- mes "[Pac]";
- mes "Which hat materials do you wish to know?";
- next;
- menu "Poring Hat",L2_26,"Sphinx Hat",L2_29;
-L2_26:
- mes "[Pac]";
- mes "You need 1 Poring Doll and 300 Jellopys for Poring Hat.";
- close;
-L2_29:
- mes "[Pac]";
- mes "You need 25 Steels, 1 DarkGreen Dyestuffs, 1 Lemon Dyestuffs, 150 Fabric and 2 Gold Bar's for Sphinx Hat.";
- close;
-L3:
- mes "[Pac]";
- mes "Stop by some other time with the right materials, so I can make the hats for you.";
- close;
+ switch (select("Join", "Information", "Cancel")) {
+ case 1:
+ mes "[Pac]";
+ mes "What hat do you want me to make?";
+ next;
+ switch (select("Poring Hat", "Sphinx Hat")) {
+ case 1:
+ mes "[Pac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Poring_Doll) < 1) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 Poring Doll...";
+ close;
+ }
+ if (countitem(Jellopy) < 300) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 300 Jellopys...";
+ close;
+ }
+ delitem Poring_Doll,1;//Items: Poring Doll,
+ delitem Jellopy,300;//Items: Jellopy,
+ mes "[Pac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Poring Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Pac]";
+ mes "Tah Dah! ^FF0000Poring Hat^000000...! Please Take it!";
+ getitem Poring_Hat,1;//Items: Poring Hat,
+ next;
+ mes "[Pac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ case 2:
+ mes "[Pac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if (countitem(Steel) < 25) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 25 Steels...";
+ close;
+ }
+ if (countitem(Darkgreen_Dyestuffs) < 1) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 DarkGreen Dyestuffs...";
+ close;
+ }
+ if (countitem(Lemon_Dyestuffs) < 1) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 Lemon Dyestuffs...";
+ close;
+ }
+ if (countitem(Transparent_Cloth) < 150) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 150 Fabric...";
+ close;
+ }
+ if (countitem(Gold) < 2) {
+ mes "[Pac]";
+ mes "Oh, dear. You need 2 Gold Bar's...";
+ close;
+ }
+ delitem Steel,25;//Items: Steel,
+ delitem Darkgreen_Dyestuffs,1;//Items: Darkgreen Dyestuff,
+ delitem Lemon_Dyestuffs,1;//Items: Lemon Dyestuffs,
+ delitem Transparent_Cloth,150;//Items: Fabric,
+ delitem Gold,2; //Items: Gold,
+ mes "[Pac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Sphinx Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Pac]";
+ mes "Tah Dah! ^FF0000Sphinx Hat^000000...! Please Take it!";
+ getitem Spinx_Helm,1;//Items: Sphinx Hat,
+ next;
+ mes "[Pac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Pac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ switch (select("Poring Hat", "Sphinx Hat")) {
+ case 1:
+ mes "[Pac]";
+ mes "You need 1 Poring Doll and 300 Jellopys for Poring Hat.";
+ close;
+ case 2:
+ mes "[Pac]";
+ mes "You need 25 Steels, 1 DarkGreen Dyestuffs, 1 Lemon Dyestuffs, 150 Fabric and 2 Gold Bar's for Sphinx Hat.";
+ close;
+ }
+ break;
+ case 3:
+ mes "[Pac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+ }
}
diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt
index 3a37c5c9c..beea787a1 100644
--- a/npc/custom/quests/may_hats.txt
+++ b/npc/custom/quests/may_hats.txt
@@ -19,149 +19,151 @@ gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
mes "They are quite rare novadays...";
specialeffect 417;
next;
- menu "Bird Nest",-,"Lion Mask",M_2,"Skeleton Manteau",M_3,"Fashion Hip Sack",M_4,"Sales Banner",M_5,"Leave",M_Exit;
-
- mes "[Yakima]";
- mes "Oh.. it's an excellent item for any beast hunter.";
- emotion e_rock;
- next;
- mes "[Yakima]";
- mes "For the hat I'll need:";
- mes "1 Sombrero,";
- mes "920 Feathers of Birds and";
- mes "310 Bills of Birds.";
- next;
- mes "[Yakima]";
- mes "Do you have all the items?";
- next;
- menu "Yeah.",-,"Nay.",M_Exit;
-
- if(countitem(Sombrero) < 1 || countitem(Feather_Of_Birds) < 920 || countitem(Bill_Of_Birds) < 310) goto l_noitem;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
- delitem Sombrero,1;//Items: Sombrero,
- delitem Feather_Of_Birds,920;//Items: Feather_of_Birds,
- delitem Bill_Of_Birds,310;//Items: Bill_of_Birds,
- getitem Bird_Nest,1;//Items: Bird_Nest,
- mes "[Yakima]";
- mes "Thank you very very much!";
- mes callfunc("F_Bye");
- close;
-
-M_2:
- mes "[Yakima]";
- mes "Bingo! Many people are afraid of lions... to the muteness...";
- emotion e_slur;
- next;
+ switch (select("Bird Nest", "Lion Mask", "Skeleton Manteau", "Fashion Hip Sack", "Sales Banner", "Leave")) {
+ case 1:
+ mes "[Yakima]";
+ mes "Oh.. it's an excellent item for any beast hunter.";
+ emotion e_rock;
+ next;
+ mes "[Yakima]";
+ mes "For the hat I'll need:";
+ mes "1 Sombrero,";
+ mes "920 Feathers of Birds and";
+ mes "310 Bills of Birds.";
+ next;
+ mes "[Yakima]";
+ mes "Do you have all the items?";
+ next;
+ if (select("Yeah.", "Nay." != 1))
+ break;
+ if(countitem(Sombrero) < 1 || countitem(Feather_Of_Birds) < 920 || countitem(Bill_Of_Birds) < 310) goto l_noitem;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
+ delitem Sombrero,1;//Items: Sombrero,
+ delitem Feather_Of_Birds,920;//Items: Feather_of_Birds,
+ delitem Bill_Of_Birds,310;//Items: Bill_of_Birds,
+ getitem Bird_Nest,1;//Items: Bird_Nest,
+ mes "[Yakima]";
+ mes "Thank you very very much!";
+ mes callfunc("F_Bye");
+ close;
+ case 2:
+ mes "[Yakima]";
+ mes "Bingo! Many people are afraid of lions... to the muteness...";
+ emotion e_slur;
+ next;
+ mes "[Yakima]";
+ mes "For the hat I'll need:";
+ mes "1 Tiger Mask,";
+ mes "10 Tiger's Footskins,";
+ mes "30 Tiger Skins and";
+ mes "300 Tiger Panties.";
+ next;
+ mes "[Yakima]";
+ mes "Do you have all the items?";
+ next;
+ if (select("Yeah.", "Nay." != 1))
+ break;
+ if(countitem(Tiger_Mask) < 1 || countitem(Tiger_Footskin) < 10 || countitem(Tiger's_Skin) < 30 || countitem(Tiger_Skin_Panties) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
+ delitem Tiger_Mask,1;//Items: Tiger_Mask,
+ delitem Tiger_Footskin,10;//Items: Tiger's_Footskin,
+ delitem Tiger's_Skin,30;//Items: Tiger_Skin,
+ delitem Tiger_Skin_Panties,300;//Items: Tiger_Panty,
+ getitem Lion_Mask,1;//Items: Lion_Mask,
+ mes "[Yakima]";
+ mes "Thank you very very much!";
+ mes callfunc("F_Bye");
+ close;
+ case 3:
+ mes "[Yakima]";
+ mes "I wish I sold this filthy manteau faster...";
+ mes "Guess it isn't so plain as it looks... Hmm.";
+ emotion e_wah;
+ next;
+ mes "[Yakima]";
+ mes "I'm giving it almost for free:";
+ mes "10 Old Manteaus,";
+ mes "3 Skull Rings,";
+ mes "2 Manteau[1] and";
+ mes "1 Ragamuffin Manteau.";
+ next;
+ mes "[Yakima]";
+ mes "Do you have all the items?";
+ next;
+ if (select("Yeah.", "Nay." != 1))
+ break;
+ if(countitem(Ragamuffin_Cape) < 1 || countitem(Manteau_) < 2 || countitem(Skul_Ring) < 3 || countitem(Old_Manteau) < 10) goto l_noitem;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
+ delitem Ragamuffin_Cape,1;//Items: Ragamuffin_Manteau,
+ delitem Manteau_,2;//Items: Manteau_,
+ delitem Skul_Ring,3;//Items: Skull_Ring,
+ delitem Old_Manteau,10;//Items: Old_Manteau,
+ getitem Skeleton's_Cape,1;//Items: Skeleton_Manteau,
+ mes "[Yakima]";
+ mes "Thank you very very much!";
+ mes callfunc("F_Bye");
+ close;
+ case 4:
+ mes "[Yakima]";
+ mes "It's a fresh style! Ancessory and a bag all in one! You'd get +2 STR... It's different from that sabby nest!";
+ mes "It fits to Merchant classonly.";
+ emotion e_heh;
+ next;
+ mes "[Yakima]";
+ mes "Now my stock is full of those bags... So I'll make it from 3 flower things and a rough piece of clothes:";
+ mes "3 Romantic Flowers,";
+ mes "3 Fancy Flowers,";
+ mes "2 Flower Rings and";
+ mes "3 Pirate Bandanas.";
+ next;
+ mes "[Yakima]";
+ mes "Do you have all the items?";
+ next;
+ if (select("Yeah.", "Nay." != 1))
+ break;
+ if(countitem(Centimental_Flower) < 3 || countitem(Fancy_Flower) < 3 || countitem(Flower_Ring) < 2 || countitem(Pirate_Bandana)<3 ) goto l_noitem;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
+ delitem Centimental_Flower,3;//Items: Romantic_Flower,
+ delitem Fancy_Flower,3;//Items: Fancy_Flower,
+ delitem Flower_Ring,2;//Items: Flower_Ring,
+ delitem Pirate_Bandana,3;//Items: Pirate_Bandana
+ getitem Fashionable_Sack,1;//Items: Fashion_Hip_Sack,
+ mes "[Yakima]";
+ mes "Thank you very very much!";
+ mes callfunc("F_Bye");
+ close;
+ case 5:
+ mes "[Yakima]";
+ mes "Well, well, well... this sign fits any class from a certain level!";
+ mes "Your foes'd be dazzled!";
+ emotion e_no1;
+ next;
+ mes "[Yakima]";
+ mes "Well... we construct it from some common items:";
+ mes "1 Scarlet Dyestuffs,";
+ mes "1 Orange Dyestuffs,";
+ mes "2 Stop Posts,";
+ mes "3 Clown Noses,";
+ mes "180 Fig Leaves and";
+ mes "20 Solid Peaches.";
+ next;
+ mes "[Yakima]";
+ mes "Do you have all the items?";
+ next;
+ if (select("Yeah.", "Nay." != 1))
+ break;
+ if(countitem(Scarlet_Dyestuffs) < 1 || countitem(Orange_Dyestuffs) < 1 || countitem(Stop_Post) < 2 || countitem(Pierrot_Nose) < 3 || countitem(Leaf_Clothes) < 180 || countitem(Hard_Peach) < 20) goto l_noitem;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
+ delitem Scarlet_Dyestuffs,1;//Items: Scarlet_Dyestuff,
+ delitem Orange_Dyestuffs,1;//Items: Orange_Dyestuff,
+ delitem Stop_Post,2;//Items: Stop_Post,
+ delitem Pierrot_Nose,3;//Items: Clown_Nose,
+ delitem Leaf_Clothes,180;//Items: Fig_Leaf,
+ delitem Hard_Peach,20;//Items: Solid_Peach,
+ getitem Sales_Signboard,1;//Items: Sales_Banner,
+ mes "[Yakima]";
+ mes "Thank you very very much!";
+ mes callfunc("F_Bye");
+ close;
+ case 6:
+ break;
+ }
mes "[Yakima]";
- mes "For the hat I'll need:";
- mes "1 Tiger Mask,";
- mes "10 Tiger's Footskins,";
- mes "30 Tiger Skins and";
- mes "300 Tiger Panties.";
- next;
- mes "[Yakima]";
- mes "Do you have all the items?";
- next;
- menu "Yeah.",-,"Nay.",M_Exit;
-
- if(countitem(Tiger_Mask) < 1 || countitem(Tiger_Footskin) < 10 || countitem(Tiger's_Skin) < 30 || countitem(Tiger_Skin_Panties) < 300) goto l_noitem;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
- delitem Tiger_Mask,1;//Items: Tiger_Mask,
- delitem Tiger_Footskin,10;//Items: Tiger's_Footskin,
- delitem Tiger's_Skin,30;//Items: Tiger_Skin,
- delitem Tiger_Skin_Panties,300;//Items: Tiger_Panty,
- getitem Lion_Mask,1;//Items: Lion_Mask,
- mes "[Yakima]";
- mes "Thank you very very much!";
- mes callfunc("F_Bye");
- close;
-
-M_3:
- mes "[Yakima]";
- mes "I wish I sold this filthy manteau faster...";
- mes "Guess it isn't so plain as it looks... Hmm.";
- emotion e_wah;
- next;
- mes "[Yakima]";
- mes "I'm giving it almost for free:";
- mes "10 Old Manteaus,";
- mes "3 Skull Rings,";
- mes "2 Manteau[1] and";
- mes "1 Ragamuffin Manteau.";
- next;
- mes "[Yakima]";
- mes "Do you have all the items?";
- next;
- menu "Yeah.",-,"Nay.",M_Exit;
-
- if(countitem(Ragamuffin_Cape) < 1 || countitem(Manteau_) < 2 || countitem(Skul_Ring) < 3 || countitem(Old_Manteau) < 10) goto l_noitem;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
- delitem Ragamuffin_Cape,1;//Items: Ragamuffin_Manteau,
- delitem Manteau_,2;//Items: Manteau_,
- delitem Skul_Ring,3;//Items: Skull_Ring,
- delitem Old_Manteau,10;//Items: Old_Manteau,
- getitem Skeleton's_Cape,1;//Items: Skeleton_Manteau,
- mes "[Yakima]";
- mes "Thank you very very much!";
- mes callfunc("F_Bye");
- close;
-
-M_4:
- mes "[Yakima]";
- mes "It's a fresh style! Ancessory and a bag all in one! You'd get +2 STR... It's different from that sabby nest!";
- mes "It fits to Merchant classonly.";
- emotion e_heh;
- next;
- mes "[Yakima]";
- mes "Now my stock is full of those bags... So I'll make it from 3 flower things and a rough piece of clothes:";
- mes "3 Romantic Flowers,";
- mes "3 Fancy Flowers,";
- mes "2 Flower Rings and";
- mes "3 Pirate Bandanas.";
- next;
- mes "[Yakima]";
- mes "Do you have all the items?";
- next;
- menu "Yeah.",-,"Nay.",M_Exit;
-
- if(countitem(Centimental_Flower) < 3 || countitem(Fancy_Flower) < 3 || countitem(Flower_Ring) < 2 || countitem(Pirate_Bandana)<3 ) goto l_noitem;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
- delitem Centimental_Flower,3;//Items: Romantic_Flower,
- delitem Fancy_Flower,3;//Items: Fancy_Flower,
- delitem Flower_Ring,2;//Items: Flower_Ring,
- delitem Pirate_Bandana,3;//Items: Pirate_Bandana
- getitem Fashionable_Sack,1;//Items: Fashion_Hip_Sack,
- mes "[Yakima]";
- mes "Thank you very very much!";
- mes callfunc("F_Bye");
- close;
-
-M_5:
- mes "[Yakima]";
- mes "Well, well, well... this sign fits any class from a certain level!";
- mes "Your foes'd be dazzled!";
- emotion e_no1;
- next;
- mes "[Yakima]";
- mes "Well... we construct it from some common items:";
- mes "1 Scarlet Dyestuffs,";
- mes "1 Orange Dyestuffs,";
- mes "2 Stop Posts,";
- mes "3 Clown Noses,";
- mes "180 Fig Leaves and";
- mes "20 Solid Peaches.";
- next;
- mes "[Yakima]";
- mes "Do you have all the items?";
- next;
- menu "Yeah.",-,"Nay.",M_Exit;
-
- if(countitem(Scarlet_Dyestuffs) < 1 || countitem(Orange_Dyestuffs) < 1 || countitem(Stop_Post) < 2 || countitem(Pierrot_Nose) < 3 || countitem(Leaf_Clothes) < 180 || countitem(Hard_Peach) < 20) goto l_noitem;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
- delitem Scarlet_Dyestuffs,1;//Items: Scarlet_Dyestuff,
- delitem Orange_Dyestuffs,1;//Items: Orange_Dyestuff,
- delitem Stop_Post,2;//Items: Stop_Post,
- delitem Pierrot_Nose,3;//Items: Clown_Nose,
- delitem Leaf_Clothes,180;//Items: Fig_Leaf,
- delitem Hard_Peach,20;//Items: Solid_Peach,
- getitem Sales_Signboard,1;//Items: Sales_Banner,
- mes "[Yakima]";
- mes "Thank you very very much!";
mes callfunc("F_Bye");
close;
@@ -171,8 +173,4 @@ l_noitem:
emotion e_sry;
close;
-M_Exit:
- mes "[Yakima]";
- mes callfunc("F_Bye");
- close;
}
diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt
index 8ade6d8fd..24e3f7410 100644
--- a/npc/custom/quests/thq/THQS_ChatingNPC.txt
+++ b/npc/custom/quests/thq/THQS_ChatingNPC.txt
@@ -30,15 +30,15 @@ yuno_in01,32,178,3 script Ahlma 4_F_MAID,{
mes "Welcome to The Treasure Hunter Guild.";
mes "How may I help you?";
next;
- menu "Save",-,"Quit",N_Quit;
+ if (select("Save", "Quit") != 1) {
+ mes "[Ahlma]";
+ mes "Well if you think you are safe, good on you.";
+ close;
+ }
mes "[Ahlma]";
mes "Ok, saved. Thank you ~ See you soon~";
savepoint "yuno_in01",34,176;
close;
-N_Quit:
- mes "[Ahlma]";
- mes "Well if you think you are safe, good on you.";
- close;
N_Member:
mes "Sorry, members only.";
close;
diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt
index 326735a7a..05379e345 100644
--- a/npc/custom/quests/thq/THQS_GuildNPC.txt
+++ b/npc/custom/quests/thq/THQS_GuildNPC.txt
@@ -15,46 +15,63 @@ yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{
mes "[Keegan]";
mes "What brings you here? Have something to say?";
next;
- menu "I want to be a Treasure Hunter",-,"Take a New Quest.",N_NQuest,"Take me to the Official Shop.",N_OShop,"Nevermind.",N_NVM;
- if(Event_THQS==1) goto N_AlreadyReg;
- mes "[Keegan]";
- mes "Well "+strcharinfo(0)+" if you want to be a Treasure Hunter first you must.";
- mes " ";
- mes "^FF00001.^000000 You well be changed ^FF000025,000z^000000 for basic training and your proof of being a member.";
- mes " ";
- mes "Umm... Well that is all you need to do. Hahaha.";
- next;
- menu "Pay ^FF000025,000z^000000.",-,"Thats way to high!!",N_HighPrice;
- if (Zeny < 25000) goto N_NoZeny;
- Zeny -= 25000;
- //getitem 7950, 1;
- //getitem 7951, 1;
- set Event_THQS,1;
- mes "[Keegan]";
- mes "Congratulations!";
- emotion 46;
- next;
- mes "[Keegan]";
- mes "Welcome to the Guild of Treasure Hunters.";
- mes "You may now take a Treasure Hunting Quest as you see fit.";
- close;
+ switch (select("I want to be a Treasure Hunter", "Take a New Quest.", "Take me to the Official Shop.", "Nevermind.",N_NVM)) {
+ case 1:
+ if (Event_THQS==1)
+ goto N_AlreadyReg;
+ mes "[Keegan]";
+ mes "Well "+strcharinfo(0)+" if you want to be a Treasure Hunter first you must.";
+ mes " ";
+ mes "^FF00001.^000000 You well be changed ^FF000025,000z^000000 for basic training and your proof of being a member.";
+ mes " ";
+ mes "Umm... Well that is all you need to do. Hahaha.";
+ next;
+ if (select("Pay ^FF000025,000z^000000.", "Thats way to high!!") != 1) {
+ mes "[Keegan]";
+ mes "Well if you can't afford a small ^FF000025,000z^000000 you shouldent be a Treasure Hunter yet.";
+ close;
+ }
+ if (Zeny < 25000)
+ goto N_NoZeny;
+ Zeny -= 25000;
+ //getitem 7950, 1;
+ //getitem 7951, 1;
+ Event_THQS = 1;
+ mes "[Keegan]";
+ mes "Congratulations!";
+ emotion(e_grat);
+ next;
+ mes "[Keegan]";
+ mes "Welcome to the Guild of Treasure Hunters.";
+ mes "You may now take a Treasure Hunting Quest as you see fit.";
+ close;
+ case 2:
+ if (Event_THQS!=1)
+ goto A_NeedReg;
+ mes "[Keegan]";
+ mes "Well "+strcharinfo(0)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there.";
+ close;
+ case 3:
+ if (Event_THQS!=1)
+ goto N_NeedMem;
+ mes "[Keegan]";
+ mes "Yes "+strcharinfo(0)+" I will take you to our shop right away!";
+ next;
+ warp "prt_in",166,171;
+ close;
+ case 4:
+ mes "[Keegan]";
+ mes "Alright come back when you have the free time to spare.";
+ close;
+ }
N_NoZeny:
mes "[Keegan]";
mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(0)+". Please come back when you do.";
close;
-N_HighPrice:
- mes "[Keegan]";
- mes "Well if you can't afford a small ^FF000025,000z^000000 you shouldent be a Treasure Hunter yet.";
- close;
N_AlreadyReg:
mes "[Keegan]";
mes "Ha ha ha...you are already a member.";
close;
-N_NQuest:
- if (Event_THQS!=1) goto A_NeedReg;
- mes "[Keegan]";
- mes "Well "+strcharinfo(0)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there.";
- close;
A_NeedReg:
mes "[Keegan]";
mes "Sorry you must be a member of the Treasure Hunter Guild if you wish to take a quest.";
@@ -65,20 +82,8 @@ A_NeedReg:
mes " ";
mes "You will even have access to our exclusive personal Dungeon.";
close;
-N_OShop:
- if (Event_THQS!=1) goto N_NeedMem;
- mes "[Keegan]";
- mes "Yes "+strcharinfo(0)+" I will take you to our shop right away!";
- next;
- warp "prt_in",166,171;
- close;
- end;
N_NeedMem:
mes "[Keegan]";
mes "Im sorry only members may visit our private shop.";
close;
-N_NVM:
- mes "[Keegan]";
- mes "Alright come back when you have the free time to spare.";
- close;
}
diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt
index eedbcfa5d..606559e74 100644
--- a/npc/custom/quests/thq/THQS_QuestNPC.txt
+++ b/npc/custom/quests/thq/THQS_QuestNPC.txt
@@ -25,11 +25,11 @@ yuno_in01,112,151,6 script Quest Manager 1_M_SIZ,{
mes "Look " +strcharinfo(0)+ ", you can only 1 quest at a time, you should finish the quest unless you have given up.";
mes "Giving up will cost you ^FF00002500z^000000.";
next;
- menu "No, never would I leave a quest!",-,"Yah I'm pathetic... Pay 2500z",N_PayZeny;
- mes "[Guy]";
- mes "Good well get back out there.";
- close;
-N_PayZeny:
+ if (select("No, never would I leave a quest!", "Yah I'm pathetic... Pay 2500z") == 1) {
+ mes("[Guy]");
+ mes("Good well get back out there.");
+ close();
+ }
if (Zeny < 2500) goto N_ZenyFail;
set one_qset, 0;
set two_qset, 0;
@@ -65,7 +65,12 @@ N_NewQuest:
mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
mes "Would you like me to asign you a Quest?";
next;
- menu "Yes I would like a Quest Please.",-,"Sorry Guy no time today.",N_NoTime;
+ if (select("Yes I would like a Quest Please.", "Sorry Guy no time today.") == 2) {
+ mes("[Guy]");
+ mes("Alright maybe next time.");
+ emotion(e_hmm);
+ close;
+ }
mes "[Guy]";
mes "Ok lets see what quest we can give you today.";
@@ -85,12 +90,6 @@ N_NewQuest:
if(@treasure_job==10) goto N_JobList10;
goto N_JobList1; //if(@treasure_job==1)
-N_NoTime:
- mes "[Guy]";
- mes "Alright maybe next time "+strcharinfo(0)+".";
- emotion 20;
- close;
-
N_Signup:
mes "[Guy]";
mes "I'm afraid you must sign up for the guild before you can go on a quest!";
@@ -114,439 +113,437 @@ N_JobList1:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Lost Old Man.",-,"Master needs his Bow.",N_MasterBow,"The Hit List.",N_HitList,"^FF0000The Sad Widow.^000000",N_SadWidow;
- mes "[Guy]";
- mes "^FF0000Lost Old Man^000000";
- mes "^FF0000------------^000000";
- mes "This is an easy and low payed quest.";
- mes " ";
- mes "A wife came in asking us to find his husband, she seems to come in alot asking us to find him over and over again.";
- next;
- mes "[Guy]";
- mes "But he always seems to be around the same place so there isn't much looking involved,check the mountains 1 west and 1 north of prontera.";
- set one_qset,1;
- goto L_QuestGiven;
-
-N_MasterBow:
- mes "[Guy]";
- mes "^FF0000Master needs his Bow^000000";
- mes "^FF0000--------------------^000000";
- mes "This is just a package delivery run, no big deal or anything.";
- mes " ";
- mes "Take this to an archer in the Archer Village outside of Payon.";
- getitem Delivery_Message,1; //Delivery_Box
- set one_qset,2;
- goto L_QuestGiven;
-
-N_HitList:
- mes "[Guy]";
- mes "^FF0000The Hit List^000000";
- mes "^FF0000------------^000000";
- mes "In this quest you get to see some action.";
- mes " ";
- mes "There has been a farmer that keeps having all his crops eaten by ^FF0000Thief Bugs, Porings, and Lunitics^000000 here is a lost of what I need you to do. He is waiting East of Prontera.";
- next;
- mes "[Guy]";
- mes "Ok go to the east and bash those little bastards like there is no tommorow. When you are done with that list you have just discard it, but you will NOT get another one!.";
- set one_qset,3;
- goto L_QuestGiven;
-
-N_SadWidow:
- mes "^FF0000The Sad Widow^000000";
- mes "^FF0000*************^000000";
- mes "This is just another quest with possable well pay.";
- mes " ";
- mes "There is an old Widow in pontera, she recently lost her husband due to a monster attack.She has requested a Guild member to come talk to her at the Pontera Graveyard.";
- set one_qset,4;
- goto L_QuestGiven;
+ switch (select("Lost Old Man.", "Master needs his Bow.", "The Hit List.", "^FF0000The Sad Widow.^000000")) {
+ case 1:
+ mes("[Guy]");
+ mes("^FF0000Lost Old Man^000000");
+ mes("^FF0000------------^000000");
+ mes("This is an easy and low payed quest.");
+ mes(" ");
+ mes("A wife came in asking us to find his husband, she seems to come in alot asking us to find him over and over again.");
+ next();
+ mes("[Guy]");
+ mes("But he always seems to be around the same place so there isn't much looking involved,check the mountains 1 west and 1 north of prontera.");
+ one_qset = 1;
+ break;
+ case 2:
+ mes("[Guy]");
+ mes("^FF0000Master needs his Bow^000000");
+ mes("^FF0000--------------------^000000");
+ mes("This is just a package delivery run, no big deal or anything.");
+ mes(" ");
+ mes("Take this to an archer in the Archer Village outside of Payon.");
+ getitem(Delivery_Message, 1); //Delivery_Box
+ one_qset = 2;
+ break;
+ case 3:
+ mes("[Guy]");
+ mes("^FF0000The Hit List^000000");
+ mes("^FF0000------------^000000");
+ mes("In this quest you get to see some action.");
+ mes(" ");
+ mes("There has been a farmer that keeps having all his crops eaten by ^FF0000Thief Bugs, Porings, and Lunitics^000000 here is a lost of what I need you to do. He is waiting East of Prontera.");
+ next();
+ mes("[Guy]");
+ mes("Ok go to the east and bash those little bastards like there is no tommorow. When you are done with that list you have just discard it, but you will NOT get another one!.");
+ one_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000The Sad Widow^000000");
+ mes("^FF0000*************^000000");
+ mes("This is just another quest with possable well pay.");
+ mes(" ");
+ mes("There is an old Widow in pontera, she recently lost her husband due to a monster attack.She has requested a Guild member to come talk to her at the Pontera Graveyard.");
+ one_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 2///////
N_JobList2:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "The Strange Letter",-,"Jur for Jeramiah",N_JurJeramiah,"Bee Keepers Hunny",N_BeeHunny,"^FF0000The Wander Man^000000",N_WanderMan;
-
- mes "^FF0000The Strange Letter^000000";
- mes "^FF0000------------------^000000";
- mes "I do not know much about this quest.";
- mes " ";
- mes "A strange man came in here yesterday and asked me to deliver this ^FF0000Strange Letter^000000 to some woman in Morroc. Knowing us we do not ask questions so you must take care of this delivery.";
- mes "The Woman is in located in Morroc and her name is Erika.";
- getitem Delivery_Message,1;
- set two_qset, 1;
- goto L_QuestGiven;
-
-N_JurJeramiah:
- mes "^FF0000Jur for Jeramiah^000000";
- mes "^FF0000----------------^000000";
- mes "Standard delivery quest.";
- mes " ";
- mes "Jeramiah ordered a Special Jur from our weapon shop.Your Job is to deliver it to him in the Assasin Temple.";
- getitem 1998,1;
- set two_qset,2;
- goto L_QuestGiven;
-
-N_BeeHunny:
- mes "^FF0000Bee Keepers Hunny^000000";
- mes "^FF0000-----------------^000000";
- mes "Strange man in the marsh need your help.";
- mes " ";
- mes "There is a strange man in the forest in ^FF00001 south and 1 west^000000 of Prontera, he need your help with something.";
- set two_qset,3;
- goto L_QuestGiven;
-
-N_WanderMan:
- mes "^FF0000The Wander Man^000000";
- mes "^FF0000**************^000000";
- mes "There is a woman in Payon that is in desperate for aid.";
- mes " ";
- mes "There is a woman in Payon named Molly please get to her as soon as possable the letter she sent here sounded like someone was killing her.";
- set two_qset,4;
- goto L_QuestGiven;
+ switch (select("The Strange Letter", "Jur for Jeramiah", "Bee Keepers Hunny", "^FF0000The Wander Man^000000")) {
+ case 1:
+ mes("^FF0000The Strange Letter^000000");
+ mes("^FF0000------------------^000000");
+ mes("I do not know much about this quest.");
+ mes(" ");
+ mes("A strange man came in here yesterday and asked me to deliver this ^FF0000Strange Letter^000000 to some woman in Morroc. Knowing us we do not ask questions so you must take care of this delivery.");
+ mes("The Woman is in located in Morroc and her name is Erika.");
+ getitem(Delivery_Message, 1);
+ two_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Jur for Jeramiah^000000");
+ mes("^FF0000----------------^000000");
+ mes("Standard delivery quest.");
+ mes(" ");
+ mes("Jeramiah ordered a Special Jur from our weapon shop.Your Job is to deliver it to him in the Assasin Temple.");
+ getitem(1998, 1);
+ two_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Bee Keepers Hunny^000000");
+ mes("^FF0000-----------------^000000");
+ mes("Strange man in the marsh need your help.");
+ mes(" ");
+ mes("There is a strange man in the forest in ^FF00001 south and 1 west^000000 of Prontera, he need your help with something.");
+ two_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000The Wander Man^000000");
+ mes("^FF0000**************^000000");
+ mes("There is a woman in Payon that is in desperate for aid.");
+ mes(" ");
+ mes("There is a woman in Payon named Molly please get to her as soon as possable the letter she sent here sounded like someone was killing her.");
+ two_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 3///////
N_JobList3:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Damn Pixies!",-,"Package Delivery",N_Delivery1,"Prontera Culvert",N_ProntCulvert,"^FF0000Trouble at the Coal Mine^000000",N_CoalMine;
- mes "^FF0000Damn Pixies!^000000";
- mes "^FF0000------------^000000";
- mes "Have you ever been to Hell?";
- mes " ";
- mes "A man outside of ^FF0000Ant Hell^000000 has requested your audiance, I suggest you hurry.";
- set three_qset,1;
- goto L_QuestGiven;
-
-N_Delivery1:
- mes "^FF0000Package Delivery^000000";
- mes "^FF0000----------------^000000";
- mes "Standard drop off quest.";
- mes " ";
- mes "In this quest you need to deliver a mystery box to someone names ^FF0000Flank at the bridge between Aldebaran and Juno^000000.";
- getitem Merchant_Box_2,1; //Delivery_Box_
- set three_qset,2;
- goto L_QuestGiven;
-
-N_ProntCulvert:
- mes "^FF0000Prontera Culvert^000000";
- mes "^FF0000----------------^000000";
- mes "The bugs,They are everywere!.";
- mes " ";
- mes "The ^FF0000Prontera Culvert^000000 is out of control!Sign up as a volenteer to clean out some of the culvert.";
- next;
- mes "I know it seems like there is no stoping them but however many you kill does makes a differance. After you have signed up, inside the Culvert there will be a Knight that will give you a quest.";
- set three_qset,3;
- goto L_QuestGiven;
-
-N_CoalMine:
- mes "^FF0000Trouble at the Coal Mine^000000";
- mes "^FF0000************************^000000";
- mes "The fun...err...trouble never stops in Rune Midgar.";
- mes " ";
- mes "Recently there was an acident at the coal mines. There was a huge chasm that released some undead Evil Druids.";
- next;
- mes "The Evil Druids started to turn all the workers into the undead. We do not know why, but we do not want to find out, contact a man named Rudolfo outside the Coal Mines.";
- set three_qset,4;
- goto L_QuestGiven;
+ switch (select("Damn Pixies!", "Package Delivery", "Prontera Culvert", "^FF0000Trouble at the Coal Mine^000000")) {
+ case 1:
+ mes("^FF0000Damn Pixies!^000000");
+ mes("^FF0000------------^000000");
+ mes("Have you ever been to Hell?");
+ mes(" ");
+ mes("A man outside of ^FF0000Ant Hell^000000 has requested your audiance, I suggest you hurry.");
+ three_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Package Delivery^000000");
+ mes("^FF0000----------------^000000");
+ mes("Standard drop off quest.");
+ mes(" ");
+ mes("In this quest you need to deliver a mystery box to someone names ^FF0000Flank at the bridge between Aldebaran and Juno^000000.");
+ getitem(Merchant_Box_2, 1); //Delivery_Box_
+ three_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Prontera Culvert^000000");
+ mes("^FF0000----------------^000000");
+ mes("The bugs,They are everywere!.");
+ mes(" ");
+ mes("The ^FF0000Prontera Culvert^000000 is out of control!Sign up as a volenteer to clean out some of the culvert.");
+ next();
+ mes("I know it seems like there is no stoping them but however many you kill does makes a differance. After you have signed up, inside the Culvert there will be a Knight that will give you a quest.");
+ three_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Trouble at the Coal Mine^000000");
+ mes("^FF0000************************^000000");
+ mes("The fun...err...trouble never stops in Rune Midgar.");
+ mes(" ");
+ mes("Recently there was an acident at the coal mines. There was a huge chasm that released some undead Evil Druids.");
+ next();
+ mes("The Evil Druids started to turn all the workers into the undead. We do not know why, but we do not want to find out, contact a man named Rudolfo outside the Coal Mines.");
+ three_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 4///////
N_JobList4:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Zombie Attack",-,"Mystic Wizard",N_MWizard,"Aww shoot!",N_Shoot,"^FF0000Emperium^000000",N_Emp;
- mes "^FF0000Zombie Attack^000000";
- mes "^FF0000-------------^000000";
- mes "The undead have invaded Payon Cave!";
- mes " ";
- mes "I remember when Payon Cave used to be a safe place to visit, but now undead Zombies have infested the cave! Please contact ^FF0000Flora outside on Payon Cave^000000 and aid her.";
- set four_qset,1;
- goto L_QuestGiven;
-
-N_MWizard:
- mes "^FF0000Mystic Wizard^000000";
- mes "^FF0000-------------^000000";
- mes "Proto-type of a Staff must be delivered to Zed the Wizard.";
- mes " ";
- mes "Zed the Wizard has requested to try out a new un-named proto-type staff. It will be your job to deliver this to him. Zed tend to stay within the general area of Juno.";
- getitem 1999,1;
- set four_qset,2;
- goto L_QuestGiven;
-
-N_Shoot:
- mes "^FF0000Aww shoot!^000000";
- mes "^FF0000----------^000000";
- mes "A little girl is in trouble.";
- mes " ";
- mes "There is a little girl in trouble, her name is Dassy and she is ^FF0000east of the prontera fountan^000000.";
- set four_qset,3;
- goto L_QuestGiven;
-
-N_Emp:
- mes "^FF0000Emperium^000000";
- mes "^FF0000********^000000";
- mes "This is a strange quest that I know little about.";
- mes " ";
- mes "Someone in ^FF0000Prontera Guild Hall^000000 has requested to see one of our members, his name is Czhore.";
- set four_qset,4;
- goto L_QuestGiven;
+ switch (select("Zombie Attack", "Mystic Wizard", "Aww shoot!", "^FF0000Emperium^000000")) {
+ case 1:
+ mes("^FF0000Zombie Attack^000000");
+ mes("^FF0000-------------^000000");
+ mes("The undead have invaded Payon Cave!");
+ mes(" ");
+ mes("I remember when Payon Cave used to be a safe place to visit, but now undead Zombies have infested the cave! Please contact ^FF0000Flora outside on Payon Cave^000000 and aid her.");
+ four_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Mystic Wizard^000000");
+ mes("^FF0000-------------^000000");
+ mes("Proto-type of a Staff must be delivered to Zed the Wizard.");
+ mes(" ");
+ mes("Zed the Wizard has requested to try out a new un-named proto-type staff. It will be your job to deliver this to him. Zed tend to stay within the general area of Juno.");
+ getitem(1999, 1);
+ four_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Aww shoot!^000000");
+ mes("^FF0000----------^000000");
+ mes("A little girl is in trouble.");
+ mes(" ");
+ mes("There is a little girl in trouble, her name is Dassy and she is ^FF0000east of the prontera fountan^000000.");
+ four_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Emperium^000000");
+ mes("^FF0000********^000000");
+ mes("This is a strange quest that I know little about.");
+ mes(" ");
+ mes("Someone in ^FF0000Prontera Guild Hall^000000 has requested to see one of our members, his name is Czhore.");
+ four_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 5///////
N_JobList5:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Savage Land",-,"Pyramid's part 1",N_PyrPRT1,"Thinking first",N_Thinkfirst,"^FF0000The not so friendly ghost^000000",N_Ghost;
- mes "^FF0000Savage Land^000000";
- mes "^FF0000-----------^000000";
- mes "Easy for some very hard for others.";
- mes " ";
- mes "A man named Lithin wish's to give you a quest, you can find him north of prontera inside of ^FF0000The Hidden Temple^000000";
- set five_qset,1;
- goto L_QuestGiven;
-
-N_PyrPRT1:
- mes "^FF0000Pyramid's^000000";
- mes "^FF0000---------^000000";
- mes "Its funny cause no one knows how these were really made.";
- mes " ";
- mes "Aperently the Pyramids have are beganing to be infested with undead activity,outside the pyramids a man will be waiting for you. He did no give us his name but he asked for you to hurry.";
- set five_qset,2;
- goto L_QuestGiven;
-
-N_Thinkfirst:
- mes "^FF0000Thinking first^000000";
- mes "^FF0000--------------^000000";
- mes "This sounds like another one of those ditzy girl quests...";
- mes " ";
- mes "Dazzy the local blond around Geffen has asked for you to deliver her these flowers. I don't know why someone would send flowers to herself...";
- getitem Bunch_Of_Flowers,1; //Bouquet
- set five_qset,3;
- goto L_QuestGiven;
-
-N_Ghost:
- mes "^FF0000The not so friendly ghost^000000";
- mes "^FF0000*************************^000000";
- mes "Well no one ever said Casper was nice behind the sceens.";
- mes " ";
- mes "A wizard on the 3rd floor of geffen tower want's to talk to you about the anchient ruins underneath the city.";
- set five_qset,4;
- goto L_QuestGiven;
+ switch (select("Savage Land", "Pyramid's part 1", "Thinking first", "^FF0000The not so friendly ghost^000000")) {
+ case 1:
+ mes("^FF0000Savage Land^000000");
+ mes("^FF0000-----------^000000");
+ mes("Easy for some very hard for others.");
+ mes(" ");
+ mes("A man named Lithin wish's to give you a quest, you can find him north of prontera inside of ^FF0000The Hidden Temple^000000");
+ five_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Pyramid's^000000");
+ mes("^FF0000---------^000000");
+ mes("Its funny cause no one knows how these were really made.");
+ mes(" ");
+ mes("Aperently the Pyramids have are beganing to be infested with undead activity,outside the pyramids a man will be waiting for you. He did no give us his name but he asked for you to hurry.");
+ five_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Thinking first^000000");
+ mes("^FF0000--------------^000000");
+ mes("This sounds like another one of those ditzy girl quests...");
+ mes(" ");
+ mes("Dazzy the local blond around Geffen has asked for you to deliver her these flowers. I don't know why someone would send flowers to herself...");
+ getitem(Bunch_Of_Flowers, 1); //Bouquet
+ five_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000The not so friendly ghost^000000");
+ mes("^FF0000*************************^000000");
+ mes("Well no one ever said Casper was nice behind the sceens.");
+ mes(" ");
+ mes("A wizard on the 3rd floor of geffen tower want's to talk to you about the anchient ruins underneath the city.");
+ five_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 6///////
N_JobList6:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Package for thiefs",-,"Pyramid's part 2",N_PyrPRT2,"Special delivery",N_Delivery2,"^FF0000Geffenia^000000",N_Gef;
- mes "^FF0000Package for thiefs^000000";
- mes "^FF0000------------------^000000";
- mes "How ironic.";
- mes " ";
- mes "Deliver this Box to the Thiefs guild.";
- getitem Merchant_Box_3,1; //Delivery_Box__
- set six_qset,1;
- goto L_QuestGiven;
-
-N_PyrPRT2:
- mes "^FF0000Pyramid's part 2^000000";
- mes "^FF0000----------------^000000";
- mes "More undead action in this triangle!";
- mes " ";
- mes "Talk to a man outside the entrance of the pyramids, he seems to have another quest for you.";
- set six_qset,2;
- goto L_QuestGiven;
-
-N_Delivery2:
- mes "^FF0000Special delivery^000000";
- mes "^FF0000----------------^000000";
- mes "Well most of what we do is run packages, this is no different from other's.";
- mes " ";
- mes "Take this box, DO NOT OPEN IT! To a little girl in Lutie named Chirach she should be around santa.";
- getitem Merchant_Box_3,1; //Delivery_Box__
- set six_qset,3;
- goto L_QuestGiven;
-
-N_Gef:
- mes "^FF0000Geffenia^000000";
- mes "^FF0000********^000000";
- mes "The little children of Geffen have been haveing strange nightmares.";
- mes " ";
- mes "We belive that the ruins underneath geffen are causeing this problem, talk to a Wizard named Zuuzuu inside Geffen Tower for your mission.";
- set six_qset,4;
- goto L_QuestGiven;
+ switch (select("Package for thiefs", "Pyramid's part 2", "Special delivery", "^FF0000Geffenia^000000")) {
+ case 1:
+ mes("^FF0000Package for thiefs^000000");
+ mes("^FF0000------------------^000000");
+ mes("How ironic.");
+ mes(" ");
+ mes("Deliver this Box to the Thiefs guild.");
+ getitem(Merchant_Box_3, 1); //Delivery_Box__
+ six_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Pyramid's part 2^000000");
+ mes("^FF0000----------------^000000");
+ mes("More undead action in this triangle!");
+ mes(" ");
+ mes("Talk to a man outside the entrance of the pyramids, he seems to have another quest for you.");
+ six_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Special delivery^000000");
+ mes("^FF0000----------------^000000");
+ mes("Well most of what we do is run packages, this is no different from other's.");
+ mes(" ");
+ mes("Take this box, DO NOT OPEN IT! To a little girl in Lutie named Chirach she should be around santa.");
+ getitem(Merchant_Box_3, 1); //Delivery_Box__
+ six_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Geffenia^000000");
+ mes("^FF0000********^000000");
+ mes("The little children of Geffen have been haveing strange nightmares.");
+ mes(" ");
+ mes("We belive that the ruins underneath geffen are causeing this problem, talk to a Wizard named Zuuzuu inside Geffen Tower for your mission.");
+ six_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 7///////
N_JobList7:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Apple Juice",-,"Delivery",N_Delivery3,"^FF0000Golden Thief Bug^000000",N_GTB,"^FF0000Evil Pirates^000000",N_EvilPirates;
- mes "^FF0000Apple Juice^000000";
- mes "^FF0000-----------^000000";
- mes "Can't say no to some good apple juice.";
- mes " ";
- mes "There is a little girl up in prontera Square a bit north from the fountain, go talk to her.";
- set seven_qset,1;
- goto L_QuestGiven;
-
-N_Delivery3:
- mes "^FF0000Delivery^000000";
- mes "^FF0000--------^000000";
- mes "So many packages so little time.";
- mes " ";
- mes "Take this box to a man in Alberta named Charles.";
- getitem Merchant_Box_2,1; //Delivery_Box_
- set seven_qset,2;
- goto L_QuestGiven;
-
-N_GTB:
- mes "^FF0000Golden Thief Bug^000000";
- mes "^FF0000****************^000000";
- mes "The prontera Culvert has never been the same...";
- mes " ";
- mes "Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert. Talk to a Knight inside the Culvert.";
- set seven_qset,3;
- goto L_QuestGiven;
-
-N_EvilPirates:
- mes "^FF0000Evil Pirates^000000";
- mes "^FF0000************^000000";
- mes "A ghost ship has washed up on shore on an island outside of Izlude.";
- mes " ";
- mes "A female assasin has a quest for you, she is waiting outside the Ghost Ship.There have been reports of evil undead pirates lurking around inside the ship.";
- set seven_qset,4;
- goto L_QuestGiven;
+ switch (select("Apple Juice", "Delivery", "^FF0000Golden Thief Bug^000000", "^FF0000Evil Pirates^000000")) {
+ case 1:
+ mes("^FF0000Apple Juice^000000");
+ mes("^FF0000-----------^000000");
+ mes("Can't say no to some good apple juice.");
+ mes(" ");
+ mes("There is a little girl up in prontera Square a bit north from the fountain, go talk to her.");
+ seven_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Delivery^000000");
+ mes("^FF0000--------^000000");
+ mes("So many packages so little time.");
+ mes(" ");
+ mes("Take this box to a man in Alberta named Charles.");
+ getitem(Merchant_Box_2, 1); //Delivery_Box_
+ seven_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Golden Thief Bug^000000");
+ mes("^FF0000****************^000000");
+ mes("The prontera Culvert has never been the same...");
+ mes(" ");
+ mes("Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert. Talk to a Knight inside the Culvert.");
+ seven_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Evil Pirates^000000");
+ mes("^FF0000************^000000");
+ mes("A ghost ship has washed up on shore on an island outside of Izlude.");
+ mes(" ");
+ mes("A female assasin has a quest for you, she is waiting outside the Ghost Ship.There have been reports of evil undead pirates lurking around inside the ship.");
+ seven_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 8///////
N_JobList8:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Banana Juice",-,"Another Delivery",N_Delivery4,"My lost beeds",N_LostBeeds,"^FF0000Baphomet!^000000",N_Bapho;
- mes "^FF0000Banana Juice^000000";
- mes "^FF0000------------^000000";
- mes "Sound gross to some good to others.";
- mes " ";
- mes "There is a little girl up in prontera Square a bit north from the fountain, go talk to her.";
- set eight_qset,1;
- goto L_QuestGiven;
-
-N_Delivery4:
- mes "^FF0000Another Delivery^000000";
- mes "^FF0000----------------^000000";
- mes "Well yah box delivering is in high demand,lots of lazy people.";
- mes " ";
- mes "Take this package to a man in Morroc named Klye.";
- getitem Merchant_Box_1,1; //Delivery_Box
- set eight_qset,2;
- goto L_QuestGiven;
-
-N_Bapho:
- mes "^FF0000Baphomet!^000000";
- mes "^FF0000*********^000000";
- mes "Hidden in the Temple he watches and guards.";
- mes " ";
- mes "Rumor has it that a Goat Man is lurking in the Hidden Temple, There is also a man in the Hidden Temple names Zack that needs you help with this Goat Man known as Baphomet.";
- set eight_qset,3;
- goto L_QuestGiven;
-
-N_LostBeeds:
- mes "^FF0000My lost Beeds^000000";
- mes "^FF0000-------------^000000";
- mes "Oh great I smell stupidity...";
- mes " ";
- mes "A little girl in Payon wants to talk to you, her name is Flower, What a stupid name,Hahaha.";
- set eight_qset,4;
- goto L_QuestGiven;
+ switch (select("Banana Juice", "Another Delivery", "^FF0000Baphomet!^000000", "My lost beeds")) {
+ case 1:
+ mes("^FF0000Banana Juice^000000");
+ mes("^FF0000------------^000000");
+ mes("Sound gross to some good to others.");
+ mes(" ");
+ mes("There is a little girl up in prontera Square a bit north from the fountain, go talk to her.");
+ eight_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Another Delivery^000000");
+ mes("^FF0000----------------^000000");
+ mes("Well yah box delivering is in high demand,lots of lazy people.");
+ mes(" ");
+ mes("Take this package to a man in Morroc named Klye.");
+ getitem(Merchant_Box_1, 1); //Delivery_Box
+ eight_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Baphomet!^000000");
+ mes("^FF0000*********^000000");
+ mes("Hidden in the Temple he watches and guards.");
+ mes(" ");
+ mes("Rumor has it that a Goat Man is lurking in the Hidden Temple, There is also a man in the Hidden Temple names Zack that needs you help with this Goat Man known as Baphomet.");
+ eight_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000My lost Beeds^000000");
+ mes("^FF0000-------------^000000");
+ mes("Oh great I smell stupidity...");
+ mes(" ");
+ mes("A little girl in Payon wants to talk to you, her name is Flower, What a stupid name,Hahaha.");
+ eight_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 9///////
N_JobList9:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "Smelly Box",-,"Payon Cave",N_PayonC,"^FF0000Sohee's Everywere!^000000",N_Sohee,"^FF0000Moonlight Flower^000000",N_Moonlight;
- mes "^FF0000Smelly Box^000000";
- mes "^FF0000----------^000000";
- mes "Oh god please get this out of here fast.";
- mes " ";
- mes "Oh man smells like someone died in here.Take this to the Magic School in Geffen and hurry,ahh the smell its burning my eye's!!!";
- getitem Merchant_Box_2,1; //Delivery_Box_
- set nine_qset,1;
- goto L_QuestGiven;
-
-N_Sohee:
- mes "^FF0000Sohee's Everywere!^000000";
- mes "^FF0000******************^000000" ;
- mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
- mes " ";
- mes "Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school.";
- next;
- mes "The strange thing about what happened was that the children inside did not seem to die from the flames.";
- mes "Speak to the little school girl somewere in Payon.";
- set nine_qset,2;
- goto L_QuestGiven;
-
-N_Moonlight:
- mes "^FF0000Moonlight Flower^000000";
- mes "^FF0000****************^000000" ;
- mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
- mes " ";
- mes "Well I don't know much about this, it has to do with the deepest reagions of Payon Cave, We don't know much because no one ever seems to make it back alive.";
- set nine_qset,3;
- goto L_QuestGiven;
-
-N_PayonC:
- mes "^FF0000Payon Cave^000000";
- mes "^FF0000----------^000000" ;
- mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
- mes " ";
- mes "The farther we go into the cave the stranger it gets.";
- set nine_qset,4;
- goto L_QuestGiven;
+ switch (select("Smelly Box", "^FF0000Sohee's Everywere!^000000", "^FF0000Moonlight Flower^000000", "Payon Cave")) {
+ case 1:
+ mes("^FF0000Smelly Box^000000");
+ mes("^FF0000----------^000000");
+ mes("Oh god please get this out of here fast.");
+ mes(" ");
+ mes("Oh man smells like someone died in here.Take this to the Magic School in Geffen and hurry,ahh the smell its burning my eye's!!!");
+ getitem(Merchant_Box_2, 1); //Delivery_Box_
+ nine_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Sohee's Everywere!^000000");
+ mes("^FF0000******************^000000" );
+ mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.");
+ mes(" ");
+ mes("Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school.");
+ next;
+ mes("The strange thing about what happened was that the children inside did not seem to die from the flames.");
+ mes("Speak to the little school girl somewere in Payon.");
+ nine_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Moonlight Flower^000000");
+ mes("^FF0000****************^000000" );
+ mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.");
+ mes(" ");
+ mes("Well I don't know much about this, it has to do with the deepest reagions of Payon Cave, We don't know much because no one ever seems to make it back alive.");
+ nine_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Payon Cave^000000");
+ mes("^FF0000----------^000000" );
+ mes("Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.");
+ mes(" ");
+ mes("The farther we go into the cave the stranger it gets.");
+ nine_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
///////Job list 10///////
N_JobList10:
mes "[Guy]";
mes "Ok you have a couple quests that can be done here.";
next;
- menu "The Blank Box",-,"^FF0000Eddga^000000",N_Eddga,"^FF0000Phreeoni^000000",N_Phreeoni,"^FF0000Maya^000000",N_Maya;
-
- mes "^FF0000The Blank Box^000000";
- mes "^FF0000-------------^000000";
- mes "Package to Morroc";
- mes " ";
- mes "There is nothing writen on this box but a notice to deliver it to a man Kreg.";
- getitem Merchant_Box_2,1; //Delivery_Box_
- set ten_qset,1;
- goto L_QuestGiven;
-
-N_Eddga:
- mes "^FF0000Eddga^000000";
- mes "^FF0000*****^000000";
- mes "Tony the Tiger is on crack and destroying the forest.";
- mes " ";
- mes "Talk to a man outside the 'Hidden' Hunter Guild, He needs your help.";
- set ten_qset,2;
- goto L_QuestGiven;
-
-N_Phreeoni:
- mes "^FF0000Phreeoni^000000";
- mes "^FF0000********^000000";
- mes "He is big and Pink and you run and hide!";
- mes " ";
- mes "This guy just poped into some hole one day, He dosent look that tough but you would be supprised. Talk to a man named Caral outside of Ant Hell.";
- set ten_qset,3;
- goto L_QuestGiven;
-
-N_Maya:
- mes "^FF0000Maya^000000";
- mes "^FF0000****^000000";
- mes "Something scary!";
- mes " ";
- mes "This half naked freak need an army to take down, now its your job, good luck. Meet a girl named Jeni outside of the back entrance to Ant Hell.";
- set ten_qset,4;
- goto L_QuestGiven;
+ switch (select("The Blank Box", "^FF0000Eddga^000000", "^FF0000Phreeoni^000000", "^FF0000Maya^000000")) {
+ case 1:
+ mes("^FF0000The Blank Box^000000");
+ mes("^FF0000-------------^000000");
+ mes("Package to Morroc");
+ mes(" ");
+ mes("There is nothing writen on this box but a notice to deliver it to a man Kreg.");
+ getitem(Merchant_Box_2, 1); //Delivery_Box_
+ ten_qset = 1;
+ break;
+ case 2:
+ mes("^FF0000Eddga^000000");
+ mes("^FF0000*****^000000");
+ mes("Tony the Tiger is on crack and destroying the forest.");
+ mes(" ");
+ mes("Talk to a man outside the 'Hidden' Hunter Guild, He needs your help.");
+ ten_qset = 2;
+ break;
+ case 3:
+ mes("^FF0000Phreeoni^000000");
+ mes("^FF0000********^000000");
+ mes("He is big and Pink and you run and hide!");
+ mes(" ");
+ mes("This guy just poped into some hole one day, He dosent look that tough but you would be supprised. Talk to a man named Caral outside of Ant Hell.");
+ ten_qset = 3;
+ break;
+ case 4:
+ mes("^FF0000Maya^000000");
+ mes("^FF0000****^000000");
+ mes("Something scary!");
+ mes(" ");
+ mes("This half naked freak need an army to take down, now its your job, good luck. Meet a girl named Jeni outside of the back entrance to Ant Hell.");
+ ten_qset = 4;
+ break;
+ }
+ goto(L_QuestGiven);
}
diff --git a/npc/custom/quests/umbalian_language.txt b/npc/custom/quests/umbalian_language.txt
index d0ecb2d29..ba3517879 100644
--- a/npc/custom/quests/umbalian_language.txt
+++ b/npc/custom/quests/umbalian_language.txt
@@ -14,67 +14,60 @@ prontera,145,290,5 script Mason 2_M_SAGE_B,{
if(umb_lang==2 || umb_mason==1) goto L_AGAIN;
mes "Hey there, I came here to Prontera in search of an old lady who can remove cards from slots. Do you know where I can find her?";
- menu "Yes",-, "No",M_NO;
-
+ if (select("Yes", "No") != 1) {
+ mes "Oh.. Ok.. Thanks anyways.";
+ close;
+ }
mes "Oooo, could you please tell me where she's at? I'd be really appreciative.";
- menu "Swordsman Association",-, "Sanctuary",M_Boo1,"Prontera Chivalry",M_Boo2,"Trading Post",M_Boo3,"Kit Shop",M_Boo4,"Inn",M_Boo5,"Armory",M_DONE,"Library",M_Boo6,"Job Agency",M_Boo7,"Prontera Castle",M_Boo8,"City Hall",M_Boo9;
-
- next;
- mes "[Mason]";
- mes "Hmm... I dunno why she would be there... guess I'll take a look.";
- close;
-M_Boo1:
- next;
- mes "[Mason]";
- mes "Wow I never knew she was a religious person... I'll see to it thanks.";
- close;
-M_Boo2:
- next;
- mes "[Mason]";
- mes "Hmm.... are you sure about that?";
- close;
-M_Boo3:
- next;
- mes "[Mason]";
- mes "Why would she need to go there? I think you might be mistaken.";
- close;
-M_Boo4:
- next;
- mes "[Mason]";
- mes "The only thing she'd need at a Kit shop is medicine for her rheumatism. She's probably long gone from there by now.";
- close;
-M_Boo5:
- next;
- mes "[Mason]";
- mes "I don't think she needs to be there, she LIVES here in Prontera.";
- close;
-M_Boo6:
- next;
- mes "[Mason]";
- mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways.";
- close;
-M_Boo7:
- next;
- mes "[Mason]";
- mes "Job Agency? I don't think so. Don't lead me all around Prontera please! She's already a teacher here.";
- close;
-M_Boo8:
- next;
- mes "[Mason]";
- mes "The castle eh, I don't want to step in there... just doesn't feel like my style. I don't like that noble feeling of importance type of thing.";
- close;
-M_Boo9:
- next;
- mes "[Mason]";
- mes "O wow, did she become an important part of Prontera? I'd think she's too busy for me to visit. I'll try again later.";
- close;
-M_DONE:
next;
- mes "[Mason]";
- mes "Ah, I heard that her class was somewhere around there... thanks a lot! Here's a lil something for your help.";
- getitem Rent_Spell_Book,1;//Items: Torn Spell Book,
- set umb_mason,1;
- close;
+ switch (select("Swordsman Association", "Sanctuary", "Prontera Chivalry", "Trading Post", "Kit Shop", "Inn", "Armory", "Library", "Job Agency", "Prontera Castle", "City Hall")) {
+ case 1:
+ mes "[Mason]";
+ mes "Hmm... I dunno why she would be there... guess I'll take a look.";
+ close;
+ case 2:
+ mes "[Mason]";
+ mes "Wow I never knew she was a religious person... I'll see to it thanks.";
+ close;
+ case 3:
+ mes "[Mason]";
+ mes "Hmm.... are you sure about that?";
+ close;
+ case 4:
+ mes "[Mason]";
+ mes "Why would she need to go there? I think you might be mistaken.";
+ close;
+ case 5:
+ mes "[Mason]";
+ mes "The only thing she'd need at a Kit shop is medicine for her rheumatism. She's probably long gone from there by now.";
+ close;
+ case 6:
+ mes "[Mason]";
+ mes "I don't think she needs to be there, she LIVES here in Prontera.";
+ close;
+ case 7:
+ mes "[Mason]";
+ mes "Ah, I heard that her class was somewhere around there... thanks a lot! Here's a lil something for your help.";
+ getitem(Rent_Spell_Book, 1);//Items: Torn Spell Book,
+ umb_mason = 1;
+ close;
+ case 8:
+ mes "[Mason]";
+ mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways.";
+ close;
+ case 9:
+ mes "[Mason]";
+ mes "Job Agency? I don't think so. Don't lead me all around Prontera please! She's already a teacher here.";
+ close;
+ case 10:
+ mes "[Mason]";
+ mes "The castle eh, I don't want to step in there... just doesn't feel like my style. I don't like that noble feeling of importance type of thing.";
+ close;
+ case 11:
+ mes "[Mason]";
+ mes "O wow, did she become an important part of Prontera? I'd think she's too busy for me to visit. I'll try again later.";
+ close;
+ }
L_AGAIN:
emotion e_thx;
@@ -84,9 +77,6 @@ L_AGAIN:
L_NOT_GOT_QUEST:
mes "Hi! I came here to Prontera in search of an old lady... But...";
close;
-M_NO:
- mes "Oh.. Ok.. Thanks anyways.";
- close;
}
aldebaran,153,212,1 script Mojo 2_M_ALCHE,{
@@ -109,8 +99,11 @@ amatsu,267,189,4 script Marie 4_F_ALCHE,{
if(countitem(Poring_Egg)>0 && countitem(Pet_Incubator)>0) goto L_DONE;//Items: Poring Egg, Pet Incubator,
mes "Hello, is there something you need?";
next;
- menu "No nothing at all.",M_NO,"Your teacher sent me.",-;
-
+ if (select("No nothing at all.", "Your teacher sent me.") != 2 ) {
+ mes "[Marie]";
+ mes "Hrrmm okay? Cya then..";
+ close;
+ }
mes "[Marie]";
mes "What does he want from me?";
emotion e_what;
@@ -124,17 +117,17 @@ L_NOT_GOT_QUEST:
mes "Hi! What do you want from me?";
close;
-M_NO:
- mes "[Marie]";
- mes "Hrrmm okay? Cya then..";
- close;
-
L_DONE:
mes "Heyyy there, you have a poring egg and the pet incubator to go with it! Are those for me?";
- menu "Yep!",-, "Sorry, no.",M_DOH;
-
+ if (select("Yep!", "Sorry, no.") != 1) {
+ mes "Oh.. pooo... sigh...";
+ close;
+ }
mes "[Marie]";
- if(countitem(Poring_Egg)==0 && countitem(Pet_Incubator)==0) goto M_DOH;//Items: Poring Egg, Pet Incubator,
+ if (countitem(Poring_Egg) == 0 && countitem(Pet_Incubator) == 0) {
+ mes "Oh.. pooo... sigh...";
+ close;
+ }
mes "Yatta! Here's a lil something in return.";
delitem Poring_Egg,1;//Items: Poring Egg,
delitem Pet_Incubator,1;//Items: Pet Incubator,
@@ -142,10 +135,6 @@ L_DONE:
set umb_marie,1; //got Torn Scroll
close;
-M_DOH:
- mes "Oh.. pooo... sigh...";
- close;
-
L_AGAIN:
emotion e_thx;
mes "Yay! I love Porings!";