* Script updates.
- Added Renewal features to PVP script and removed duplicate warps. - Added "Acolyte Warpers" script (Keiki and Isalei), disabled since it may be an event script. - Added "Mergician" NPC, but it currently doesn't function and is disabled. - Moved "Stone Change" script from merchants/ to other/. - Follow-up 8acde7e: further bug fixes. Signed-off-by: Euphy <euphy@rathena.org>
This commit is contained in:
parent
8acde7ed96
commit
02d67498b1
@ -926,7 +926,7 @@ This special label triggers when a player kills another player. The variable
|
||||
OnNPCKillEvent:
|
||||
|
||||
This special label triggers when a player kills a monster. The variable
|
||||
'killedrid' is set to the Class of the monster killed.
|
||||
'killedrid' is set to the Class (mob ID) of the monster killed.
|
||||
|
||||
OnPCLoadMapEvent:
|
||||
|
||||
|
139
npc/other/acolyte_warp.txt
Normal file
139
npc/other/acolyte_warp.txt
Normal file
@ -0,0 +1,139 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Acolyte Warpers
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= [Official Conversion]
|
||||
//= Warpers to various towns.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Euphy]
|
||||
//= Unsure if this is on kRO, so disabled for now.
|
||||
//============================================================
|
||||
|
||||
prontera,98,121,4 script Acolyte#Prtclear 90,{
|
||||
mes "[Keiki]";
|
||||
mes "Hello there, adventurer.";
|
||||
mes "I've been studying magic from all over Rune-Midgard to upgrade what I believe to be one of the greatest skills available to the acolyte class.";
|
||||
next;
|
||||
mes "[Keiki]";
|
||||
mes "I am the one and only Acolyte that has attained the Level 10 Warp Portal skill!";
|
||||
emotion e_dots,1;
|
||||
next;
|
||||
mes "[Keiki]";
|
||||
mes "That's right! And...";
|
||||
mes "I promise you that I don't forget locations that I have already memorized.";
|
||||
mes "One day I will level up my skills to warp to wherever I please~";
|
||||
next;
|
||||
mes "[Keiki]";
|
||||
mes "I am willing to warp you to the many locations that I have memorized for a small fee.";
|
||||
mes "Would you like to use this service?";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Keiki]";
|
||||
mes "Where would you like to go to?";
|
||||
mes "I wish you goodluck on your journey.";
|
||||
next;
|
||||
|
||||
setarray .@towns$[0], "Izlude", "Geffen", "Payon", "Morroc", "Alberta", "Al De Baran", "Comodo", "Umbala", "Juno";
|
||||
setarray .@maps$[0], "izlude", "geffen", "payon", "morocc", "alberta", "aldebaran", "comodo", "umbala", "yuno";
|
||||
setarray .@cost[0], 600, 1200, 1200, 1200, 1800, 2200, 2200, 2200, 1800;
|
||||
|
||||
set .@size, getarraysize(.@towns$);
|
||||
for(set .@i,0; .@i<.@size; set .@i,.@i+1)
|
||||
set .@menu$, .@menu$+.@towns$[.@i]+" -> "+.@cost[.@i]+"z:";
|
||||
set .@i, select(.@menu$+"Cancel")-1;
|
||||
if (.@i == .@size)
|
||||
close;
|
||||
if (Zeny < .@cost[.@i]) {
|
||||
mes "[Keiki]";
|
||||
mes "I'm sorry, but you don't have";
|
||||
mes "enough zeny for the Teleport";
|
||||
mes "Service. The fee to teleport";
|
||||
mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
|
||||
close;
|
||||
}
|
||||
specialeffect2 EF_READYPORTAL;
|
||||
specialeffect2 EF_TELEPORTATION;
|
||||
specialeffect2 EF_PORTAL;
|
||||
next;
|
||||
set Zeny, Zeny - .@cost[.@i];
|
||||
switch(.@i) {
|
||||
case 0: if (checkre(0)) warp "izlude",128,98; else warp "izlude",91,105; break;
|
||||
case 1: warp "geffen",120,39; break;
|
||||
case 2: warp "payon",161,58; break;
|
||||
case 3: warp "morocc",156,46; break;
|
||||
case 4: warp "alberta",117,56; break;
|
||||
case 5: warp "aldebaran",168,112; break;
|
||||
case 6: warp "comodo",209,143; break;
|
||||
case 7: warp "umbala",100,154; break;
|
||||
case 8: warp "yuno",158,125; break;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
yuno,142,184,6 script Acolyte#Junoclear 90,{
|
||||
mes "[Isalei]";
|
||||
mes "Hello, adventurer.";
|
||||
mes "My companion Keiki and I have discovered a way to increase our warp portal abilities.";
|
||||
next;
|
||||
mes "[Isalei]";
|
||||
mes "Though I have not mastered up to the level that she has, I have been able to attain Level 5.";
|
||||
emotion e_dots,1;
|
||||
next;
|
||||
mes "[Isalei]";
|
||||
mes "Maybe one day I can level up my skills enough so that I can use Warp portal to more saved locations.";
|
||||
next;
|
||||
mes "[Isalei]";
|
||||
mes "I am willing to warp you to the many locations that I have memorized for a small fee.";
|
||||
mes "Would you like to use this service?";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Isalei]";
|
||||
mes "Where would you like to go to?";
|
||||
mes "I wish you goodluck on your journey.";
|
||||
next;
|
||||
|
||||
setarray .@towns$[0], "Einbroch", "Lighthalzen", "Hugel", "Rachel", "Prontera";
|
||||
setarray .@maps$[0], "einbroch", "lighthalzen", "hugel", "rachel", "prontera";
|
||||
setarray .@cost[0], 2200, 2200, 2200, 2200, 1800;
|
||||
|
||||
set .@size, getarraysize(.@towns$);
|
||||
for(set .@i,0; .@i<.@size; set .@i,.@i+1)
|
||||
set .@menu$, .@menu$+.@towns$[.@i]+" -> "+.@cost[.@i]+"z:";
|
||||
set .@i, select(.@menu$+"Cancel")-1;
|
||||
if (.@i == .@size)
|
||||
close;
|
||||
if (Zeny < .@cost[.@i]) {
|
||||
mes "[Isalei]";
|
||||
mes "I'm sorry, but you don't have";
|
||||
mes "enough zeny for the Teleport";
|
||||
mes "Service. The fee to teleport";
|
||||
mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
|
||||
close;
|
||||
}
|
||||
specialeffect2 EF_READYPORTAL;
|
||||
specialeffect2 EF_TELEPORTATION;
|
||||
specialeffect2 EF_PORTAL;
|
||||
next;
|
||||
set Zeny, Zeny - .@cost[.@i];
|
||||
switch(.@i) {
|
||||
case 0: warp "einbroch",67,195; break;
|
||||
case 1: warp "lighthalzen",159,90; break;
|
||||
case 2: warp "hugel",98,150; break;
|
||||
case 3: warp "rachel",119,135; break;
|
||||
case 4: warp "prontera",116,72; break;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
close;
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
//===== By: ==================================================
|
||||
//= kobra_k88; L0ne_W0lf, Elias (og2)
|
||||
//===== Current Version: =====================================
|
||||
//= 2.4
|
||||
//= 2.5
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
@ -15,8 +15,11 @@
|
||||
//= 2.2 Some cleaning. [Euphy]
|
||||
//= 2.3 Fixed grammatical errors. [Joseph]
|
||||
//= 2.4 Fixed incorrect use of 'close' and some cleaning. [Joseph]
|
||||
//= 2.5 Renewal/Pre-Renewal split. [Euphy]
|
||||
//============================================================
|
||||
|
||||
// Information
|
||||
//============================================================
|
||||
- script PVP Narrator::pvpe -1,{
|
||||
mes "[PVP Narrator]";
|
||||
mes "Hello and welcome!";
|
||||
@ -24,147 +27,145 @@
|
||||
mes "explaining the PVP Modes.";
|
||||
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, 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 enter the PVP square.";
|
||||
next;
|
||||
mes "[PVP Narrator]";
|
||||
mes "But, you need to be at";
|
||||
mes "least level 31. And you";
|
||||
mes "must pay 500 zeny entrance fee in order";
|
||||
mes "to enter a PVP fight square.";
|
||||
break;
|
||||
case 2:
|
||||
mes "[PVP Narrator]";
|
||||
mes "When you are qualified, you";
|
||||
mes "can choose one of the two modes.";
|
||||
mes "Yoyo Mode or 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 be cautious,";
|
||||
mes "you will lose some of your";
|
||||
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 twice";
|
||||
mes "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 and";
|
||||
mes "choose them 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, it will";
|
||||
mes "increase 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 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 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; }
|
||||
break;
|
||||
case 5:
|
||||
mes "[PVP Narrator]";
|
||||
mes "With war raging between monsters";
|
||||
mes "and humans, this competition";
|
||||
mes "among people - PVP -";
|
||||
mes "encourages us all to get";
|
||||
mes "stronger. Come again,";
|
||||
mes "we welcome your challenge!";
|
||||
break;
|
||||
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, 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 enter the PVP square.";
|
||||
next;
|
||||
mes "[PVP Narrator]";
|
||||
mes "But, you need to be at";
|
||||
mes "least level 31. And you";
|
||||
mes "must pay 500 zeny entrance fee in order";
|
||||
mes "to enter a PVP fight square.";
|
||||
break;
|
||||
case 2:
|
||||
mes "[PVP Narrator]";
|
||||
mes "When you are qualified, you";
|
||||
mes "can choose one of the two modes.";
|
||||
mes "Yoyo Mode or 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 be cautious,";
|
||||
mes "you will lose some of your";
|
||||
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 twice";
|
||||
mes "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 and";
|
||||
mes "choose them 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, it will";
|
||||
mes "increase 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 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 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; }
|
||||
break;
|
||||
case 5:
|
||||
mes "[PVP Narrator]";
|
||||
mes "With war raging between monsters";
|
||||
mes "and humans, this competition";
|
||||
mes "among people - PVP -";
|
||||
mes "encourages us all to get";
|
||||
mes "stronger. Come again,";
|
||||
mes "we welcome your challenge!";
|
||||
break;
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
//PVP Narrator's Duplicates
|
||||
morocc_in,144,138,4 duplicate(pvpe) PVP Narrator#pe1 84
|
||||
alberta_in,22,146,4 duplicate(pvpe) PVP Narrator#pe2 84
|
||||
prt_in,56,140,4 duplicate(pvpe) PVP Narrator#pe3 84
|
||||
@ -172,7 +173,8 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe4 84
|
||||
payon_in01,142,50,4 duplicate(pvpe) PVP Narrator#pe5 84
|
||||
geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
|
||||
//Gate Keeper (Floating NPC, Locations below)
|
||||
// Mode Select
|
||||
//============================================================
|
||||
- script Gate Keeper::gkut -1,{
|
||||
mes "[Gate Keeper]";
|
||||
mes "Glad to be of service.";
|
||||
@ -182,7 +184,7 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
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")) {
|
||||
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.";
|
||||
@ -195,10 +197,11 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
mes "to the Yoyo Mode";
|
||||
mes "fight square?";
|
||||
next;
|
||||
if(select("Move","Cancel")==1) {
|
||||
switch(select("Move:Cancel")) {
|
||||
case 1:
|
||||
if ((Zeny > 499) && (BaseLevel > 30)) {
|
||||
set Zeny, Zeny - 500;
|
||||
warp "pvp_y_room",51,23;
|
||||
callsub L_Warp,"pvp_y_room";
|
||||
}
|
||||
else {
|
||||
mes "[Gate Keeper]";
|
||||
@ -209,15 +212,16 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
mes "that you are at least level 31!";
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
mes "[Gate Keeper]";
|
||||
mes "With war raging between monsters";
|
||||
mes "and humans, this competition";
|
||||
mes "among people - PVP -";
|
||||
mes "encourages us all to get";
|
||||
mes "stronger. Come again,";
|
||||
mes "we welcome your challenge!";
|
||||
close;
|
||||
}
|
||||
mes "[Gate Keeper]";
|
||||
mes "With war raging between monsters";
|
||||
mes "and humans, this competition";
|
||||
mes "among people - PVP -";
|
||||
mes "encourages us all to get";
|
||||
mes "stronger. Come again,";
|
||||
mes "we welcome your challenge!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Gate Keeper]";
|
||||
mes "Welcome!";
|
||||
@ -235,7 +239,8 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
}
|
||||
mes "[Gate Keeper]";
|
||||
mes "Yes, thank you for participating. Have fun!";
|
||||
warp "pvp_room",51,23;
|
||||
if (Zeny >= 500) set Zeny, Zeny - 500;
|
||||
callsub L_Warp,"pvp_room";
|
||||
break;
|
||||
case 4:
|
||||
mes "[Gate Keeper]";
|
||||
@ -248,19 +253,48 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
|
||||
break;
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
//Gate Keeper Duplicates
|
||||
L_Warp:
|
||||
set .@map$,getarg(0);
|
||||
if (checkre(0)) {
|
||||
switch(rand(1,10)) {
|
||||
case 1: warp .@map$,34,38; break;
|
||||
case 2: warp .@map$,46,38; break;
|
||||
case 3: warp .@map$,58,38; break;
|
||||
case 4: warp .@map$,70,38; break;
|
||||
case 5: warp .@map$,82,38; break;
|
||||
case 6: warp .@map$,82,58; break;
|
||||
case 7: warp .@map$,65,58; break;
|
||||
case 8: warp .@map$,49,58; break;
|
||||
case 9: warp .@map$,33,58; break;
|
||||
case 10: warp .@map$,52,24; break;
|
||||
}
|
||||
} else
|
||||
warp .@map$,51,23;
|
||||
return;
|
||||
}
|
||||
morocc_in,144,142,4 duplicate(gkut) Gate Keeper#gke1 83
|
||||
alberta_in,26,146,4 duplicate(gkut) Gate Keeper#gke2 83
|
||||
prt_in,52,140,4 duplicate(gkut) Gate Keeper#gke3 83
|
||||
geffen_in,63,63,4 duplicate(gkut) Gate Keeper#gke4 83
|
||||
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";
|
||||
// PVP Warper Function
|
||||
//============================================================
|
||||
// Note: The warper NPCs are in the pre-re/re paths.
|
||||
|
||||
//callfunc "F_PVP_FSRS"{,<min_lvl>,<max_lvl>};
|
||||
function script F_PVP_FSRS {
|
||||
if (getargcount()) {
|
||||
if (BaseLevel < getarg(0) || BaseLevel > getarg(1)) {
|
||||
mes "[PVP Fight Square Reception Staff]";
|
||||
mes "Sorry, but you base level has to be between LV "+getarg(0)+" and LV "+getarg(1)+".";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if (strnpcinfo(4) == "pvp_y_room") {
|
||||
set .@base$, "pvp_y_"+strnpcinfo(2);
|
||||
setarray .@Maps$[0], .@base$+"-1", .@base$+"-2", .@base$+"-3", .@base$+"-4", .@base$+"-5";
|
||||
setarray .@Name$[0], "Prontera", "Izlude", "Payon", "Alberta", "Morroc";
|
||||
setarray .@Limit[0], 128, 128, 128, 128, 128;
|
||||
} else {
|
||||
@ -280,25 +314,9 @@ payon_in01,140,53,4 duplicate(gkut) Gate Keeper#gke5 83
|
||||
}
|
||||
warp .@Maps$[.@i],0,0;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Free for all",0;
|
||||
end;
|
||||
}
|
||||
|
||||
//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
|
||||
//============================================================
|
||||
@ -310,14 +328,12 @@ pvp_room,54,85,4 script Registration Staff#1 105,{
|
||||
mes "For details about viewers please proceed to the Register Staff on your right.";
|
||||
close;
|
||||
}
|
||||
|
||||
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) {
|
||||
if (select("Combat Square one:Cancel") == 1) {
|
||||
mes "[PVP Combat Square Register Staff]";
|
||||
mes "'"+ strcharinfo(0) +"'";
|
||||
mes "Are you ready?!";
|
||||
@ -354,17 +370,16 @@ OnInit:
|
||||
mes "For details about players entrance please proceed to the Register Staff on your left.";
|
||||
close;
|
||||
}
|
||||
|
||||
if (select("Compete Square one:Cancel") == 1) {
|
||||
mes "[PVP Combat Square Register Staff]";
|
||||
mes "You got it, thanks for participating. Have fun!";
|
||||
close2;
|
||||
delitem 7029,1; //Admission_For_Duel
|
||||
switch(rand(1,4)) {
|
||||
case 1: warp "pvp_2vs2",39,7; end;
|
||||
case 2: warp "pvp_2vs2",39,73; end;
|
||||
case 3: warp "pvp_2vs2",7,39; end;
|
||||
case 4: warp "pvp_2vs2",73,39; end;
|
||||
case 1: warp "pvp_2vs2",39,7; end;
|
||||
case 2: warp "pvp_2vs2",39,73; end;
|
||||
case 3: warp "pvp_2vs2",7,39; end;
|
||||
case 4: warp "pvp_2vs2",73,39; end;
|
||||
}
|
||||
}
|
||||
close;
|
||||
@ -373,7 +388,6 @@ OnInit:
|
||||
waitingroom "Compete Square viewer's entrance",0;
|
||||
end;
|
||||
}
|
||||
|
||||
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
|
||||
@ -392,23 +406,26 @@ OnTouch:
|
||||
warp "pvp_room",84,39;
|
||||
end;
|
||||
}
|
||||
|
||||
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,{
|
||||
mes "[Combat Square Staff]";
|
||||
mes "May I help you?";
|
||||
if (select("To the side viewer seat.:Leave Combat Square.") == 1)
|
||||
switch(select("To the side viewer seat.:Leave Combat Square.")) {
|
||||
case 1:
|
||||
switch(rand(1,4)) {
|
||||
case 1: warp "pvp_2vs2",39,7; end;
|
||||
case 2: warp "pvp_2vs2",39,73; end;
|
||||
case 3: warp "pvp_2vs2",7,39; end;
|
||||
case 4: warp "pvp_2vs2",73,39; end;
|
||||
case 1: warp "pvp_2vs2",39,7; end;
|
||||
case 2: warp "pvp_2vs2",39,73; end;
|
||||
case 3: warp "pvp_2vs2",7,39; end;
|
||||
case 4: warp "pvp_2vs2",73,39; end;
|
||||
}
|
||||
warp "pvp_c_room",84,39;
|
||||
end;
|
||||
case 2:
|
||||
warp "pvp_c_room",84,39;
|
||||
end;
|
||||
}
|
||||
}
|
||||
|
||||
// PVP Area Exit warp
|
||||
@ -420,11 +437,11 @@ OnTouch:
|
||||
mes "May I ask where you want to go?";
|
||||
next;
|
||||
switch(select("Prontera.:Morocc.:Geffen.:Payon.:Alberta.:Cancel.")) {
|
||||
case 1: warp "prontera",107,60; end;
|
||||
case 2: warp "morocc",157,96; end;
|
||||
case 3: warp "geffen",120,36; end;
|
||||
case 4: warp "payon",96,100; end;
|
||||
case 5: warp "alberta",41,243; end;
|
||||
case 6: close;
|
||||
case 1: warp "prontera",107,60; end;
|
||||
case 2: warp "morocc",157,96; end;
|
||||
case 3: warp "geffen",120,36; end;
|
||||
case 4: warp "payon",96,100; end;
|
||||
case 5: warp "alberta",41,243; end;
|
||||
case 6: close;
|
||||
}
|
||||
}
|
||||
|
34
npc/pre-re/other/pvp.txt
Normal file
34
npc/pre-re/other/pvp.txt
Normal file
@ -0,0 +1,34 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= PvP NPCs
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= PvP NPCs that are found in the Inns in major cities.
|
||||
//= Includes Yoyo Mode, Nightmare Mode, and Event Mode.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version, Pre-Renewal.
|
||||
//============================================================
|
||||
|
||||
// PVP Warpers
|
||||
//============================================================
|
||||
pvp_y_room,86,85,4 script Fight Square Reception#8 105,{
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Free for all",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_n_room,30,85,4 script Fight Square Reception#n 105,{
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Free for all",0;
|
||||
end;
|
||||
}
|
@ -45,6 +45,7 @@ npc: npc/pre-re/merchants/shops.txt
|
||||
// --------------------------- Others ---------------------------
|
||||
npc: npc/pre-re/other/bulletin_boards.txt
|
||||
npc: npc/pre-re/other/mercenary_rent.txt
|
||||
npc: npc/pre-re/other/pvp.txt
|
||||
npc: npc/pre-re/other/msg_boards.txt
|
||||
npc: npc/pre-re/other/resetskill.txt
|
||||
npc: npc/pre-re/other/turbo_track.txt
|
||||
|
@ -3,7 +3,7 @@
|
||||
//===== By: ==================================================
|
||||
//= Joseph
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
@ -12,6 +12,7 @@
|
||||
//===== Additional Comments: =================================
|
||||
//= 0.x Previous author: L0ne_W0lf
|
||||
//= 1.0 Merged Okolnir. [Joseph]
|
||||
//= 1.1 Some bug fixes. [Toshiro90/Euphy]
|
||||
//============================================================
|
||||
|
||||
function script F_Okolnir {
|
||||
@ -407,10 +408,10 @@ OnTouch:
|
||||
case 18: setarray .@n, 57,255,57,258,19; break;
|
||||
case 19: setarray .@n, 84,277,84,280,20; break;
|
||||
}
|
||||
SMonster(.@sub$,.@n[0],.@n[1]);
|
||||
setd "$@gqse_"+.@sub$+"_miro",.@n[4];
|
||||
warp "que_q"+.@sub$,.@n[2],.@n[3];
|
||||
end;
|
||||
SMonster(.@sub$,.@n[0],.@n[1]);
|
||||
setd "$@gqse_"+.@sub$+"_miro",.@n[4];
|
||||
warp "que_q"+.@sub$,.@n[2],.@n[3];
|
||||
end;
|
||||
}
|
||||
else {
|
||||
mes "There are too many people, you can't enter.";
|
||||
@ -1645,7 +1646,7 @@ OnTimer55000:
|
||||
OnTimer85000:
|
||||
OnTimer120000:
|
||||
set .@sub$,callfunc("F_Okolnir");
|
||||
setarray .xy2, 226,294,227,294,228,294,229,294,230,295,231,296,231,297,231,298,231,299,230,300,229,301,228,301,227,301,226,301,225,300,224,299,224,298,224,297,224,296,225,295;
|
||||
setarray .@xy2, 226,294,227,294,228,294,229,294,230,295,231,296,231,297,231,298,231,299,230,300,229,301,228,301,227,301,226,301,225,300,224,299,224,298,224,297,224,296,225,295;
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy2); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy2[.@i],.@xy2[.@i+1],"Guard of Shadow",1752,1,"#nmsom"+.@sub$+"_jin01::OnMyMobDead";
|
||||
end;
|
||||
@ -1811,22 +1812,22 @@ OnTimer5000:
|
||||
OnTimer120000:
|
||||
set .@sub$,callfunc("F_Okolnir");
|
||||
setarray .@xy2, 251,343,252,343,255,341,255,340,254,337,253,336,250,336,249,337,248,340,248,341;
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy); set .@i, .@i + 2)
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy2); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy2[.@i],.@xy2[.@i+1],"Keeper Of The Temple",1933,1,"#nmsom"+.@sub$+"_jin03::OnMyMobDead";
|
||||
end;
|
||||
|
||||
OnTimer240000:
|
||||
set .@sub$,callfunc("F_Okolnir");
|
||||
setarray .@xy3, 250,343,252,343,254,342,255,340,255,338,253,336,250,336,248,338,248,340,249,342;
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy2[.@i],.@xy2[.@i+1],"Keeper Of The Temple",1933,1,"#nmsom"+.@sub$+"_jin03::OnMyMobDead";
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy3); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy3[.@i],.@xy3[.@i+1],"Keeper Of The Temple",1933,1,"#nmsom"+.@sub$+"_jin03::OnMyMobDead";
|
||||
end;
|
||||
|
||||
OnTimer360000:
|
||||
set .@sub$,callfunc("F_Okolnir");
|
||||
setarray .@xy4, 250,343,252,343,254,342,255,340,255,338,253,336,251,336,249,337,248,339,248,341;
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy2[.@i],.@xy2[.@i+1],"Keeper Of The Temple",1933,1,"#nmsom"+.@sub$+"_jin03::OnMyMobDead";
|
||||
for (set .@i, 0; .@i < getarraysize(.@xy4); set .@i, .@i + 2)
|
||||
monster "que_q"+.@sub$,.@xy4[.@i],.@xy4[.@i+1],"Keeper Of The Temple",1933,1,"#nmsom"+.@sub$+"_jin03::OnMyMobDead";
|
||||
stopnpctimer;
|
||||
end;
|
||||
|
||||
@ -2148,10 +2149,10 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss 193
|
||||
if (strcharinfo(0) == getguildmaster(.@GID)) {
|
||||
if (compare(.@sub$,"aru")) {
|
||||
setarray .@n, 7835,1,7836,1,7837,1,7838,1,2513,1,7291,10,7293,10,7063,100,985,20;
|
||||
set .@rwd, 2541;
|
||||
set .@rwd, 2541; //Asprika
|
||||
} else {
|
||||
setarray .@n, 7830,1,7831,1,7832,1,7833,1,7834,1,2357,1,7510,100,969,10,985,20;
|
||||
set .@rwd, 2383;
|
||||
set .@rwd, 2383; //Brynhild
|
||||
}
|
||||
for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2) {
|
||||
if (countitem(.@n[.@i]) >= .@n[.@i+1])
|
||||
@ -2180,7 +2181,7 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss 193
|
||||
for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2)
|
||||
delitem .@n[.@i],.@n[.@i+1];
|
||||
getitem .@rwd,1;
|
||||
getitem 7840,1;
|
||||
getitem 7840,1; //Valkyrie_Gift
|
||||
announce "["+ strcharinfo(0) +"], of guild ["+ GetGuildName(.@GID) +"] has brought a "+getitemname(.@rwd)+" into this world.",bc_all,"0x70dbdb";
|
||||
close2;
|
||||
cutin "wish_maiden11",255;
|
||||
|
71
npc/re/other/item_merge.txt
Normal file
71
npc/re/other/item_merge.txt
Normal file
@ -0,0 +1,71 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Mergician
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= [Official Conversion]
|
||||
//= Merges items taking up multiple slots in a player's
|
||||
//= inventory.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version, currently useless/disabled.
|
||||
//============================================================
|
||||
|
||||
prontera,146,95,3 script Mergician#pron 64,{
|
||||
if (checkweight(1301,1) == 0) {
|
||||
mes "- Wait a second !! -";
|
||||
mes "- You are carrying too many items -";
|
||||
mes "- or too much weight to proceed. -";
|
||||
mes "- Come back after -";
|
||||
mes "- arranging your inventory. -";
|
||||
close;
|
||||
}
|
||||
mes "[Mergician]";
|
||||
mes "Do you believe in the miracle of Merge god?? If so, repeat my spell loudly as I pronunce it!!!";
|
||||
mes "Merge Merge, Merrrrge!!!";
|
||||
next;
|
||||
switch(select("What is the miracle of Merge?:Merrrrge!!!!:Abandon...")) {
|
||||
case 1:
|
||||
mes "[Mergician]";
|
||||
mes "There is an order which rules the world and keeps the world to go well.";
|
||||
next;
|
||||
mes "[Mergician]";
|
||||
mes "But there has been a bad factor which totally jeopardised this rule!!";
|
||||
next;
|
||||
mes "[Mergician]";
|
||||
mes "Those things which are separated even if they are composed by the same material!!";
|
||||
next;
|
||||
mes "[Mergician]";
|
||||
mes "Have you never experienced this bad incident??";
|
||||
mes "The fact that I had ^3131FFthe same potion, but appearing more than twice in your inventory!!^000000 So unpleasant!!!";
|
||||
next;
|
||||
mes "[Mergician]";
|
||||
mes "Believe in Mergism. That is the truth.";
|
||||
mes "Then I can help you be happy and content.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mergician]";
|
||||
mes "This is the total holy ritual to pray to the Great God, Merge! and I am borrowing the power for a while!!";
|
||||
next;
|
||||
mes "[Mergician]";
|
||||
mes "And if you eagerly want to be blessed by Merge, be humble and shout out loud! Merge Merge, Merrrrge!!!";
|
||||
next;
|
||||
switch(select("Merrrrge!:Don't follow what he says.")) {
|
||||
case 1:
|
||||
// MergeItem
|
||||
mes "[Mergician]";
|
||||
mes "Merge just heard your wish and let it be realised!";
|
||||
mes "Open your inventory to check the miracle!";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mergician]";
|
||||
mes "You jerk!!! You just broke the whole rhythm! Why can't you get my flow and follow me?! Idiot!";
|
||||
close;
|
||||
}
|
||||
case 3:
|
||||
close;
|
||||
}
|
||||
}
|
93
npc/re/other/pvp.txt
Normal file
93
npc/re/other/pvp.txt
Normal file
@ -0,0 +1,93 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= PvP NPCs
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= PvP NPCs that are found in the Inns in major cities.
|
||||
//= Includes Yoyo Mode, Nightmare Mode, and Event Mode.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version, Renewal.
|
||||
//============================================================
|
||||
|
||||
// PVP Warpers
|
||||
//============================================================
|
||||
pvp_y_room,30,85,4 script Fight Square Reception#1 105,{ //5,5
|
||||
callfunc "F_PVP_FSRS",50,69;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "LV 50 ~ LV 69",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_y_room,38,85,4 script Fight Square Reception#2 105,{ //5,5
|
||||
callfunc "F_PVP_FSRS",70,89;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "LV 70 ~ LV 89",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_y_room,46,85,4 script Fight Square Reception#3 105,{ //5,5
|
||||
callfunc "F_PVP_FSRS",90,99;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "LV 90 ~ LV 99",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_y_room,54,85,4 script Fight Square Reception#8 105,{
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Free for all",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_y_room,62,85,4 script Fight Square Reception#4 105,{
|
||||
//if (ADVJOB > 0) {
|
||||
if (Upper == 1) {
|
||||
mes "[PVP Fight Square Reception Staff]";
|
||||
mes "You have been transcended.";
|
||||
mes "You are not allowed to enter.";
|
||||
close;
|
||||
}
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Normal Jobs Only",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_y_room,70,85,4 script Fight Square Reception#5 105,{
|
||||
//if (ADVJOB == 0) {
|
||||
if (Upper != 1) {
|
||||
mes "[PVP Fight Square Reception Staff]";
|
||||
mes "You have not transcended.";
|
||||
mes "You are not allowed to enter.";
|
||||
close;
|
||||
}
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Trans Jobs Only",0;
|
||||
end;
|
||||
}
|
||||
|
||||
pvp_n_room,86,85,4 script Fight Square Reception#n 105,{
|
||||
callfunc "F_PVP_FSRS";
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
waitingroom "Free for all",0;
|
||||
end;
|
||||
}
|
@ -81,15 +81,17 @@ npc: npc/re/merchants/quivers.txt
|
||||
npc: npc/re/merchants/refine.txt
|
||||
npc: npc/re/merchants/renters.txt
|
||||
npc: npc/re/merchants/shops.txt
|
||||
npc: npc/re/merchants/stone_change.txt
|
||||
//npc: npc/re/merchants/ticket_refiner.txt
|
||||
//npc: npc/re/merchants/enchan_upg.txt
|
||||
|
||||
// --------------------------- Others ---------------------------
|
||||
npc: npc/re/other/bulletin_boards.txt
|
||||
//npc: npc/re/other/item_merge.txt
|
||||
npc: npc/re/other/mail.txt
|
||||
npc: npc/re/other/mercenary_rent.txt
|
||||
npc: npc/re/other/pvp.txt
|
||||
npc: npc/re/other/resetskill.txt
|
||||
npc: npc/re/other/stone_change.txt
|
||||
npc: npc/re/other/turbo_track.txt
|
||||
|
||||
// --------------------------- Quests ---------------------------
|
||||
|
@ -170,6 +170,7 @@ npc: npc/other/arena/arena_party.txt
|
||||
npc: npc/other/arena/arena_point.txt
|
||||
npc: npc/other/arena/arena_room.txt
|
||||
// --------------------------------------------------------------
|
||||
//npc: npc/other/acolyte_warp.txt
|
||||
npc: npc/other/auction.txt
|
||||
npc: npc/other/books.txt
|
||||
npc: npc/other/bulletin_boards.txt
|
||||
|
Loading…
x
Reference in New Issue
Block a user