diff options
Diffstat (limited to 'npc/pre-re/other/pvp.txt')
-rw-r--r-- | npc/pre-re/other/pvp.txt | 466 |
1 files changed, 0 insertions, 466 deletions
diff --git a/npc/pre-re/other/pvp.txt b/npc/pre-re/other/pvp.txt deleted file mode 100644 index 6782c7473..000000000 --- a/npc/pre-re/other/pvp.txt +++ /dev/null @@ -1,466 +0,0 @@ -//===== rAthena Script ======================================= -//= PvP NPCs -//===== By: ================================================== -//= kobra_k88; L0ne_W0lf, Elias (og2) -//===== Current Version: ===================================== -//= 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. -//===== 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,{ - mes "[PVP Narrator]"; - mes "Hello and welcome!"; - mes "I am in charge of"; - mes "explaining the PVP Mode."; - mes "I am the PVP Narrator!"; - next; - switch(select("What is PVP?","What are the PVP Modes?","What are the rules for PVP?","Save Position.","End Dialog.")) - { - case 1: - mes "[PVP Narrator]"; - mes "In short form"; - mes "PVP means,"; - mes "' Player VS Player Mode '"; - mes "It's a unique place for people"; - mes "To duel with each other."; - next; - mes "[PVP Narrator]"; - mes "Just tell the"; - mes "^3355FFGate Keeper^000000"; - mes "That you want to try. He will"; - mes "let you into the PVP square."; - next; - mes "[PVP Narrator]"; - mes "But, You need to be at"; - mes "least level 31. And you"; - mes "must pay the 500 zeny"; - mes "entrance fee in order to"; - mes "To enter a PVP Fight Square."; - break; - case 2: - mes "[PVP Narrator]"; - mes "When you are qualified, You"; - mes "can choose one of two Modes."; - mes "Yoyo Mode, Or"; - mes "Nightmare Mode."; - next; - mes "[PVP Narrator]"; - mes "Yoyo Mode is risk free."; - mes "You can experience PVP"; - mes "without any restriction or"; - mes "punishment. It is recommended"; - mes "that you practice your skills"; - mes "here before you move on."; - next; - mes "[PVP Narrator]"; - mes "Nightmare Mode is very"; - mes "dangerous! Please use caution."; - mes "You will lose some of your real"; - mes "EXP when you are defeated. And"; - mes "There is a small chance that"; - mes "you will drop some equipment."; - next; - mes "[PVP Narrator]"; - mes "However, if you win, the"; - mes "rewards can be great!"; - mes "To avoid misunderstanding."; - mes "You should think it over"; - mes "twice before you go there..."; - mes "Good Luck!"; - break; - case 3: - mes "[PVP Narrator]"; - mes "Each of the Fight squares"; - mes "have a row of Narrators to"; - mes "choose from based on your"; - mes "qualifications."; - next; - mes "[PVP Narrator]"; - mes "Each Narrator will ask"; - mes "which of the five PVP maps"; - mes "you wish to go to."; - mes "Choose, and go in!"; - next; - mes "[PVP Narrator]"; - mes "Each map has a limitation on"; - mes "the number of people who can"; - mes "participate. So you will see"; - mes "figures in the corner showing"; - mes "'Attendee/total'."; - next; - mes "[PVP Narrator]"; - mes "Also, there is a hidden EXP"; - mes "value in PVP mode. This EXP"; - mes "score will only apply inside"; - mes "of the PVP zone, so do not"; - mes "worry."; - next; - mes "[PVP Narrator]"; - mes "Every player's EXP at the"; - mes "beginning is usually 5 points."; - mes "If you win, you will"; - mes "increse your EXP by 1 point"; - next; - mes "[PVP Narrator]"; - mes "In the same way, when you"; - mes "lose... Your EXP will"; - mes "drop by 5 points."; - mes "So be careful!"; - next; - mes "[PVP Narrator]"; - mes "When you are defeated"; - mes "And your EXP is equal"; - mes "to or less than 0,"; - mes "You will be removed from PVP"; - mes "And your duel is finished!"; - next; - mes "[PVP Narrator]"; - mes "However, If your EXP is more"; - mes "than 0. You can still get help"; - mes "Through other players healing..."; - mes "Do you get it?"; - next; - mes "[PVP Narrator]"; - mes "The fighting commands inside of"; - mes "PVP Are the same as the normal."; - mes "All the basic controls are the"; - mes "same."; - next; - mes "[PVP Narrator]"; - mes "However, there is one thing..."; - mes "Within the PVP fight square,"; - mes "And in the PVP fighting zones"; - mes "You cannot save your position."; - mes "Remember well... These rules"; - mes "can help to ensure your victory."; - break; - case 4: - mes "[PVP Narrator]"; - mes "Position saved..."; - mes "Successfully."; - mes "Thank you very much, We"; - mes "will see you again soon."; - if(strnpcinfo(4) == "morocc_in") { savepoint "morocc_in",141,139; } - if(strnpcinfo(4) == "alberta_in") { savepoint "alberta_in",22,148; } - if(strnpcinfo(4) == "prt_in") { savepoint "prt_in",54,137; } - if(strnpcinfo(4) == "geffen_in") { savepoint "geffen_in",70,59; } - if(strnpcinfo(4) == "payon_in01") { savepoint "payon_in01",142,46; } - break; - case 5: - mes "[PVP Narrator]"; - mes "In this war between Monsters"; - mes "and Humans. This competition"; - mes "between people, The PVP Mode!"; - mes "Encourages us all to become"; - mes "stronger. Come again."; - mes "We welcome your challenge!"; - break; - } -close; -} - -//PVP Narrator's Duplicates -morocc_in,144,138,4 duplicate(pvpe) PVP Narrator#pe1 84 -alberta_in,22,146,4 duplicate(pvpe) PVP Narrator#pe2 84 -prt_in,56,140,4 duplicate(pvpe) PVP Narrator#pe3 84 -geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe4 84 -payon_in01,142,50,4 duplicate(pvpe) PVP Narrator#pe5 84 -geffen_in,67,63,4 duplicate(pvpe) PVP Narrator#pe6 84 - -//Gate Keeper (Floating NPC, Locations below) -- script Gate Keeper::gkut -1,{ - mes "[Gate Keeper]"; - mes "Glad to be of service."; - mes "I will open the PVP fight"; - mes "square for you! If you have"; - mes "any questions about the PVP"; - mes "modes or rules, Please ask"; - mes "the Narrator..."; - next; - switch(select("^FF5533' PvP Nightmare Mode'^000000","^3355FF' PvP Yoyo Mode'^000000","^3355FF' PvP Event Mode'^000000","Quit")) - { - case 1: - mes "[Gate Keeper]"; - mes "I am sorry, but currently the Nightmare mode service is not available."; - mes "Please use the Yoyo mode instead. We apologize for the inconvenience."; - break; - case 2: - mes "[Gate Keeper]"; - mes "The admission fee is 500 Zeny."; - mes "Do you want to move"; - mes "to the Yoyo Mode"; - mes "fight square?"; - next; - switch(select("Move","Cancel")) { - case 1: - if ((Zeny > 499) && (BaseLevel > 30)) { - set Zeny, Zeny - 500; - warp "pvp_y_room",51,23; - } - else { - mes "[Gate Keeper]"; - mes "Excuse me, but"; - mes "did you not come prepared?"; - mes "Double check that you have the"; - mes "500 Zeny entrance fee, and"; - mes "that you are at least level 31!"; - } - break; - case 2: - mes "[Gate Keeper]"; - mes "In this war between Monsters"; - mes "and Humans. This competition"; - mes "between people, The PVP Mode!"; - mes "Encourages us all to become"; - mes "stronger. Come again."; - mes "We welcome your challenge!"; - break; - } - break; - case 3: - mes "[Gate Keeper]"; - mes "Welcome"; - mes "Please double check"; - mes "That you have the admission or viewing ticket!"; - next; - if ((countitem(7028) == 0) && (countitem(7029) == 0)) - { - mes "[Gate Keeper]"; - mes "Eh? You don't have it? Then I"; - mes "am sorry, this fight square is"; - mes "only for people who have"; - mes "admission or viewing tickets."; - mes "You cannot come in without it."; - close; - } - mes "[Gate Keeper]"; - mes "Yes, thank you for participating. Have fun!"; - warp "pvp_room",51,23; - break; - case 4: - mes "[Gate Keeper]"; - mes "In this war between Monsters"; - mes "and Humans. This competition"; - mes "between people, The PVP Mode!"; - mes "Encourages us all to become"; - mes "stronger. Come again."; - mes "We welcome your challenge!"; - break; - } -close; -} - -//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 -geffen_in,63,63,4 duplicate(gkut) Gate Keeper#gke4 83 -payon_in01,140,53,4 duplicate(gkut) Gate Keeper#gke5 83 - -//Fight square Reception Staff (Locations below) -- script FSRS::fsr -1,{ - if(strnpcinfo(4) == "pvp_y_room") { - setarray .@Maps$[0],"pvp_y_8-1","pvp_y_8-2","pvp_y_8-3","pvp_y_8-4","pvp_y_8-5"; - setarray .@Name$[0],"Prontera","Izlude","Payon","Alberta","Morroc"; - setarray .@Limit[0],128,128,128,128,128; - } else { - setarray .@Maps$[0],"pvp_n_8-1","pvp_n_8-2","pvp_n_8-3","pvp_n_8-4","pvp_n_8-5"; - setarray .@Name$[0],"Sandwich","Lock on","Four Room","Under cross","Compass Room"; - setarray .@Limit[0],64,32,32,32,32; - } - 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; -end; -} - -//Fight Square Reception Staff -pvp_y_room,86,85,4 duplicate(fsr) Fight SQ Reception#f1 105 -pvp_n_room,30,85,4 duplicate(fsr) Fight SQ Reception#f2 105 - -pvp_n_8-4,33,122,0 warp Link_1-11 0,2,pvp_n_8-4,0,0 -pvp_n_8-4,62,84,0 warp Link_1-12 1,1,pvp_n_8-4,0,0 -pvp_n_8-4,49,71,0 warp Link_1-21 1,1,pvp_n_8-4,0,0 -pvp_n_8-4,56,166,0 warp Link_1-22 1,1,pvp_n_8-4,0,0 -pvp_n_8-4,99,180,0 warp Link_1-31 2,1,pvp_n_8-4,0,0 -pvp_n_8-4,137,84,0 warp Link_1-32 1,1,pvp_n_8-4,0,0 -pvp_n_8-4,150,71,0 warp Link_1-41 1,1,pvp_n_8-4,0,0 -pvp_n_8-4,144,166,0 warp Link_1-42 1,1,pvp_n_8-4,0,0 -pvp_n_8-5,30,30,0 warp Link_1-99 3,3,pvp_n_8-5,100,100 - -// Event Contestant Entrance -//============================================================ -pvp_room,54,85,4 script Registration Staff#1 105,{ - if (countitem(7028) == 0) { - mes "[PVP Combat Square Register Staff]"; - mes "Eh? How did you get in here?"; - mes "This is the entrance for players only."; - mes "For details about viewers please proceed to the Register Staff on your right."; - close; - } - - if (.pvp_close_n_room == 1 && .pvp_close_s_room == 1 && .pvp_close_w_room == 1 && .pvp_close_e_room == 1) { - Set .pvp_close_n_room,0; - Set .pvp_close_s_room,0; - Set .pvp_close_w_room,0; - Set .pvp_close_e_room,0; - } - - if (select("Combat Square one :Cancel") == 1) { - mes "[PVP Combat Square Register Staff]"; - mes "'"+ strcharinfo(0) +"'"; - mes "Are you ready?!"; - next; - if (select("Yes!:No!") == 1) { - mes "[PVP Combat Square Register Staff]"; - mes "OK! I will send you inside"; - mes "Good luck!"; - close2; - delitem 7028,1; //Invite_For_Duel - while(1) { - switch(rand(1,4)) { - case 1: - if (.pvp_close_n_room == 0) { - set .pvp_close_n_room,1; - warp "pvp_2vs2",40,59; - end; - } - case 2: - if (.pvp_close_s_room == 0) { - set .pvp_close_s_room,1; - warp "pvp_2vs2",59,40; - end; - } - case 3: - if (.pvp_close_w_room == 0) { - set .pvp_close_w_room,1; - warp "pvp_2vs2",20,40; - end; - } - case 4: - if (.pvp_close_e_room == 0) { - set .pvp_close_e_room,1; - warp "pvp_2vs2",40,20; - end; - } - } - } - } - mes "[PVP Combat Square Register Staff]"; - mes "Come back anytime you are ready."; - close; - } - close; - -OnInit: - Set .pvp_close_n_room,0; - Set .pvp_close_s_room,0; - Set .pvp_close_w_room,0; - Set .pvp_close_e_room,0; - waitingroom "Combat Square players entrance only",0; - end; -} - -// Spectator Entrance -//============================================================ -- script Spectator's Entrance#dum::PVPSpectator -1,{ - if (countitem(7029) == 0) { - mes "[PVP Compete Square Register Staff]"; - mes "This is the entrance for viewers."; - mes "For details about players entrance please proceed to the Register Staff on your left."; - close; - } - - if (select("Compete Square one:Cancel") == 1) { - mes "[PVP Combat Square Register Staff]"; - mes "You got it, thanks for participating. Have fun!"; - close2; - delitem 7029,1; //Admission_For_Duel - switch(rand(1,4)) { - case 1: warp "pvp_2vs2",39,7; end; - case 2: warp "pvp_2vs2",39,73; end; - case 3: warp "pvp_2vs2",7,39; end; - case 4: warp "pvp_2vs2",73,39; end; - } - } - close; - -OnInit: - waitingroom "Compete Square viewer's entrance",0; - end; -} - -pvp_room,62,85,4 duplicate(PVPSpectator) Spectator's Entrance#1 105 -pvp_room,70,85,4 duplicate(PVPSpectator) Spectator's Entrance#2 105 -pvp_room,78,85,4 duplicate(PVPSpectator) Spectator's Entrance#3 105 -pvp_room,86,85,4 duplicate(PVPSpectator) Spectator's Entrance#4 105 - -// Spectator Warps -//============================================================ -- script Combat Square Staff#dum::PVPSpecWarp -1,{ -OnTouch: - mes "[Combat Square Staff]"; - mes "May I help you?"; - if (select("To the center viewer seat.:Leave Combat Square.") == 1) { - warp "pvp_2vs2",38,38; - end; - } - warp "pvp_room",84,39; - end; -} - -pvp_2vs2,5,4,0 duplicate(PVPSpecWarp) Combat Square Staff#1 45,1,1,{ -pvp_2vs2,5,74,0 duplicate(PVPSpecWarp) Combat Square Staff#2 45,1,1 -pvp_2vs2,74,74,0 duplicate(PVPSpecWarp) Combat Square Staff#3 45,1,1 -pvp_2vs2,74,5,0 duplicate(PVPSpecWarp) Combat Square Staff#4 45,1,1 -pvp_2vs2,40,40,0 script Combat Square Staff#5 45,1,1,{ - mes "[Combat Square Staff]"; - mes "May I help you?"; - if (select("To the side viewer seat.:Leave Combat Square.") == 1) { - switch(rand(1,4)) { - case 1: warp "pvp_2vs2",39,7; end; - case 2: warp "pvp_2vs2",39,73; end; - case 3: warp "pvp_2vs2",7,39; end; - case 4: warp "pvp_2vs2",73,39; end; - } - } - warp "pvp_c_room",84,39; - end; -} - -// PVP Area Exit warp -//============================================================ -pvp_room,51,19,0 script out#eventpvp 45,4,2,{ -OnTouch: - mes "[Combat Square Staff]"; - 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.")) { - case 1: warp "prontera",107,60; end; - case 2: warp "morocc",157,96; end; - case 3: warp "geffen",120,36; end; - case 4: warp "payon",96,100; end; - case 5: warp "alberta",41,243; end; - case 6: close; - } -} |