Bläddra i källkod

Fixed bugreport:7699
- Incorrect use of 'close' command.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17348 54d463be-8e91-2dee-dedb-b68131a5f0ec

j-tkay 12 år sedan
förälder
incheckning
5aa72eaee3

+ 26 - 52
npc/other/pvp.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= kobra_k88; L0ne_W0lf, Elias (og2)
 //===== Current Version: =====================================
-//= 2.3
+//= 2.4
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -14,6 +14,7 @@
 //= 2.1 Changed PVP Narrator and GateKeeper to Floating NPC [Elias]
 //= 2.2 Some cleaning. [Euphy]
 //= 2.3 Fixed grammatical errors. [Joseph]
+//= 2.4 Fixed incorrect use of 'close' and some cleaning. [Joseph]
 //============================================================
 
 -	script	PVP Narrator::pvpe	-1,{
@@ -144,11 +145,11 @@
 			mes "Position successfully saved...";
 			mes "Thank you very much!";
 			mes "We will see you again soon.";
-				if(strnpcinfo(4) == "morocc_in") { savepoint "morocc_in",141,139; }
-				if(strnpcinfo(4) == "alberta_in") { savepoint "alberta_in",22,148; }
-				if(strnpcinfo(4) == "prt_in") { savepoint "prt_in",54,137; }
-				if(strnpcinfo(4) == "geffen_in") { savepoint "geffen_in",70,59; }
-				if(strnpcinfo(4) == "payon_in01") { savepoint "payon_in01",142,46; }
+			if(strnpcinfo(4) == "morocc_in") { savepoint "morocc_in",141,139; }
+			if(strnpcinfo(4) == "alberta_in") { savepoint "alberta_in",22,148; }
+			if(strnpcinfo(4) == "prt_in") { savepoint "prt_in",54,137; }
+			if(strnpcinfo(4) == "geffen_in") { savepoint "geffen_in",70,59; }
+			if(strnpcinfo(4) == "payon_in01") { savepoint "payon_in01",142,46; }
 			break;
 		case 5:
 			mes "[PVP Narrator]";
@@ -259,13 +260,13 @@ payon_in01,140,53,4	duplicate(gkut)	Gate Keeper#gke5	83
 //Fight square Reception Staff (Locations below)
 -	script	FSRS::fsr	-1,{
 	if(strnpcinfo(4) == "pvp_y_room") {
-		setarray .@Maps$[0],"pvp_y_8-1","pvp_y_8-2","pvp_y_8-3","pvp_y_8-4","pvp_y_8-5";
-		setarray .@Name$[0],"Prontera","Izlude","Payon","Alberta","Morroc";
-		setarray .@Limit[0],128,128,128,128,128;
+		setarray .@Maps$[0],	"pvp_y_8-1",	"pvp_y_8-2",	"pvp_y_8-3",	"pvp_y_8-4",	"pvp_y_8-5";
+		setarray .@Name$[0],	"Prontera",		"Izlude",		"Payon",		"Alberta",		"Morroc";
+		setarray .@Limit[0],	128,			128,			128,			128,			128;
 	} else {
-		setarray .@Maps$[0],"pvp_n_8-1","pvp_n_8-2","pvp_n_8-3","pvp_n_8-4","pvp_n_8-5";
-		setarray .@Name$[0],"Sandwich","Lock on","Four Room","Under cross","Compass Room";
-		setarray .@Limit[0],64,32,32,32,32;
+		setarray .@Maps$[0],	"pvp_n_8-1",	"pvp_n_8-2",	"pvp_n_8-3",	"pvp_n_8-4",	"pvp_n_8-5";
+		setarray .@Name$[0],	"Sandwich",		"Lock on",		"Four Room",	"Under cross",	"Compass Room";
+		setarray .@Limit[0],	64,				32,				32,				32,				32;
 	}
 	for(set .@i,0; .@i<5; set .@i,.@i+1)
 		set .@menu$, .@menu$+.@Name$[.@i]+" ["+getmapusers(.@Maps$[.@i])+" / "+.@Limit[.@i]+"]:";
@@ -275,13 +276,14 @@ payon_in01,140,53,4	duplicate(gkut)	Gate Keeper#gke5	83
 	if (getmapusers(.@Maps$[.@i]) >= .@Limit[.@i]) {
 		mes "[PVP Fight Square Reception Staff]";
 		mes "This map is currently full.";
+		close;
 	}
-	else warp .@Maps$[.@i],0,0;
-	close;
+	warp .@Maps$[.@i],0,0;
+	end;
 
 OnInit:
 	waitingroom "Free for all",0;
-end;
+	end;
 }
 
 //Fight Square Reception Staff
@@ -309,11 +311,10 @@ pvp_room,54,85,4	script	Registration Staff#1	105,{
 		close;
 	}
 
-	if (.pvp_close_n_room == 1 && .pvp_close_s_room == 1 && .pvp_close_w_room == 1 && .pvp_close_e_room == 1) {
-		Set .pvp_close_n_room,0;
-		Set .pvp_close_s_room,0;
-		Set .pvp_close_w_room,0;
-		Set .pvp_close_e_room,0;
+	set .@size, getarraysize(.warp_x);
+	if (.@size == 0) {
+		setarray .warp_x,40,59,20,40;
+		setarray .warp_y,59,40,40,20;
 	}
 
 	if (select("Combat Square one :Cancel") == 1) {
@@ -327,34 +328,11 @@ pvp_room,54,85,4	script	Registration Staff#1	105,{
 			mes "Good luck!";
 			close2;
 			delitem 7028,1; //Invite_For_Duel
-			while(1) {
-				switch(rand(1,4)) {
-				case 1:
-					if (.pvp_close_n_room == 0) {
-						set .pvp_close_n_room,1;
-						warp "pvp_2vs2",40,59;
-						end;
-					}
-				case 2:
-					if (.pvp_close_s_room == 0) {
-						set .pvp_close_s_room,1;
-						warp "pvp_2vs2",59,40;
-						end;
-					}
-				case 3:
-					if (.pvp_close_w_room == 0) {
-						set .pvp_close_w_room,1;
-						warp "pvp_2vs2",20,40;
-						end;
-					}
-				case 4:
-					if (.pvp_close_e_room == 0) {
-						set .pvp_close_e_room,1;
-						warp "pvp_2vs2",40,20;
-						end;
-					}
-				}
-			}
+			set .@rand, rand(.@size);
+			warp "pvp_2vs2", .warp_x[.@rand], .warp_y[.@rand];
+			deletearray .warp_x[.@rand],1;
+			deletearray .warp_y[.@rand],1;
+			end;
 		}
 		mes "[PVP Combat Square Register Staff]";
 		mes "Come back anytime you are ready.";
@@ -363,10 +341,6 @@ pvp_room,54,85,4	script	Registration Staff#1	105,{
 	close;
 
 OnInit:
-	Set .pvp_close_n_room,0;
-	Set .pvp_close_s_room,0;
-	Set .pvp_close_w_room,0;
-	Set .pvp_close_e_room,0;
 	waitingroom "Combat Square players entrance only",0;
 	end;
 }

+ 220 - 264
npc/quests/quests_13_2.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= L0ne_W0lf
 //===== Current Version: =====================================
-//= 2.5
+//= 2.6
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
@@ -44,12 +44,13 @@
 //= 2.4 Optimized (6000+ lines reduced!). [Euphy]
 //= 2.4a Fixed an invisible NPC clashing with a warp portal. [Euphy]
 //= 2.5 Updated EXP rewards.
+//= 2.6 Fixed incorrect use of 'close'. [Joseph]
 //============================================================ 
 
 // Cat Hand Addition.
 //============================================================ 
 spl_fild02,25,211,4	script	Cat Hand Agent#spl	421,{
-function Catwarp;
+	function Catwarp;
 	if (ep13_yong1 < 3) {
 		mes "[Cat Hand Agent]";
 		mes "Welcome to Cat Trading.";
@@ -2941,117 +2942,103 @@ spl_in01,97,313,3	script	Laphine Craftsman#ep13	446,{
 					mes "That should be sufficient for the time being.";
 					close;
 				}
+				mes "[Laphine craftsman]";
+				mes "Thank you for collecting those items for me.";
+				mes "Hopefully you can help us again.";
+				erasequest 7082;
+				close;
+			}
+			set .@alba2,checkquest(7081);
+			if ((.@alba2 == 0) || (.@alba2 == 1)) {
+				if ((countitem(7326) > 14) && (countitem(6075) > 14)) {
+					mes "[Laphine craftsman]";
+					mes "Oh, fantastic.";
+					mes "These are enough materials for today.";
+					mes "I'll let you know if I need more.";
+					delitem 7326,15; //Fluorescent_Liquid
+					delitem 6075,15; //Crystalized_Teardrop
+					erasequest 7081;
+					setquest 7082;
+					getexp 30000,30000;
+					getitem 6081,3; //Splendide_Coin
+					close;
+				}
 				else {
 					mes "[Laphine craftsman]";
-					mes "Thank you for collecting those items for me.";
-					mes "Hopefully you can help us again.";
-					erasequest 7082;
+					mes "What can I help you with?";
+					mes "Not yet done with my request?";
 					close;
 				}
 			}
-			else {
-				set .@alba2,checkquest(7081);
-				if ((.@alba2 == 0) || (.@alba2 == 1)) {
-					if ((countitem(7326) > 14) && (countitem(6075) > 14)) {
-						mes "[Laphine craftsman]";
-						mes "Oh, fantastic.";
-						mes "These are enough materials for today.";
-						mes "I'll let you know if I need more.";
-						delitem 7326,15; //Fluorescent_Liquid
-						delitem 6075,15; //Crystalized_Teardrop
-						erasequest 7081;
-						setquest 7082;
-						getexp 30000,30000;
-						getitem 6081,3; //Splendide_Coin
-						close;
-					}
-					else {
-						mes "[Laphine craftsman]";
-						mes "What can I help you with?";
-						mes "Not yet done with my request?";
-						close;
-					}
-				}
-				else {
+			mes "[Laphine craftsman]";
+			mes "What's up??";
+			mes "I need to make more decorations for the Yai.";
+			next;
+			if (select("May I help you?:What's a Yai?") == 1) {
+				mes "[Laphine craftsman]";
+				mes "You want to help?";
+				mes "This place is being used for battle but it is also our home.";
+				next;
+				mes "[Laphine craftsman]";
+				mes "We prefer to be alone so we must each have our own Yai.";
+				mes "Though we are in a military base we should take care of each Yai.";
+				next;
+				mes "[Laphine craftsman]";
+				mes "I am not a soldier but we hope all of us to be as confident as they are.";
+				mes "I would like to support all Laphine with my skills.";
+				next;
+				mes "[Laphine craftsman]";
+				mes "So I want to help make decorations for everyone's Yai.";
+				mes "I need more materials to make them.";
+				next;
+				mes "[Laphine craftsman]";
+				mes "I heard that a water ghost has been appearing in the cave.";
+				mes "Can you bring me 15 Crystallized Teardrop and 15 Fluorescent Liquid?";
+				next;
+				if (select("Yes.:Sorry.") == 1) {
 					mes "[Laphine craftsman]";
-					mes "What's up??";
-					mes "I need to make more decorations for the Yai.";
-					next;
-					switch(select("May I help you?:What's a Yai?")) {
-					case 1:
-						mes "[Laphine craftsman]";
-						mes "You want to help?";
-						mes "This place is being used for battle but it is also our home.";
-						next;
-						mes "[Laphine craftsman]";
-						mes "We prefer to be alone so we must each have our own Yai.";
-						mes "Though we are in a military base we should take care of each Yai.";
-						next;
-						mes "[Laphine craftsman]";
-						mes "I am not a soldier but we hope all of us to be as confident as they are.";
-						mes "I would like to support all Laphine with my skills.";
-						next;
-						mes "[Laphine craftsman]";
-						mes "So I want to help make decorations for everyone's Yai.";
-						mes "I need more materials to make them.";
-						next;
-						mes "[Laphine craftsman]";
-						mes "I heard that a water ghost has been appearing in the cave.";
-						mes "Can you bring me 15 Crystallized Teardrop and 15 Fluorescent Liquid?";
-						next;
-						switch(select("Yes.:Sorry.")) {
-						case 1:
-							mes "[Laphine craftsman]";
-							mes "Please take my request.";
-							mes "Can you bring me 15 Crystallized Teardrop and 15 Fluorescent Liquid?";
-							setquest 7081;
-							close;
-						case 2:
-							mes "[Laphine craftsman]";
-							mes "Yes, I'm sure that you have your own business to attend to.";
-							mes "I feel embarrassed asking a favor from you, as a Laphine.";
-							next;
-							mes "[Laphine craftsman]";
-							mes "But, why are you trying to be involved in our business yet you won't take up our request?";
-							close;
-						}
-					case 2:
-						mes "[Laphine craftsman]";
-						mes "Yai...";
-						mes "All grown Laphine have one.";
-						mes "They're essential for all Laphine to live in since we are very private people.";
-						next;
-						select("It's a house...?");
-						mes "[Laphine craftsman]";
-						mes "Yes...";
-						mes "That's it. We sometimes invite our friends or guests to our Yai.";
-						mes "And decorations for Yai are quite important to us...";
-						next;
-						mes "[Laphine craftsman]";
-						mes "We Laphine care about ourselves and our Yai as well.";
-						next;
-						mes "[Laphine craftsman]";
-						mes "We are far away from our hometown now...";
-						mes "If we don't have this kind of hobby, there's nothing to enjoy here.";
-						close;
-					}
+					mes "Please take my request.";
+					mes "Can you bring me 15 Crystallized Teardrop and 15 Fluorescent Liquid?";
+					setquest 7081;
+					close;
 				}
+				mes "[Laphine craftsman]";
+				mes "Yes, I'm sure that you have your own business to attend to.";
+				mes "I feel embarrassed asking a favor from you, as a Laphine.";
+				next;
+				mes "[Laphine craftsman]";
+				mes "But, why are you trying to be involved in our business yet you won't take up our request?";
+				close;
 			}
-		}
-		else {
 			mes "[Laphine craftsman]";
-			mes "Hm? Oh, can't you see I'm busy?";
-			mes "I'm making ornaments though, if you must know.";
+			mes "Yai...";
+			mes "All grown Laphine have one.";
+			mes "They're essential for all Laphine to live in since we are very private people.";
+			next;
+			select("It's a house...?");
+			mes "[Laphine craftsman]";
+			mes "Yes...";
+			mes "That's it. We sometimes invite our friends or guests to our Yai.";
+			mes "And decorations for Yai are quite important to us...";
+			next;
+			mes "[Laphine craftsman]";
+			mes "We Laphine care about ourselves and our Yai as well.";
+			next;
+			mes "[Laphine craftsman]";
+			mes "We are far away from our hometown now...";
+			mes "If we don't have this kind of hobby, there's nothing to enjoy here.";
 			close;
 		}
-	}
-	else {
 		mes "[Laphine craftsman]";
-		mes "Yur,Dur AnoVa?";
-		mes "Wha? Dieb OsaDur .. ";
-		mes "ah..RuffThus NeAsh. man nesAsh OdesAlah ?";
+		mes "Hm? Oh, can't you see I'm busy?";
+		mes "I'm making ornaments though, if you must know.";
 		close;
 	}
+	mes "[Laphine craftsman]";
+	mes "Yur,Dur AnoVa?";
+	mes "Wha? Dieb OsaDur .. ";
+	mes "ah..RuffThus NeAsh. man nesAsh OdesAlah ?";
+	close;
 }
 
 mid_camp,146,306,3	script	Pet Breeder#ep13_eden01	982,{
@@ -3105,166 +3092,142 @@ mid_camp,146,306,3	script	Pet Breeder#ep13_eden01	982,{
 		mes "- They just continue to argue -";
 		close;
 	}
-	else {
-		mes "[Pinedel]";
-		mes "Ah, Taab isn't flexible at all.";
-		mes "Hey there! What's up??";
-		next;
-		switch(select("Notice for criminal report:Cute pet investigation.")) {
-		case 1:
-			if (ep13_2_wanted == 1) {
-				if (checkquest(7076,HUNTING) == 2) {
-					mes "[Pinedel]";
-					mes "Have you hunted the Runaway Dandelion?";
-					mes "Ok, I accept you.";
-					mes "Here's something Rin was storing here.";
-					next;
-					mes "[Pinedel]";
-					mes "This is Rin's cherished treasure box...";
-					mes "This is enough payment, right?";
-					completequest 7076;
-					set ep13_2_wanted,2;
-					getitem 7444,1; //Treasure_Box
-					close;
-				}
-				else {
-					mes "[Pinedel]";
-					mes "I know you haven't terminated the Runaway Dandelion yet.";
-					mes "Don't take me for a fool.";
-					close;
-				}
-			}
-			else if (ep13_2_wanted == 2) {
+	mes "[Pinedel]";
+	mes "Ah, Taab isn't flexible at all.";
+	mes "Hey there! What's up??";
+	next;
+	if (select("Notice for criminal report:Cute pet investigation.") == 1) {
+		if (ep13_2_wanted == 1) {
+			if (checkquest(7076,HUNTING) == 2) {
 				mes "[Pinedel]";
-				mes "I will forward everything to Rin.";
-				mes "She'll love it.";
-				mes "Just tell her your name " + strcharinfo(0) + ".";
+				mes "Have you hunted the Runaway Dandelion?";
+				mes "Ok, I accept you.";
+				mes "Here's something Rin was storing here.";
 				next;
 				mes "[Pinedel]";
-				mes "I can remember that I've heard about you from Rin.";
-				mes "But Rin likes you, so that must mean that you're nice.";
+				mes "This is Rin's cherished treasure box...";
+				mes "This is enough payment, right?";
+				completequest 7076;
+				set ep13_2_wanted,2;
+				getitem 7444,1; //Treasure_Box
 				close;
 			}
-			else {
-				mes "[Pinedel]";
-				mes "Seaching for a criminal?";
-				mes "I'm not sure that you're involved in it.";
-				close;
-			}
-		case 2:
-			if (ep13_2_dayegg == 1) {
-				if (countitem(6093) > 9) {
-					mes "[Pinedel]";
-					mes "Oh! Nice!";
-					mes "I can go through this study deeper with your assistance.";
-					next;
-					mes "[Pinedel]";
-					mes "I will try to make these Dragon eggs into cute pets.";
-					mes "Don't expect much!";
-					mes "Come back after a day to check on the progress.";
-					delitem 6093,10; //Egg_Of_Draco
-					erasequest 7077;
-					setquest 7078;
-					set ep13_2_dayegg,2;
-					getexp 40000,40000;
-					getitem 6081,1; //Splendide_Coin
-					getitem 6080,1; //Manuk_Coin
-					close;
-				}
-				else {
-					mes "[Pinedel]";
-					mes "Draco was being kept in the nest just before hatching. Please collect 10 Dragon eggs for me.";
-					mes "You know, those are hard to hatch in captivity.";
-					close;
-				}
-			}
-			else if (ep13_2_dayegg == 2) {
-				set .@alba_check,checkquest(7078,PLAYTIME);
-				if (.@alba_check == -1) {
-					mes "[Pinedel]";
-					mes "Those eggs are about to hatch now.";
-					mes "I will investigate those back home.";
-					close2;
-					erasequest 7078;
-					set ep13_2_dayegg,3;
-					end;
-				}
-				else if ((.@alba_check == 0) || (.@alba_check == 1)) {
-					mes "[Pinedel]";
-					mes "Those eggs are about to hatch now.";
-					mes "I will investigate those back home.";
-					mes "For now I still need more time.";
-					next;
-					mes "[Pinedel]";
-					mes "Can you come back here tomorrow?";
-					close;
-				}
-				else if (.@alba_check == 2) {
-					mes "[Pinedel]";
-					mes "Those eggs are about to hatch now.";
-					mes "I will investigate those back home.";
-					close2;
-					erasequest 7078;
-					set ep13_2_dayegg,3;
-					close;
-				}
-			}
-			else if (ep13_2_dayegg == 3) {
-				mes "[Pinedel]";
-				mes "Do you want to help me gather more Dragon eggs today?";
-				mes "I want to try many things with those eggs.";
-				next;
-				switch(select("Sure.:Sorry, I can't.")) {
-				case 1:
-					mes "[Pinedel]";
-					mes "Please collect 10 Draco Eggs.";
-					set ep13_2_dayegg,1;
-					setquest 7077;
-					close;
-				case 2:
-					mes "[Pinedel]";
-					mes "Ok. You have your own business here.";
-					mes "Go ahead.";
-					close;
-				}
-			}
-			else {
-				mes "[Pinedel]";
-				mes "I am investigating cute pets.";
-				mes "Ash-vacuum has several monsters that I think could become cute pets.";
-				next;
-				mes "[Pinedel]";
-				mes "The objective is one Dragon egg!";
-				mes "Can you bring me a Dragon Egg?";
-				next;
-				switch(select("Yes.:Nope.")) {
-				case 1:
-					mes "[Pinedel]";
-					mes "There would be Dragon nest in the cave you found out.";
-					mes "There should be nice Dragon Eggs.";
-					next;
-					mes "[Pinedel]";
-					mes "Please collect 10 Draco Eggs.";
-					mes "Let's work together to make them as pets.";
-					set ep13_2_dayegg,1;
-					setquest 7077;
-					close;
-				case 2:
-					mes "[Pinedel]";
-					mes "I know it's not the easiest task.";
-					mes "But I refuse to give up.";
-					mes "I will make it into a cute pet someday.";
-					next;
-					mes "[Taab]";
-					mes "Would you just give up making exogamous beings into cute pets...";
-					mes " ";
-					mes "[Pinedel]";
-					mes "Taab doesn't have any guts!";
-					close;
-				}
-			}
+			mes "[Pinedel]";
+			mes "I know you haven't terminated the Runaway Dandelion yet.";
+			mes "Don't take me for a fool.";
+			close;
 		}
+		else if (ep13_2_wanted == 2) {
+			mes "[Pinedel]";
+			mes "I will forward everything to Rin.";
+			mes "She'll love it.";
+			mes "Just tell her your name " + strcharinfo(0) + ".";
+			next;
+			mes "[Pinedel]";
+			mes "I can remember that I've heard about you from Rin.";
+			mes "But Rin likes you, so that must mean that you're nice.";
+			close;
+		}
+		mes "[Pinedel]";
+		mes "Seaching for a criminal?";
+		mes "I'm not sure that you're involved in it.";
+		close;
 	}
+	if (ep13_2_dayegg == 1) {
+		if (countitem(6093) > 9) {
+			mes "[Pinedel]";
+			mes "Oh! Nice!";
+			mes "I can go through this study deeper with your assistance.";
+			next;
+			mes "[Pinedel]";
+			mes "I will try to make these Dragon eggs into cute pets.";
+			mes "Don't expect much!";
+			mes "Come back after a day to check on the progress.";
+			delitem 6093,10; //Egg_Of_Draco
+			erasequest 7077;
+			setquest 7078;
+			set ep13_2_dayegg,2;
+			getexp 40000,40000;
+			getitem 6081,1; //Splendide_Coin
+			getitem 6080,1; //Manuk_Coin
+			close;
+		}
+		mes "[Pinedel]";
+		mes "Draco was being kept in the nest just before hatching. Please collect 10 Dragon eggs for me.";
+		mes "You know, those are hard to hatch in captivity.";
+		close;
+	}
+	else if (ep13_2_dayegg == 2) {
+		mes "[Pinedel]";
+		mes "Those eggs are about to hatch now.";
+		mes "I will investigate those back home.";
+		set .@alba_check,checkquest(7078,PLAYTIME);
+		if (.@alba_check == -1) {
+			close2;
+			erasequest 7078;
+			set ep13_2_dayegg,3;
+			end;
+		}
+		else if ((.@alba_check == 0) || (.@alba_check == 1)) {
+			mes "For now I still need more time.";
+			next;
+			mes "[Pinedel]";
+			mes "Can you come back here tomorrow?";
+			close;
+		}
+		close2;
+		erasequest 7078;
+		set ep13_2_dayegg,3;
+		end;
+	}
+	else if (ep13_2_dayegg == 3) {
+		mes "[Pinedel]";
+		mes "Do you want to help me gather more Dragon eggs today?";
+		mes "I want to try many things with those eggs.";
+		next;
+		if (select("Sure.:Sorry, I can't.") == 1) {
+			mes "[Pinedel]";
+			mes "Please collect 10 Draco Eggs.";
+			set ep13_2_dayegg,1;
+			setquest 7077;
+			close;
+		}
+		mes "[Pinedel]";
+		mes "Ok. You have your own business here.";
+		mes "Go ahead.";
+		close;
+	}
+	mes "[Pinedel]";
+	mes "I am investigating cute pets.";
+	mes "Ash-vacuum has several monsters that I think could become cute pets.";
+	next;
+	mes "[Pinedel]";
+	mes "The objective is one Dragon egg!";
+	mes "Can you bring me a Dragon Egg?";
+	next;
+	if (select("Yes.:Nope.") == 1) {
+		mes "[Pinedel]";
+		mes "There would be Dragon nest in the cave you found out.";
+		mes "There should be nice Dragon Eggs.";
+		next;
+		mes "[Pinedel]";
+		mes "Please collect 10 Draco Eggs.";
+		mes "Let's work together to make them as pets.";
+		set ep13_2_dayegg,1;
+		setquest 7077;
+		close;
+	}
+	mes "[Pinedel]";
+	mes "I know it's not the easiest task.";
+	mes "But I refuse to give up.";
+	mes "I will make it into a cute pet someday.";
+	next;
+	mes "[Taab]";
+	mes "Would you just give up making exogamous beings into cute pets...";
+	mes " ";
+	mes "[Pinedel]";
+	mes "Taab doesn't have any guts!";
+	close;
 }
 
 mid_camp,192,239,4	script	Wanted Sign#ep13_2ect01	857,{
@@ -3292,27 +3255,20 @@ mid_camp,192,239,4	script	Wanted Sign#ep13_2ect01	857,{
 		next;
 		if (ep13_2_wanted == 0) {
 			mes "Do you accept Rin's request?";
-			switch(select("I accept that request.:No, I can't.")) {
-			case 1:
+			if (select("I accept that request.:No, I can't.") == 1) {
 				mes "I accepted Rin's request.";
 				set ep13_2_wanted,1;
 				setquest 7076;
 				close;
-			
-			case 2:
-				mes "No, I won't get involved in it.";
-				close;
 			}
-		}
-		else {
-			mes "I've already decided to take the request.";
+			mes "No, I won't get involved in it.";
 			close;
 		}
-	}
-	else {
-		mes "There must be someone who remove the wanted notice paper.";
+		mes "I've already decided to take the request.";
 		close;
 	}
+	mes "There must be someone who remove the wanted notice paper.";
+	close;
 }
 
 -	script	Dragon Egg#ep13_degg_0	-1,{

+ 4 - 2
npc/quests/quests_lighthalzen.txt

@@ -4,7 +4,7 @@
 //= Persian, Vicious_Pucca, aoa00, Evera, MasterOfMupppets,
 //= Lupus, Lord Gywall
 //===== Current Version: ===================================== 
-//= 4.8
+//= 4.9
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -78,6 +78,7 @@
 //=     - Cursed Spirit Quest
 //= 4.7 Fixed missing label. (bugreport:4654) [L0ne_W0lf]
 //= 4.8 Fixed Cursed Spirit Quest EXP reward. [Euphy]
+//= 4.9 Fixed incorrect use of 'close'. [Joseph]
 //============================================================ 
 
 // Gangster Alert [Official Conversion]
@@ -5277,8 +5278,9 @@ OnTouch_:
 			getexp 1500000,800000;
 		else if (BaseLevel > 89)
 			getexp 2000000,1000000;
+		close;
 	}
-	close;
+	end;
 }
 
 lhz_in01,114,181,5	script	Representative#li_01	71,{

+ 68 - 70
npc/quests/quests_moscovia.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Kisuka
 //===== Current Version: ===================================== 
-//= 2.0b
+//= 2.1
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -24,6 +24,7 @@
 //= 2.0 Optimized. [Joseph]
 //= 2.0a Bug fixes. [Euphy]
 //= 2.0b Bug fixes. [Lemongrass]
+//= 2.1 Fixed incorrect use of 'close'. [Joseph]
 //============================================================ 
 
 //============================================================================
@@ -8630,84 +8631,81 @@ mosk_fild02,101,200,0	duplicate(NoSwim)	Caution#rus02	837
 mosk_fild02,116,202,3	script	Lusalka#07russai_22	-1,3,3,{
 	end;
 OnTouch:
-	if (rhea_rus_main < 8) {
-		emotion 1,1;
-		close;
-	} else if (rhea_rus_main == 8) {
-		if (rhea_rus_hair == 2) {
-			if (gettime(3)>=23 || gettime(3)<=5) {
-				mes "- Splash !! -";
-				next;
-				if (countitem(523) > 0) {
-					mes "- You hear a splashing sound -";
-					mes "- and see something gleaming -";
-					donpcevent "Lusalka#rus23::OnEnable";
-					close;
-				}
-				mes "- You hear a splashing as -";
-				mes "- something gleaming -";
-				mes "- seems to stare at you!! -";
-				next;
-				specialeffect2 EF_FLASHER;
-				percentheal -100,0;
+	if (rhea_rus_main != 8) {
+		emotion e_what,1;
+		end;
+	}
+	if (rhea_rus_hair == 2) {
+		if (gettime(3)>=23 || gettime(3)<=5) {
+			mes "- Splash !! -";
+			next;
+			if (countitem(523) > 0) {
+				mes "- You hear a splashing sound -";
+				mes "- and see something gleaming -";
+				donpcevent "Lusalka#rus23::OnEnable";
 				close;
 			}
-		} else if (rhea_rus_hair > 2 && rhea_rus_hair < 7) {
-			mes "[Lusalka's Voice]";
-			mes "His name is 'Igor'.. He has gone to the capital of Rune Midgarts. Give him my golden earrings.";
+			mes "- You hear a splashing as -";
+			mes "- something gleaming -";
+			mes "- seems to stare at you!! -";
 			next;
-			mes "[Lusalka's Voice]";
-			mes "And please, tell him to stop suffering and to be happy. This is my request.";
+			specialeffect2 EF_FLASHER;
+			percentheal -100,0;
 			close;
-		} else if (rhea_rus_hair == 7) {
-			if (gettime(3)>=23 || gettime(3)<=5) {
-				mes "- Splash !! -";
-				next;
-				if (countitem(523) > 0) {
-					mes "-You hear splashing sound and see something gleaming-";
-					donpcevent "Lusalka#rus23::OnEnable";
-					close;
-				}
-				mes "-You seem to hear the splash but something gleaming raids on you!!-";
-				specialeffect2 EF_FLASHER;
-				percentheal -100,0;
+		}
+	} else if (rhea_rus_hair > 2 && rhea_rus_hair < 7) {
+		mes "[Lusalka's Voice]";
+		mes "His name is 'Igor'.. He has gone to the capital of Rune Midgarts. Give him my golden earrings.";
+		next;
+		mes "[Lusalka's Voice]";
+		mes "And please, tell him to stop suffering and to be happy. This is my request.";
+		close;
+	} else if (rhea_rus_hair == 7) {
+		if (gettime(3)>=23 || gettime(3)<=5) {
+			mes "- Splash !! -";
+			next;
+			if (countitem(523) > 0) {
+				mes "-You hear splashing sound and see something gleaming-";
+				donpcevent "Lusalka#rus23::OnEnable";
 				close;
 			}
-		} else if (rhea_rus_hair == 8) {
-			mes "["+ strcharinfo(0) +"]";
-			mes "What was that?!";
-			mes "Why am I here?";
-			next;
-			mes "- After standing up, you see -";
-			mes "- the wet hair in front of you -";
-			next;
-			mes "["+ strcharinfo(0) +"]";
-			mes "...This.. is Lusalka's hair?";
-			mes "Ah, right.. I came here to get her hair.";
-			next;
-			mes "- You pick up the hair -";
-			next;
-			mes "- As soon as you touch the -";
-			mes "- cool damp hair, you seem -";
-			mes "- the feel the sadness within -";
-			set rhea_rus_hair,9;
-			getitem 7878,2;
-			close;
-		} else if (rhea_rus_hair > 8) {
-			mes "- You feel that someone -";
-			mes "- is watching you -";
-			next;
-			mes "["+ strcharinfo(0) +"]";
-			mes "Who's there? Anybody here?";
-			next;
-			mes "- The splashing sound -";
-			mes "- fades away, but you -";
-			mes "- still feel the sadness -";
+			mes "-You seem to hear the splash but something gleaming raids on you!!-";
+			specialeffect2 EF_FLASHER;
+			percentheal -100,0;
 			close;
 		}
+	} else if (rhea_rus_hair == 8) {
+		mes "["+ strcharinfo(0) +"]";
+		mes "What was that?!";
+		mes "Why am I here?";
+		next;
+		mes "- After standing up, you see -";
+		mes "- the wet hair in front of you -";
+		next;
+		mes "["+ strcharinfo(0) +"]";
+		mes "...This.. is Lusalka's hair?";
+		mes "Ah, right.. I came here to get her hair.";
+		next;
+		mes "- You pick up the hair -";
+		next;
+		mes "- As soon as you touch the -";
+		mes "- cool damp hair, you seem -";
+		mes "- the feel the sadness within -";
+		set rhea_rus_hair,9;
+		getitem 7878,2;
+		close;
+	} else if (rhea_rus_hair > 8) {
+		mes "- You feel that someone -";
+		mes "- is watching you -";
+		next;
+		mes "["+ strcharinfo(0) +"]";
+		mes "Who's there? Anybody here?";
+		next;
+		mes "- The splashing sound -";
+		mes "- fades away, but you -";
+		mes "- still feel the sadness -";
+		close;
 	}
-	emotion 1,1;
-	close;
 }
 
 //----------------------------------------------------------------------------

+ 10 - 10
npc/quests/quests_veins.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= L0ne_W0lf
 //===== Current Version: ===================================== 
-//= 2.2
+//= 2.3
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -46,6 +46,7 @@
 //= 2.0 Removed level requirement. (bugreport:4678) [L0ne_W0lf]
 //= 2.1 Added missing changequest (3071-3076). [Joseph]
 //= 2.2 Moved "Wincing Old Man" to pre-re/re coordinates. [Euphy]
+//= 2.3 Fixed incorrect use of 'close'. [Joseph]
 //============================================================ 
 
 // Stone Quest
@@ -5180,14 +5181,12 @@ ra_temin,87,133,1	script	Rachel Guard#vol1	934,5,2,{
 		disablenpc "Rachel Guard#vol1";
 		end;
 	}
-	else {
-		mes "[Guard Karlum]";
-		mes "High Priest Vildt isn't";
-		mes "here right now. Please";
-		mes "come back later if you";
-		mes "wish to see him.";
-		close;
-	}
+	mes "[Guard Karlum]";
+	mes "High Priest Vildt isn't";
+	mes "here right now. Please";
+	mes "come back later if you";
+	mes "wish to see him.";
+	close;
 
 OnInit:
 	enablenpc "Rachel Guard#vol1";
@@ -5195,7 +5194,7 @@ OnInit:
 
 OnTouch:
 	warp "ra_temin",85,137;
-	close;
+	end;
 }
 
 ra_temin,82,133,7	script	Rachel Guard#vol2	934,5,2,{
@@ -7131,6 +7130,7 @@ thor_camp,156,57,3	duplicate(VeinsDummy)	Dummy#5	111
 thor_camp,162,57,3	duplicate(VeinsDummy)	Dummy#6	111
 
 thor_camp,248,104,5	script	Aitra#vol	939,{
+	end;
 OnInit:
 	disablenpc "Aitra#vol";
 	end;

+ 5 - 5
npc/re/instances/MalangdoCulvert.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Euphy
 //===== Current Version: ===================================== 
-//= 1.0a
+//= 1.0b
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
@@ -15,6 +15,7 @@
 //= 1.0 First version. [Euphy]
 //=     Letters "n" and "h" in NPC names indicate difficulty.
 //= 1.0a There is no minimum party size on official servers.
+//= 1.0b Fixed incorrect use of 'close'. [Joseph]
 //============================================================ 
 
 // Quest NPCs
@@ -461,11 +462,10 @@ mal_in01,160,34,4	script	Missing, the Cleaner	545,{
 			case 3:
 				goto L_Enter;
 			}
-		} else {
-			if(select("Enter Culvert:Cancel") == 2)
-				close;
-			goto L_Enter;
 		}
+		if(select("Enter Culvert:Cancel") == 2)
+			end;
+		goto L_Enter;
 	} else if (.@playtime == 0 || .@playtime == 1) {
 		mes "You can enter the Culvert if the gate is open.";
 		next;