summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/pre-re/jobs/novice/novice.txt268
-rw-r--r--npc/pre-re/other/powernpc.txt2
-rw-r--r--npc/pre-re/other/pvp.txt122
-rw-r--r--npc/re/jobs/novice/novice.txt268
-rw-r--r--npc/re/other/powernpc.txt2
-rw-r--r--npc/re/other/pvp.txt122
6 files changed, 146 insertions, 638 deletions
diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt
index 2a485ef3f..a7b9c679d 100644
--- a/npc/pre-re/jobs/novice/novice.txt
+++ b/npc/pre-re/jobs/novice/novice.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@@ -12,6 +12,7 @@
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
//= 1.1 Updated warps, savepoints, NPC locations. [Kisuka]
+//= 1.2 Cleaning. [Euphy]
//============================================================
//============================================================================
@@ -136,7 +137,6 @@ new_1-2,100,29,4 script Sprakki#nv2 90,{
}
}
-
//============================================================================
// Instructor Brade
//============================================================================
@@ -189,7 +189,7 @@ new_1-2,100,105,4 script Brade#nv 733,{
mes "The item window has 3 sections...";
next;
mes "[Instructor Brade]";
- mes "consumable items, equipment and other items.";
+ mes "Consumable items, equipment, and other items.";
mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
next;
mes "[Instructor Brade]";
@@ -282,12 +282,8 @@ new_1-2,100,105,4 script Brade#nv 733,{
}
else if(job_novice_q == 5 || job_novice_q == 6) {
set .@EquipCheck,0;
- if (getequipisequiped(EQI_SHOES)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_ARMOR)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_GARMET)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HEAD_TOP)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HAND_L)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HAND_R)) { set .@EquipCheck,.@EquipCheck+1; }
+ for(set .@i,1; .@i<7; set .@i,.@i+1)
+ if (getequipisequiped(.@i)) set .@EquipCheck, .@EquipCheck+1;
if(.@EquipCheck >= 4) {
if(job_novice_q == 5) {
mes "[Instructor Brade]";
@@ -626,7 +622,6 @@ new_1-2,32,172,4 script Chocolat#nv 96,{
}
}
-
// ---------- Kafra ----------
new_1-2,29,176,4 script Kafra#nv 117,{
if(job_novice_q < 10) {
@@ -973,7 +968,7 @@ new_1-2,35,176,4 script Soldier#nv 105,{
next;
mes "[Brade]";
mes "Try using the job manuals to find out the characteristics of each job's skills.";
- mes "I will restore your HP and SP...Keep it up.";
+ mes "I will restore your HP and SP... Keep it up.";
percentheal 100,100;
skilleffect 28,9999;
close;
@@ -989,6 +984,24 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
//============================================================================
// Job Guides (Real Combat Training)
//============================================================================
+// --------------------------- Deletion Function ------------------------------
+function script F_NvErase {
+ if (getarg(0,0)) {
+ if (checkquest(7123) == 0 || checkquest(7123) == 1) erasequest 7123;
+ if (checkquest(7124) == 0 || checkquest(7124) == 1) erasequest 7124;
+ if (checkquest(7126) == 0 || checkquest(7126) == 1) erasequest 7126;
+ if (checkquest(7127) == 0 || checkquest(7127) == 1) erasequest 7127;
+ }
+ nude;
+ if (countitem(2819)) delitem 2819,1; // Swordsman_Manual
+ if (countitem(2820)) delitem 2820,1; // Thief_Manual
+ if (countitem(2821)) delitem 2821,1; // Acolyte_Manual
+ if (countitem(2822)) delitem 2822,1; // Archer_Manual
+ if (countitem(2823)) delitem 2823,1; // Merchant_Manual
+ if (countitem(2824)) delitem 2824,1; // Mage_Manual
+ return;
+}
+
// ---------------------------- Swordman Guide -------------------------------
- script Swordman Guide#nv::NvSwd 728,{
if(job_novice_q < 16) {
@@ -1063,16 +1076,7 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
mes "[Swordman Guildsman]";
mes "Here is the Swordman manual.";
mes "I'll just take any manuals from any other classes you have.";
- next;
- mes "[Swordman Guildsman]";
- mes "Here is the Swordman manual.";
- mes "I'll just take any manuals from any other classes you have.";
- nude;
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2819,1; // Swordsman_Manual
next;
mes "[Swordman Guildsman]";
@@ -1094,17 +1098,7 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
mes "I see.";
mes "Then I'll end your training process and send you to the Swordman Guild.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "izlude",94,103;
warp "izlude_in",74,167;
end;
@@ -1235,12 +1229,7 @@ new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
mes "[Mage Guide]";
mes "Here is the Mage Manual.";
mes "I will take the other job registration forms and manuals from you.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ callfunc "F_NvErase";
getitem 2824,1; // Mage_Manual
next;
mes "[Mage Guide]";
@@ -1262,17 +1251,7 @@ new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
mes "Welcome!!";
mes "I will send you to the Mage Guilds union after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "geffen",119,38;
warp "geffen_in",163,98;
end;
@@ -1389,12 +1368,7 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "[Thief Guild Member]";
mes "Here, please take the Thief manual.";
mes "I'll just take the other class manuals while I'm at it.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2820,1; // Thief_Manual
next;
mes "[Thief Guild Member]";
@@ -1417,17 +1391,7 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "Ok, I see.";
mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "morocc",150,100;
warp "moc_prydb1",99,185;
end;
@@ -1559,12 +1523,7 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "[Merchant Guide]";
mes "Here is the Merchant skill manual.";
mes "I will take other job manuals from you while I'm at it.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2823,1; // Merchant_Manual
next;
mes "[Merchant Guide]";
@@ -1587,17 +1546,7 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "Welcome!!";
mes "I will send you to the Merchant Guild's union after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "alberta",29,231;
warp "alberta_in",62,44;
end;
@@ -1704,12 +1653,7 @@ new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
next;
mes "[Archer Guide]";
mes "I will take the other job manuals from you while you test the Archer manual out.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2822,1; // Archer_Manual
next;
mes "[Archer Guide]";
@@ -1731,17 +1675,7 @@ new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
mes "Welcome!!";
mes "I will send you to the Archer Guild after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "payon",256,242;
warp "payon_in02",64,65;
end;
@@ -1807,12 +1741,7 @@ new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
mes "[Prontera Acolyte]";
mes "Here you go, the instruction manual of an Acolyte.";
mes "I will take away those other job's manuals while you study this one.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2821,1; // Acolyte_Manual
next;
mes "[Prontera Acolyte]";
@@ -1830,17 +1759,7 @@ new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
mes "That's great.";
mes "Then I will completely end the Training Process and send you to the Cathedral of Prontera.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "prontera",117,72;
warp "prt_church",172,19;
end;
@@ -1969,17 +1888,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
mes "Take care and may Freya bless you on your journey.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "prontera",122,77;
warp "prontera",121,76;
end;
@@ -1988,17 +1897,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "The desert city of Morocc was recently destroyed.";
mes "I will send you to the camp where the survivors are.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "moc_ruins",71,157;
warp "moc_ruins",70,158;
end;
@@ -2007,17 +1906,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "Just north of Payon you'll find the Archer Village.";
mes "Good luck on your journeys.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "payon",167,68;
warp "payon",172,111;
end;
@@ -2027,17 +1916,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "It's the main hub of all trades.";
mes "If you want to travel to other civilizations, Alberta is the only outlet.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "alberta",115,57;
warp "alberta",116,58;
end;
@@ -2047,17 +1926,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "I will send you near the Fountains.";
mes "Goddess Freya bless you.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "geffen",118,36;
warp "geffen",128,66;
end;
@@ -2133,55 +2002,14 @@ new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
mes "[Trainer Brutus]";
mes "I see, then let me guide you to another level. Which level do you want to go to?";
next;
- for(set .@i,1; .@i<=5; set .@i,.@i+1) {
- if(strnpcinfo(2) == "nv1") {
- set .@select$,"Send me to Level 2:Send me to Level 3:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv2") {
- set .@select$,"Send me to Level 1:Send me to Level 3:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv3") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv4") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv5") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 4";
- }
- }
- switch(select(""+.@select$+":Cancel")) {
- case 1:
- if(strnpcinfo(2) == "nv1") {
- warp "new_2-3",96,21;
- }else{
- warp "new_1-3",96,21;
- }
- end;
- case 2:
- if(strnpcinfo(2) == "nv1" || strnpcinfo(2) == "nv2") {
- warp "new_3-3",96,21;
- }else{
- warp "new_2-3",96,21;
- }
- end;
- case 3:
- if(strnpcinfo(2) == "nv4" || strnpcinfo(2) == "nv5") {
- warp "new_3-3",96,21;
- }else{
- warp "new_4-3",96,21;
- }
- end;
- case 4:
- if(strnpcinfo(2) == "nv5") {
- warp "new_4-3",96,21;
- }else{
- warp "new_5-3",96,21;
- }
- end;
- case 5:
- close;
+ for(set .@i,1; .@i<6; set .@i,.@i+1) {
+ if (!compare(strnpcinfo(2),"nv"+.@i))
+ set .@menu$, .@menu$+"Send me to Level "+.@i;
+ set .@menu$, .@menu$+":";
}
+ set .@i, select(.@menu$+"Cancel");
+ if (.@i < 7) warp "new_"+.@i+"-3",96,21;
+ close;
case 2:
mes "[Trainer Brutus]";
mes "You seem eager to fight.";
diff --git a/npc/pre-re/other/powernpc.txt b/npc/pre-re/other/powernpc.txt
index a563a190f..208503a37 100644
--- a/npc/pre-re/other/powernpc.txt
+++ b/npc/pre-re/other/powernpc.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= KarLaeda
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= Athena SVN 9000+
//===== Additional Comments: =================================
diff --git a/npc/pre-re/other/pvp.txt b/npc/pre-re/other/pvp.txt
index 6dfc0631b..6782c7473 100644
--- a/npc/pre-re/other/pvp.txt
+++ b/npc/pre-re/other/pvp.txt
@@ -3,15 +3,16 @@
//===== By: ==================================================
//= kobra_k88; L0ne_W0lf, Elias (og2)
//===== Current Version: =====================================
-//= 2.0
+//= 2.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= PvP NPCs that are found in the Inns in major cities.
-//= Includes Yoyo Mode, Nightmare Mode, and Event Mode
+//= Includes Yoyo Mode, Nightmare Mode, and Event Mode.
//===== Additional Comments: =================================
//= 2.0 Narrators/GateKeepers,etc. Translated from the Official 2011 [Elias]
//= 2.1 Changed PVP Narrator and GateKeeper to Floating NPC [Elias]
+//= 2.2 Some cleaning. [Euphy]
//============================================================
- script PVP Narrator::pvpe -1,{
@@ -257,7 +258,7 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
close;
}
-//Gate Keeper's Duplicates
+//Gate Keeper Duplicates
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
@@ -266,101 +267,26 @@ 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") {
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- break;
- }
-close;
+ 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;
} 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- break;
- }
-close;
-}
+ 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]+"]:";
+ set .@menu$, .@menu$+"Cancel.";
+ set .@i, select(.@menu$)-1;
+ if (.@i == 5) close;
+ if (getmapusers(.@Maps$[.@i]) >= .@Limit[.@i]) {
+ mes "[PVP Fight Square Reception Staff]";
+ mes "This map is currently full.";
+ }
+ else warp .@Maps$[.@i],0,0;
+ close;
OnInit:
waitingroom "Free for all",0;
@@ -529,7 +455,7 @@ OnTouch:
mes "Did you have fun in Combat Square?";
mes "May I ask where you want to go?";
next;
- switch(select("prontera.:morocc.:geffen.:payon.:alberta.:Cancel.")) {
+ 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;
diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt
index 2a485ef3f..a7b9c679d 100644
--- a/npc/re/jobs/novice/novice.txt
+++ b/npc/re/jobs/novice/novice.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@@ -12,6 +12,7 @@
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
//= 1.1 Updated warps, savepoints, NPC locations. [Kisuka]
+//= 1.2 Cleaning. [Euphy]
//============================================================
//============================================================================
@@ -136,7 +137,6 @@ new_1-2,100,29,4 script Sprakki#nv2 90,{
}
}
-
//============================================================================
// Instructor Brade
//============================================================================
@@ -189,7 +189,7 @@ new_1-2,100,105,4 script Brade#nv 733,{
mes "The item window has 3 sections...";
next;
mes "[Instructor Brade]";
- mes "consumable items, equipment and other items.";
+ mes "Consumable items, equipment, and other items.";
mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
next;
mes "[Instructor Brade]";
@@ -282,12 +282,8 @@ new_1-2,100,105,4 script Brade#nv 733,{
}
else if(job_novice_q == 5 || job_novice_q == 6) {
set .@EquipCheck,0;
- if (getequipisequiped(EQI_SHOES)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_ARMOR)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_GARMET)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HEAD_TOP)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HAND_L)) { set .@EquipCheck,.@EquipCheck+1; }
- if (getequipisequiped(EQI_HAND_R)) { set .@EquipCheck,.@EquipCheck+1; }
+ for(set .@i,1; .@i<7; set .@i,.@i+1)
+ if (getequipisequiped(.@i)) set .@EquipCheck, .@EquipCheck+1;
if(.@EquipCheck >= 4) {
if(job_novice_q == 5) {
mes "[Instructor Brade]";
@@ -626,7 +622,6 @@ new_1-2,32,172,4 script Chocolat#nv 96,{
}
}
-
// ---------- Kafra ----------
new_1-2,29,176,4 script Kafra#nv 117,{
if(job_novice_q < 10) {
@@ -973,7 +968,7 @@ new_1-2,35,176,4 script Soldier#nv 105,{
next;
mes "[Brade]";
mes "Try using the job manuals to find out the characteristics of each job's skills.";
- mes "I will restore your HP and SP...Keep it up.";
+ mes "I will restore your HP and SP... Keep it up.";
percentheal 100,100;
skilleffect 28,9999;
close;
@@ -989,6 +984,24 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
//============================================================================
// Job Guides (Real Combat Training)
//============================================================================
+// --------------------------- Deletion Function ------------------------------
+function script F_NvErase {
+ if (getarg(0,0)) {
+ if (checkquest(7123) == 0 || checkquest(7123) == 1) erasequest 7123;
+ if (checkquest(7124) == 0 || checkquest(7124) == 1) erasequest 7124;
+ if (checkquest(7126) == 0 || checkquest(7126) == 1) erasequest 7126;
+ if (checkquest(7127) == 0 || checkquest(7127) == 1) erasequest 7127;
+ }
+ nude;
+ if (countitem(2819)) delitem 2819,1; // Swordsman_Manual
+ if (countitem(2820)) delitem 2820,1; // Thief_Manual
+ if (countitem(2821)) delitem 2821,1; // Acolyte_Manual
+ if (countitem(2822)) delitem 2822,1; // Archer_Manual
+ if (countitem(2823)) delitem 2823,1; // Merchant_Manual
+ if (countitem(2824)) delitem 2824,1; // Mage_Manual
+ return;
+}
+
// ---------------------------- Swordman Guide -------------------------------
- script Swordman Guide#nv::NvSwd 728,{
if(job_novice_q < 16) {
@@ -1063,16 +1076,7 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
mes "[Swordman Guildsman]";
mes "Here is the Swordman manual.";
mes "I'll just take any manuals from any other classes you have.";
- next;
- mes "[Swordman Guildsman]";
- mes "Here is the Swordman manual.";
- mes "I'll just take any manuals from any other classes you have.";
- nude;
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2819,1; // Swordsman_Manual
next;
mes "[Swordman Guildsman]";
@@ -1094,17 +1098,7 @@ new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
mes "I see.";
mes "Then I'll end your training process and send you to the Swordman Guild.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "izlude",94,103;
warp "izlude_in",74,167;
end;
@@ -1235,12 +1229,7 @@ new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
mes "[Mage Guide]";
mes "Here is the Mage Manual.";
mes "I will take the other job registration forms and manuals from you.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ callfunc "F_NvErase";
getitem 2824,1; // Mage_Manual
next;
mes "[Mage Guide]";
@@ -1262,17 +1251,7 @@ new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
mes "Welcome!!";
mes "I will send you to the Mage Guilds union after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "geffen",119,38;
warp "geffen_in",163,98;
end;
@@ -1389,12 +1368,7 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "[Thief Guild Member]";
mes "Here, please take the Thief manual.";
mes "I'll just take the other class manuals while I'm at it.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2820,1; // Thief_Manual
next;
mes "[Thief Guild Member]";
@@ -1417,17 +1391,7 @@ new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
mes "Ok, I see.";
mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "morocc",150,100;
warp "moc_prydb1",99,185;
end;
@@ -1559,12 +1523,7 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "[Merchant Guide]";
mes "Here is the Merchant skill manual.";
mes "I will take other job manuals from you while I'm at it.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2823,1; // Merchant_Manual
next;
mes "[Merchant Guide]";
@@ -1587,17 +1546,7 @@ new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
mes "Welcome!!";
mes "I will send you to the Merchant Guild's union after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "alberta",29,231;
warp "alberta_in",62,44;
end;
@@ -1704,12 +1653,7 @@ new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
next;
mes "[Archer Guide]";
mes "I will take the other job manuals from you while you test the Archer manual out.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2822,1; // Archer_Manual
next;
mes "[Archer Guide]";
@@ -1731,17 +1675,7 @@ new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
mes "Welcome!!";
mes "I will send you to the Archer Guild after you complete your Novice training.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "payon",256,242;
warp "payon_in02",64,65;
end;
@@ -1807,12 +1741,7 @@ new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
mes "[Prontera Acolyte]";
mes "Here you go, the instruction manual of an Acolyte.";
mes "I will take away those other job's manuals while you study this one.";
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase";
getitem 2821,1; // Acolyte_Manual
next;
mes "[Prontera Acolyte]";
@@ -1830,17 +1759,7 @@ new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
mes "That's great.";
mes "Then I will completely end the Training Process and send you to the Cathedral of Prontera.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "prontera",117,72;
warp "prt_church",172,19;
end;
@@ -1969,17 +1888,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
mes "Take care and may Freya bless you on your journey.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "prontera",122,77;
warp "prontera",121,76;
end;
@@ -1988,17 +1897,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "The desert city of Morocc was recently destroyed.";
mes "I will send you to the camp where the survivors are.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "moc_ruins",71,157;
warp "moc_ruins",70,158;
end;
@@ -2007,17 +1906,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "Just north of Payon you'll find the Archer Village.";
mes "Good luck on your journeys.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "payon",167,68;
warp "payon",172,111;
end;
@@ -2027,17 +1916,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "It's the main hub of all trades.";
mes "If you want to travel to other civilizations, Alberta is the only outlet.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "alberta",115,57;
warp "alberta",116,58;
end;
@@ -2047,17 +1926,7 @@ new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
mes "I will send you near the Fountains.";
mes "Goddess Freya bless you.";
close2;
- if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
- if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
- if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
- if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
- nude;
- if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
- if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
- if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
- if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
- if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
- if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ callfunc "F_NvErase",1;
savepoint "geffen",118,36;
warp "geffen",128,66;
end;
@@ -2133,55 +2002,14 @@ new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
mes "[Trainer Brutus]";
mes "I see, then let me guide you to another level. Which level do you want to go to?";
next;
- for(set .@i,1; .@i<=5; set .@i,.@i+1) {
- if(strnpcinfo(2) == "nv1") {
- set .@select$,"Send me to Level 2:Send me to Level 3:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv2") {
- set .@select$,"Send me to Level 1:Send me to Level 3:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv3") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 4:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv4") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 5";
- }
- if(strnpcinfo(2) == "nv5") {
- set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 4";
- }
- }
- switch(select(""+.@select$+":Cancel")) {
- case 1:
- if(strnpcinfo(2) == "nv1") {
- warp "new_2-3",96,21;
- }else{
- warp "new_1-3",96,21;
- }
- end;
- case 2:
- if(strnpcinfo(2) == "nv1" || strnpcinfo(2) == "nv2") {
- warp "new_3-3",96,21;
- }else{
- warp "new_2-3",96,21;
- }
- end;
- case 3:
- if(strnpcinfo(2) == "nv4" || strnpcinfo(2) == "nv5") {
- warp "new_3-3",96,21;
- }else{
- warp "new_4-3",96,21;
- }
- end;
- case 4:
- if(strnpcinfo(2) == "nv5") {
- warp "new_4-3",96,21;
- }else{
- warp "new_5-3",96,21;
- }
- end;
- case 5:
- close;
+ for(set .@i,1; .@i<6; set .@i,.@i+1) {
+ if (!compare(strnpcinfo(2),"nv"+.@i))
+ set .@menu$, .@menu$+"Send me to Level "+.@i;
+ set .@menu$, .@menu$+":";
}
+ set .@i, select(.@menu$+"Cancel");
+ if (.@i < 7) warp "new_"+.@i+"-3",96,21;
+ close;
case 2:
mes "[Trainer Brutus]";
mes "You seem eager to fight.";
diff --git a/npc/re/other/powernpc.txt b/npc/re/other/powernpc.txt
index a563a190f..208503a37 100644
--- a/npc/re/other/powernpc.txt
+++ b/npc/re/other/powernpc.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= KarLaeda
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= Athena SVN 9000+
//===== Additional Comments: =================================
diff --git a/npc/re/other/pvp.txt b/npc/re/other/pvp.txt
index 6dfc0631b..6782c7473 100644
--- a/npc/re/other/pvp.txt
+++ b/npc/re/other/pvp.txt
@@ -3,15 +3,16 @@
//===== By: ==================================================
//= kobra_k88; L0ne_W0lf, Elias (og2)
//===== Current Version: =====================================
-//= 2.0
+//= 2.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= PvP NPCs that are found in the Inns in major cities.
-//= Includes Yoyo Mode, Nightmare Mode, and Event Mode
+//= Includes Yoyo Mode, Nightmare Mode, and Event Mode.
//===== Additional Comments: =================================
//= 2.0 Narrators/GateKeepers,etc. Translated from the Official 2011 [Elias]
//= 2.1 Changed PVP Narrator and GateKeeper to Floating NPC [Elias]
+//= 2.2 Some cleaning. [Euphy]
//============================================================
- script PVP Narrator::pvpe -1,{
@@ -257,7 +258,7 @@ geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84
close;
}
-//Gate Keeper's Duplicates
+//Gate Keeper Duplicates
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
@@ -266,101 +267,26 @@ 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") {
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- break;
- }
-close;
+ 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;
} 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- break;
- }
-close;
-}
+ 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]+"]:";
+ set .@menu$, .@menu$+"Cancel.";
+ set .@i, select(.@menu$)-1;
+ if (.@i == 5) close;
+ if (getmapusers(.@Maps$[.@i]) >= .@Limit[.@i]) {
+ mes "[PVP Fight Square Reception Staff]";
+ mes "This map is currently full.";
+ }
+ else warp .@Maps$[.@i],0,0;
+ close;
OnInit:
waitingroom "Free for all",0;
@@ -529,7 +455,7 @@ OnTouch:
mes "Did you have fun in Combat Square?";
mes "May I ask where you want to go?";
next;
- switch(select("prontera.:morocc.:geffen.:payon.:alberta.:Cancel.")) {
+ 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;