Jelajahi Sumber

- Updated Narrators/GateKeepers, etc.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15800 54d463be-8e91-2dee-dedb-b68131a5f0ec
og2 13 tahun lalu
induk
melakukan
3e0f2eb8e7
1 mengubah file dengan 331 tambahan dan 347 penghapusan
  1. 331 347
      npc/other/pvp.txt

+ 331 - 347
npc/other/pvp.txt

@@ -1,37 +1,188 @@
 //===== rAthena Script ======================================= 
 //= PvP NPCs
-//===== By: ================================================== 
-//= kobra_k88; L0ne_W0lf
-//===== Current Version: ===================================== 
-//= 1.5
-//===== Compatible With: ===================================== 
+//===== By: ==================================================
+//= kobra_k88; L0ne_W0lf, Elias (og2)
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
 //= rAthena SVN
-//===== Description: ========================================= 
-//= [Aegis Conversion]
+//===== Description: =========================================
 //= PvP NPCs that are found in the Inns in major cities.
 //= Includes Yoyo Mode, Nightmare Mode, and Event Mode
-//=
-//= Breakdown of function "F_PVPNarrator"
-//= arg(0): Map to save player on
-//= arg(1): X position on getarg(0) map to save player
-//= arg(2): Y position on getarg(0) map to save player
 //===== Additional Comments: ================================= 
 //= 1.1 Fixed arena names for Nightmare mode.  Added room limit
 //= 	check.[kobra_k88]
 //= 1.2 Fixed the bug that you aways savepoint in geffen.[shadowlady]
 //= 1.2a Added PvP Narrator function. Using args for Fight
 //= 	Square Helpers. [kobra_k88]
-//= 1.3 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
+//= 1.3 Rescripted to the official 10.3 standards. [L0ne_W0lf]
 //=	Removed all receptioned for Yoyo mode, with the
 //=	exception of the "Free for all" mode.
 //=	Added PVP event NPCs.
 //= 1.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
 //= 1.5 Duplicates now spawn from floating NPCs. [L0ne_W0lf]
-//============================================================ 
+//= 1.6 Narrators/GateKeepers,etc. Translated from the Official 2011 [Elias]
+//============================================================
+morocc_in,144,138,4	script	PVP Narrator::pvpe	84,{
+	mes "[PVP Narrator]";
+	mes "Hello and welcome!";
+	mes "I am in charge of";
+	mes "explaining the PVP Mode.";
+	mes "I am the PVP Narrator!";
+	next;
+	switch(select("What is PVP?","What are the PVP Modes?","What are the rules for PVP?","Save Position.","End Dialog."))
+	{
+		case 1:
+			mes "[PVP Narrator]";
+			mes "In short form";
+			mes "PVP means,";
+			mes "' Player VS Player Mode '";
+			mes "It's a unique place for people";
+			mes "To duel with each other.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Just tell the";
+			mes "^3355FFGate Keeper^000000";
+			mes "That you want to try. He will";
+			mes "let you into the PVP square.";
+			next;
+			mes "[PVP Narrator]";
+			mes "But, You need to be at";
+			mes "least level 31. And you";
+			mes "must pay the 500 zeny";
+			mes "entrance fee in order to";
+			mes "To enter a PVP Fight Square.";
+		break;
+		case 2:
+			mes "[PVP Narrator]";
+			mes "When you are qualified, You";
+			mes "can choose one of two Modes.";
+			mes "Yoyo Mode, Or";
+			mes "Nightmare Mode.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Yoyo Mode is risk free.";
+			mes "You can experience PVP";
+			mes "without any restriction or";
+			mes "punishment. It is recommended";
+			mes "that you practice your skills";
+			mes "here before you move on.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Nightmare Mode is very";
+			mes "dangerous! Please use caution.";
+			mes "You will lose some of your real";
+			mes "EXP when you are defeated. And";
+			mes "There is a small chance that";
+			mes "you will drop some equipment.";
+			next;
+			mes "[PVP Narrator]";
+			mes "However, if you win, the";
+			mes "rewards can be great!";
+			mes "To avoid misunderstanding.";
+			mes "You should think it over";
+			mes "twice before you go there...";
+			mes "Good Luck!";
+		break;
+		case 3:
+			mes "[PVP Narrator]";
+			mes "Each of the Fight squares";
+			mes "have a row of Narrators to";
+			mes "choose from based on your";
+			mes "qualifications.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Each Narrator will ask";
+			mes "which of the five PVP maps";
+			mes "you wish to go to.";
+			mes "Choose, and go in!";
+			next;
+			mes "[PVP Narrator]";
+			mes "Each map has a limitation on";
+			mes "the number of people who can";
+			mes "participate. So you will see";
+			mes "figures in the corner showing";
+			mes "'Attendee/total'.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Also, there is a hidden EXP";
+			mes "value in PVP mode. This EXP";
+			mes "score will only apply inside";
+			mes "of the PVP zone, so do not";
+			mes "worry.";
+			next;
+			mes "[PVP Narrator]";
+			mes "Every player's EXP at the";
+			mes "beginning is usually 5 points.";
+			mes "If you win, you will";
+			mes "increse your EXP by 1 point";
+			next;
+			mes "[PVP Narrator]";
+			mes "In the same way, when you";
+			mes "lose... Your EXP will";
+			mes "drop by 5 points.";
+			mes "So be careful!";
+			next;
+			mes "[PVP Narrator]";
+			mes "When you are defeated";
+			mes "And your EXP is equal";
+			mes "to or less than 0,";
+			mes "You will be removed from PVP";
+			mes "And your duel is finished!";
+			next;
+			mes "[PVP Narrator]";
+			mes "However, If your EXP is more";
+			mes "than 0. You can still get help";
+			mes "Through other players healing...";
+			mes "Do you get it?";
+			next;
+			mes "[PVP Narrator]";
+			mes "The fighting commands inside of";
+			mes "PVP Are the same as the normal.";
+			mes "All the basic controls are the";
+			mes "same.";
+			next;
+			mes "[PVP Narrator]";
+			mes "However, there is one thing...";
+			mes "Within the PVP fight square,";
+			mes "And in the PVP fighting zones";
+			mes "You cannot save your position.";
+			mes "Remember well... These rules";
+			mes "can help to ensure your victory.";
+		break;
+		case 4:
+			mes "[PVP Narrator]";
+			mes "Position saved...";
+			mes "Successfully.";
+			mes "Thank you very much, We";
+			mes "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; }
+		break;
+		case 5:
+			mes "[PVP Narrator]";
+			mes "In this war between Monsters";
+			mes "and Humans. This competition";
+			mes "between people, The PVP Mode!";
+			mes "Encourages us all to become";
+			mes "stronger. Come again.";
+			mes "We welcome your challenge!";
+		break;
+	}
+close;
+}
 
-// Floating NPC
-//============================================================ 
--	script	Gate Keeper#dummy::PVPGateKeeper	-1,{
+//PVP Narrator's Duplicates
+alberta_in,22,146,4	duplicate(pvpe)	PVP Narrator#pe1	84
+prt_in,56,140,4	duplicate(pvpe)	PVP Narrator#pe2	84
+geffen_in,67,63,4	duplicate(pvpe)	PVP Narrator#pe3	84
+payon_in01,142,50,4	duplicate(pvpe)	PVP Narrator#pe4	84
+geffen_in,67,63,4	duplicate(pvpe)	PVP Narrator#pe5	84
+
+morocc_in,144,142,4	script	Gate Keeper::gkut	83,{
 	mes "[Gate Keeper]";
 	mes "Glad to be of service.";
 	mes "I will open the PVP fight";
@@ -40,36 +191,67 @@
 	mes "modes or rules, Please ask";
 	mes "the Narrator...";
 	next;
-	switch(select("^FF5533' PvP Nightmare Mode'^000000:^3355FF' PvP Yoyo Mode'^000000:^3355FF' PvP Event Mode'^000000:Quit")) {
-	case 1:
-		mes "[Gate Keeper]";
-		mes "I am sorry, but currently the Nightmare mode service is not available.";
-		mes "Please use the Yoyo mode instead. We apologize for the inconvenience.";
-		close;
-	case 2:
-		mes "[Gate Keeper]";
-		mes "The admission fee is 500 Zeny.";
-		mes "Do you want to move";
-		mes "to the Yoyo Mode";
-		mes "fight square?";
-		next;
-		switch(select("Move:Cancel")) {
+	switch(select("^FF5533' PvP Nightmare Mode'^000000","^3355FF' PvP Yoyo Mode'^000000","^3355FF' PvP Event Mode'^000000","Quit"))
+	{
 		case 1:
-			if (Zeny > 499 && BaseLevel > 30) {
-				set zeny,zeny-500;
-				warp "pvp_y_room",51,23;
-				end;
+			mes "[Gate Keeper]";
+			mes "I am sorry, but currently the Nightmare mode service is not available.";
+			mes "Please use the Yoyo mode instead. We apologize for the inconvenience.";
+		break;
+		case 2:
+			mes "[Gate Keeper]";
+			mes "The admission fee is 500 Zeny.";
+			mes "Do you want to move";
+			mes "to the Yoyo Mode";
+			mes "fight square?";
+			next;
+			switch(select("Move","Cancel")) {
+			case 1:
+				if ((Zeny > 499) && (BaseLevel > 30)) {
+					set Zeny, Zeny - 500;
+					warp "pvp_y_room",51,23;
+				}
+				else {
+					mes "[Gate Keeper]";
+					mes "Excuse me, but";
+					mes "did you not come prepared?";
+					mes "Double check that you have the";
+					mes "500 Zeny entrance fee, and";
+					mes "that you are at least level 31!";
+				}
+			break;
+			case 2:
+				mes "[Gate Keeper]";
+				mes "In this war between Monsters";
+				mes "and Humans. This competition";
+				mes "between people, The PVP Mode!";
+				mes "Encourages us all to become";
+				mes "stronger. Come again.";
+				mes "We welcome your challenge!";
+			break;
 			}
-			else {
+		break;
+		case 3:
+			mes "[Gate Keeper]";
+			mes "Welcome";
+			mes "Please double check";
+			mes "That you have the admission or viewing ticket!";
+			next;
+			if ((countitem(7028) == 0) && (countitem(7029) == 0))
+			{
 				mes "[Gate Keeper]";
-				mes "Excuse me, but";
-				mes "did you not come prepared?";
-				mes "Double check that you have the";
-				mes "500 Zeny entrance fee, and";
-				mes "that you are at least level 31!";
+				mes "Eh? You don't have it? Then I";
+				mes "am sorry, this fight square is";
+				mes "only for people who have";
+				mes "admission or viewing tickets.";
+				mes "You cannot come in without it.";
 				close;
 			}
-		case 2:
+			mes "[Gate Keeper]";
+			mes "Yes, thank you for participating. Have fun!";
+			warp "pvp_room",51,23;
+		break;
+		case 4:
 			mes "[Gate Keeper]";
 			mes "In this war between Monsters";
 			mes "and Humans. This competition";
@@ -77,324 +259,133 @@
 			mes "Encourages us all to become";
 			mes "stronger. Come again.";
 			mes "We welcome your challenge!";
-			close;
-		}
-	case 3:
-		mes "[Gate Keeper]";
-		mes "Welcome";
-		mes "Please double check";
-		mes "That you have the admission or viewing ticket!";
-		next;
-		if (countitem(7028) == 0 && countitem(7029) == 0) {
-			mes "[Gate Keeper]";
-			mes "Eh? You don't have it? Then I";
-			mes "am sorry, this fight square is";
-			mes "only for people who have";
-			mes "admission or viewing tickets.";
-			mes "You cannot come in without it.";
-			close;
-		}
-		mes "[Gate Keeper]";
-		mes "Yes, thank you for participating. Have fun!";
-		close2;
-		warp "pvp_room",51,23;
-		end;
-	case 4:
-		mes "[Gate Keeper]";
-		mes "In this war between Monsters";
-		mes "and Humans. This competition";
-		mes "between people, The PVP Mode!";
-		mes "Encourages us all to become";
-		mes "stronger. Come again.";
-		mes "We welcome your challenge!";
-		close;
+		break;
 	}
+close;
 }
 
-// Morroc
-//============================================================ 
-morocc_in,144,138,4	script	PVPNarrator#moc	84,{
-	callfunc "F_PVPNarrator","morocc_in",141,139;
-}
-
-morocc_in,144,142,4	duplicate(PVPGateKeeper)	Gate Keeper#moc	83,{
-
-
-// Alberta
-//============================================================ 
-alberta_in,22,146,4	script	PVP Narrator#alb	84,{
-	callfunc "F_PVPNarrator","alberta_in",22,148;
-}
-
-alberta_in,26,146,4	duplicate(PVPGateKeeper)	Gate Keeper#alb	83
-
-// Prontera
-//============================================================ 
-prt_in,56,140,4	script	PVPNarrator#prt	84,{
-	callfunc "F_PVPNarrator","prt_in",54,137;
-}
-
-prt_in,52,140,4	duplicate(PVPGateKeeper)	Gate Keeper#prt	83
-
-// Geffen
-//============================================================ 
-geffen_in,67,63,4	script	PVPNarrator#gef	84,{
-	callfunc "F_PVPNarrator","geffen_in",70,59;
-}
-
-geffen_in,63,63,4	duplicate(PVPGateKeeper)	Gate Keeper#gef	83
-
-// Payon
-//============================================================ 
-payon_in01,142,50,4	script	PVPNarrator#pay	84,{
-	callfunc "F_PVPNarrator","payon_in01",142,46;
-}
-
-payon_in01,140,53,4	duplicate(PVPGateKeeper)	Gate Keeper#pay	83
-
-
-// PVP Yoyo Mode Staff
-//============================================================ 
-pvp_y_room,86,85,4	script	Fight Square Reception#1	105,{
-	set .@mapcount_1,getmapusers("pvp_y_8-1");
-	set .@mapcount_2,getmapusers("pvp_y_8-2");
-	set .@mapcount_3,getmapusers("pvp_y_8-3");
-	set .@mapcount_4,getmapusers("pvp_y_8-4");
-	set .@mapcount_5,getmapusers("pvp_y_8-5");
-	while(1) {
-		switch(select("Prontera [ "+.@mapcount_1+" / 128 ]:Izlude [ "+.@mapcount_2+" / 128 ]:Payon [ "+.@mapcount_3+" / 128 ]:Alberta [ "+.@mapcount_4+" / 128 ]:Morroc [ "+.@mapcount_5+" / 128 ]:Cancel")) {
+//Gate Keeper's Duplicates
+alberta_in,26,146,4	duplicate(gkut)	Gate Keeper#gke1	83
+prt_in,52,140,4	duplicate(gkut)	Gate Keeper#gke2	83
+geffen_in,63,63,4	duplicate(gkut)	Gate Keeper#gke3	83
+payon_in01,140,53,4	duplicate(gkut)	Gate Keeper#gke4	83
+
+//Fight square Reception Staff (Locations below)
+-	script	FSRS::fsr	105,{
+if(strnpcinfo(4) == "pvp_y_room") {
+	set .@mapc1, getmapusers("pvp_y_8-1");
+	set .@mapc2, getmapusers("pvp_y_8-2");
+	set .@mapc3, getmapusers("pvp_y_8-3");
+	set .@mapc4, getmapusers("pvp_y_8-4");
+	set .@mapc5, getmapusers("pvp_y_8-5");
+	set .@showc1$, "Prontera [ "+.@mapc1+" / 128 ]";
+	set .@showc2$, "Izlude [ "+.@mapc2+" / 128 ]";
+	set .@showc3$, "Payon [ "+.@mapc3+" / 128 ]";
+	set .@showc4$, "Alberta [ "+.@mapc4+" / 128 ]";
+	set .@showc5$, "Morroc [ "+.@mapc5+" / 128 ]";
+	set .@showcexit$, "Cancel.";
+		switch(select(.@showc1$,.@showc2$,.@showc3$,.@showc4$,.@showc5$,.@showcexit$)) {
 		case 1:
-			callsub S_CheckPVPRoom,.@mapcount_1,"pvp_y_8-1";
-			break;
+			if (.@mapc1 >= 128) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_y_8-1",0,0; }
+		break;
 		case 2:
-			callsub S_CheckPVPRoom,.@mapcount_2,"pvp_y_8-2";
-			break;
+			if (.@mapc2 >= 128) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_y_8-2",0,0; }
+		break;
 		case 3:
-			callsub S_CheckPVPRoom,.@mapcount_3,"pvp_y_8-3";
-			break;
+			if (.@mapc3 >= 128) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_y_8-3",0,0; }
+		break;
 		case 4:
-			callsub S_CheckPVPRoom,.@mapcount_4,"pvp_y_8-4";
-			break;
+			if (.@mapc4 >= 128) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_y_8-4",0,0; }
+		break;
 		case 5:
-			callsub S_CheckPVPRoom,.@mapcount_5,"pvp_y_8-5";
-			break;
+			if (.@mapc5 >= 128) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_y_8-5",0,0; }
+		break;
 		case 6:
-			close;
+			break;
 		}
-	}
-
-OnInit:
-	waitingroom "Free For All",0;
-	end;
-
-S_CheckPVPRoom:
-	if (getarg(0) >= 128) {
-		mes "[PVP Fight Square Reception Staff]";
-		mes "This map is currently full.";
-		next;
-		return;
-	}
-	else {
-		warp getarg(1),0,0; 
-		end;
-	}
-}
-
-// PVP Nightmare Mode Staff
-//============================================================ 
-pvp_n_room,30,85,4	script	Fight Square Reception#2	105,{
-	set .@mapcount_1,getmapusers("pvp_n_8-1");
-	set .@mapcount_2,getmapusers("pvp_n_8-2");
-	set .@mapcount_3,getmapusers("pvp_n_8-3");
-	set .@mapcount_4,getmapusers("pvp_n_8-4");
-	set .@mapcount_5,getmapusers("pvp_n_8-5");
-	while(1) {
-		switch(select("Sandwich [ "+.@mapcount_1+" / 64 ]:Lock on [ "+.@mapcount_2+" / 32 ]:Four Room [ "+.@mapcount_3+" / 32 ]:Under cross [ "+.@mapcount_4+" / 32 ]:Compass Room [ "+.@mapcount_5+" / 32 ]:Cancel")) {
+close;
+	} else {
+	set .@mapc1, getmapusers("pvp_n_8-1");
+	set .@mapc2, getmapusers("pvp_n_8-2");
+	set .@mapc3, getmapusers("pvp_n_8-3");
+	set .@mapc4, getmapusers("pvp_n_8-4");
+	set .@mapc5, getmapusers("pvp_n_8-5");
+	set .@showc1$, "Sandwich [ "+.@mapc1+" / 64 ]";
+	set .@showc2$, "Lock on [ "+.@mapc2+" / 32 ]";
+	set .@showc3$, "Four Room [ "+.@mapc3+" / 32 ]";
+	set .@showc4$, "Under cross [ "+.@mapc4+" / 32 ]";
+	set .@showc5$, "Compass Room [ "+.@mapc5+" / 32 ]";
+	set .@showcexit$, "Cancel.";
+		switch(select(.@showc1$,.@showc2$,.@showc3$,.@showc4$,.@showc5$,.@showcexit$)) {
 		case 1:
-			callsub S_CheckPVPRoom,.@mapcount_1,"pvp_n_8-1",64;
-			break;
+			if (.@mapc1 >= 64) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_n_8-1",0,0; }
+		break;
 		case 2:
-			callsub S_CheckPVPRoom,.@mapcount_2,"pvp_n_8-2",32;
-			break;
+			if (.@mapc2 >= 64) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_n_8-2",0,0; }
+		break;
 		case 3:
-			callsub S_CheckPVPRoom,.@mapcount_3,"pvp_n_8-3",32;
-			break;
+			if (.@mapc3 >= 64) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_n_8-3",0,0; }
+		break;
 		case 4:
-			callsub S_CheckPVPRoom,.@mapcount_4,"pvp_n_8-4",32;
-			break;
+			if (.@mapc4 >= 64) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_n_8-4",0,0; }
+		break;
 		case 5:
-			callsub S_CheckPVPRoom,.@mapcount_5,"pvp_n_8-5",32;
-			break;
+			if (.@mapc5 >= 64) {
+				mes "[PVP Fight Square Reception Staff]";
+				mes "This map is currently full.";
+			} else { warp "pvp_n_8-5",0,0; }
+		break;
 		case 6:
-			close;
+			break;
 		}
-	}
+close;
+}
 
 OnInit:
-	waitingroom "Free For All",0;
-	end;
-
-S_CheckPVPRoom:
-	if (getarg(0) >= getarg(2)) {
-		mes "[PVP Fight Square Reception Staff]";
-		mes "This map is currently full.";
-		next;
-		return;
-	}
-	else {
-		warp getarg(1),0,0; 
-		end;
-	}
+	waitingroom "Free for all",0;
+end;
 }
 
-// Function 
-//============================================================ 
-function	script	F_PVPNarrator	{
-	mes "[PVP Narrator]";
-	mes "Hello and welcome!";
-	mes "I am in charge of";
-	mes "explaining the PVP Mode.";
-	mes "I am the PVP Narrator!";
-	next;
-	switch(select("What is PVP?:What are the PVP Modes?:What are the rules for PVP?:Save Position.:End Dialog.")) {
-	case 1:
-		mes "[PVP Narrator]";
-		mes "In short form";
-		mes "PVP means,";
-		mes "' Player VS Player Mode '";
-		mes "It's a unique place for people";
-		mes "To duel with each other.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Just tell the";
-		mes "^3355FFGate Keeper^000000";
-		mes "That you want to try. He will";
-		mes "let you into the PVP square.";
-		next;
-		mes "[PVP Narrator]";
-		mes "But, You need to be at";
-		mes "least level 31. And you";
-		mes "must pay the 500 zeny";
-		mes "entrance fee in order to";
-		mes "To enter a PVP Fight Square.";
-		close;
-	case 2:
-		mes "[PVP Narrator]";
-		mes "When you are qualified, You";
-		mes "can choose one of two Modes.";
-		mes "Yoyo Mode, Or";
-		mes "Nightmare Mode.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Yoyo Mode is risk free.";
-		mes "You can experience PVP";
-		mes "without any restriction or";
-		mes "punishment. It is recommended";
-		mes "that you practice your skills";
-		mes "here before you move on.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Nightmare Mode is very";
-		mes "dangerous! Please use caution.";
-		mes "You will lose some of your real";
-		mes "EXP when you are defeated. And";
-		mes "There is a small chance that";
-		mes "you will drop some equipment.";
-		next;
-		mes "[PVP Narrator]";
-		mes "However, if you win, the";
-		mes "rewards can be great!";
-		mes "To avoid misunderstanding.";
-		mes "You should think it over";
-		mes "twice before you go there...";
-		mes "Good Luck!";
-		close;
-	case 3:
-		mes "[PVP Narrator]";
-		mes "Each of the Fight squares";
-		mes "have a row of Narrators to";
-		mes "choose from based on your";
-		mes "qualifications.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Each Narrator will ask";
-		mes "which of the five PVP maps";
-		mes "you wish to go to.";
-		mes "Choose, and go in!";
-		next;
-		mes "[PVP Narrator]";
-		mes "Each map has a limitation on";
-		mes "the number of people who can";
-		mes "participate. So you will see";
-		mes "figures in the corner showing";
-		mes "'Attendee/total'.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Also, there is a hidden EXP";
-		mes "value in PVP mode. This EXP";
-		mes "score will only apply inside";
-		mes "of the PVP zone, so do not";
-		mes "worry.";
-		next;
-		mes "[PVP Narrator]";
-		mes "Every player's EXP at the";
-		mes "beginning is usually 5 points.";
-		mes "If you win, you will";
-		mes "increse your EXP by 1 point";
-		next;
-		mes "[PVP Narrator]";
-		mes "In the same way, when you";
-		mes "lose... Your EXP will";
-		mes "drop by 5 points.";
-		mes "So be careful!";
-		next;
-		mes "[PVP Narrator]";
-		mes "When you are defeated";
-		mes "And your EXP is equal";
-		mes "to or less than 0,";
-		mes "You will be removed from PVP";
-		mes "And your duel is finished!";
-		next;
-		mes "[PVP Narrator]";
-		mes "However, If your EXP is more";
-		mes "than 0. You can still get help";
-		mes "Through other players healing...";
-		mes "Do you get it?";
-		next;
-		mes "[PVP Narrator]";
-		mes "The fighting commands inside of";
-		mes "PVP Are the same as the normal.";
-		mes "All the basic controls are the";
-		mes "same.";
-		next;
-		mes "[PVP Narrator]";
-		mes "However, there is one thing...";
-		mes "Within the PVP fight square,";
-		mes "And in the PVP fighting zones";
-		mes "You cannot save your position.";
-		mes "Remember well... These rules";
-		mes "can help to ensure your victory.";
-		close;
-	case 4:
-		mes "[PVP Narrator]";
-		mes "Position saved...";
-		mes "Successfully.";
-		mes "Thank you very much, We";
-		mes "will see you again soon.";
-		close2;
-		savepoint getarg(0),getarg(1),getarg(2);
-		end;
-	case 5:
-		mes "[PVP Narrator]";
-		mes "In this war between Monsters";
-		mes "and Humans. This competition";
-		mes "between people, The PVP Mode!";
-		mes "Encourages us all to become";
-		mes "stronger. Come again.";
-		mes "We welcome your challenge!";
-		close;
-	}
-}
+//Fight Square Reception Staff
+pvp_y_room,86,85,4	duplicate(fsr)	Fight SQ Reception#f1	105
+pvp_n_room,30,85,4	duplicate(fsr)	Fight SQ Reception#f2	105
+
+pvp_n_8-4,33,122,0	warp	Link_1-11	0,2,pvp_n_8-4,0,0
+pvp_n_8-4,62,84,0	warp	Link_1-12	1,1,pvp_n_8-4,0,0
+pvp_n_8-4,49,71,0	warp	Link_1-21	1,1,pvp_n_8-4,0,0
+pvp_n_8-4,56,166,0	warp	Link_1-22	1,1,pvp_n_8-4,0,0
+pvp_n_8-4,99,180,0	warp	Link_1-31	2,1,pvp_n_8-4,0,0
+pvp_n_8-4,137,84,0	warp	Link_1-32	1,1,pvp_n_8-4,0,0
+pvp_n_8-4,150,71,0	warp	Link_1-41	1,1,pvp_n_8-4,0,0
+pvp_n_8-4,144,166,0	warp	Link_1-42	1,1,pvp_n_8-4,0,0
+pvp_n_8-5,30,30,0	warp	Link_1-99	3,3,pvp_n_8-5,100,100
 
 // Event Contestant Entrance
 //============================================================ 
@@ -499,11 +490,8 @@ OnInit:
 }
 
 pvp_room,62,85,4	duplicate(PVPSpectator)	Spectator's Entrance#1	105
-
 pvp_room,70,85,4	duplicate(PVPSpectator)	Spectator's Entrance#2	105
-
 pvp_room,78,85,4	duplicate(PVPSpectator)	Spectator's Entrance#3	105
-
 pvp_room,86,85,4	duplicate(PVPSpectator)	Spectator's Entrance#4	105
 
 // Spectator Warps
@@ -521,15 +509,11 @@ OnTouch:
 }
 
 pvp_2vs2,5,4,0	duplicate(PVPSpecWarp)	Combat Square Staff#1	45,1,1,{
-
 pvp_2vs2,5,74,0	duplicate(PVPSpecWarp)	Combat Square Staff#2	45,1,1
-
 pvp_2vs2,74,74,0	duplicate(PVPSpecWarp)	Combat Square Staff#3	45,1,1
-
 pvp_2vs2,74,5,0	duplicate(PVPSpecWarp)	Combat Square Staff#4	45,1,1
-
 pvp_2vs2,40,40,0	script	Combat Square Staff#5	45,1,1,{
-	set mapmove,0;
+	set mapmove,0; //??
 	mes "[Combat Square Staff]";
 	mes "May I help you?";
 	if (select("To the side viewer seat.:Leave Combat Square.") == 1) {