diff options
-rw-r--r-- | npc/pre-re/jobs/novice/novice.txt | 268 | ||||
-rw-r--r-- | npc/pre-re/other/powernpc.txt | 2 | ||||
-rw-r--r-- | npc/pre-re/other/pvp.txt | 122 | ||||
-rw-r--r-- | npc/re/jobs/novice/novice.txt | 268 | ||||
-rw-r--r-- | npc/re/other/powernpc.txt | 2 | ||||
-rw-r--r-- | npc/re/other/pvp.txt | 122 |
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; |