summaryrefslogtreecommitdiff
path: root/npc/other/arena/arena_room.txt
diff options
context:
space:
mode:
authorSinSloth <SinSloth@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-31 11:56:28 +0000
committerSinSloth <SinSloth@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-31 11:56:28 +0000
commit6ae10f06358dc58c273953e3be0bad464a039e45 (patch)
treece7a7ded7effe4d41e3c8239d09f40c3a9a57962 /npc/other/arena/arena_room.txt
parent01125519eed1ab1d2293e96e859e6711365b3d12 (diff)
downloadhercules-6ae10f06358dc58c273953e3be0bad464a039e45.tar.gz
hercules-6ae10f06358dc58c273953e3be0bad464a039e45.tar.bz2
hercules-6ae10f06358dc58c273953e3be0bad464a039e45.tar.xz
hercules-6ae10f06358dc58c273953e3be0bad464a039e45.zip
* Added Izlude Battle Arena. Please test it and report any bug you find out.
- Level 50/60/70/80 and Party arenas are accessable. - Updated old warps to official. - Acolyte-only arena will be added a bit later. - Arena Points can be obtained by completing arenas as well as exchanging your Turbo Track points. * Updated several mapflags - 'nomemo' 'noteleport' 'nosave' 'nowarpto' 'restricted' - due to Izlude Battle Arena release. - Updated 'item_noequip' and 'skill_nocast_db' to match with 'restricted' mapflags. * Removed useless WIP folder whose quests have been there for a while. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11622 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/other/arena/arena_room.txt')
-rw-r--r--npc/other/arena/arena_room.txt1226
1 files changed, 1226 insertions, 0 deletions
diff --git a/npc/other/arena/arena_room.txt b/npc/other/arena/arena_room.txt
new file mode 100644
index 000000000..c203c0704
--- /dev/null
+++ b/npc/other/arena/arena_room.txt
@@ -0,0 +1,1226 @@
+//===== eAthena Script ========================================
+//= Izlude Arena Room
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Izlude Battle Arena Main Room
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+arena_room,94,93,5 script Vendigos 97,{
+
+ mes "[Vendigos]";
+ mes "Welcome to the world of Arena, the battle against a time limit.";
+ mes "My name is Vendigos, I am here to help you.";
+ next;
+ mes "[Vendigos]";
+ mes "If you have any questions, feel free to ask me.";
+L_Menu:
+ next;
+ switch( select( "How to challenge","About Arena Points","My Current Arena Points","Cancel" ) )
+ {
+ case 1:
+ mes "[Vendigos]";
+ mes "There are two different kinds of arena mode such as ^3131FFPlayer Mode^000000 and ^3131FFParty Mode^000000.";
+ next;
+ mes "[Vendigos]";
+ mes "^3131FFPlayer Mode^000000 consists of 4 different stages based on character level from 50~80.";
+ mes "For a party with 5 members, they can participate in ^3131FFParty Mode^000000.";
+ next;
+ mes "[Vendigos]";
+ mes "For ^3131FFeach Player Mode Stage^000000, characters who are 20 levels higher than the level requirement on each stage cannot enter. This is to prevent high level characters preoccupying a low level stage.";
+ next;
+ mes "[Vendigos]";
+ mes "There are the NPCs for Player Mode Stages from 12 o'clock direction to the reversed clock direction.";
+ mes "While you're waiting in a chat room, you will be automatically guided to an arena room by the waiting order.";
+ break;
+
+ case 2:
+ mes "[Vendigos]";
+ mes "Let me explain about the ^3131FFArena Point^000000.";
+ mes "It is a reward point for players who ^3131FFsuccessfully cleared a arena stage^000000, a player can possess the maximum 30,000 points.";
+ next;
+ mes "[Vendigos]";
+ mes "Even if you did not clear a stage due to time-over or other errors, you will be given a very small amount of arena points.";
+ next;
+ mes "[Vendigos]";
+ mes "Regarding the use of Arena Points,";
+ mes "we are providing various services such as souvenir photograph services through an NPC named Givu.";
+ break;
+
+ case 3:
+ mes "[Vendigos]";
+ mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ next;
+ mes "[Vendigos]";
+ mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ next;
+ mes "[Vendigos]";
+ mes "If you wish to know how to use arena points, please refer to the 2nd menu ^3131FF'About Arena Points'^000000.";
+ break;
+
+ case 4:
+ mes "[Vendigos]";
+ mes "Okay, please have a good time.";
+ close;
+ }
+ next;
+ mes "[Vendigos]";
+ mes "Is there anything I can help you more?";
+ goto L_Menu;
+
+Onlinerec_50:
+ mapannounce "arena_room",""+$arena_50topn$+" has renewed the top record in the Arena Time Force Battle level 50. Congratulations!",0;
+ end;
+
+Onlinerec_60:
+ mapannounce "arena_room",""+$arena_60topn$+" has renewed the top record in the Arena Time Force Battle level 60. Congratulations!",0;
+ end;
+
+Onlinerec_70:
+ mapannounce "arena_room",""+$arena_70topn$+" has renewed the top record in the Arena Time Force Battle level 70. Congratulations!",0;
+ end;
+Onlinerec_80:
+ mapannounce "arena_room",""+$arena_80topn$+" has renewed the top record in the Arena Time Force Battle level 80. Congratulations!",0;
+ end;
+
+Onlinerec_pt:
+ mapannounce "arena_room","Party "+$arena_pttopn$+" has renewed the top record in the Arena Time Force Battle. Congratulations!",0;
+ end;
+
+//OnCommand: "linerec_vs"
+// var vs_winner = GetGlobalStr "040611_arn_vstopn"
+// broadcastinmap "Party "+vs_winner+" has renewed the top record in the Arena Time Force Battle. Congratulations!"
+// end;
+
+}
+
+arena_room,105,82,5 script Arena Record Staff 57,{
+
+ mes "[Owen Kheuv]";
+ mes "Hello, my name is Own Kheuv";
+ mes "in charge of every arena stage record of players.";
+ next;
+ mes "[Owen Kheuv]";
+ mes "Would you like to check the top record players in each stage?";
+ mes "If so, please choose a menu below.";
+ next;
+ switch( select( "lvl 50 Stage","lvl 60 Stage","lvl 70 Stage","lvl 80 Stage","Party Stage" ) )
+ {
+ case 1:
+ mes "[Owen Kheuv]";
+ mes "Currently the top player of the arena lvl 50 stage is ^3131FF "+$arena_50topn$+"^000000, the top record is ^3131FF"+$top_50min+"^000000 minutes ^3131FF"+$top_50sec+"^000000 seconds.";
+ close;
+
+ case 2:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 60 stage is ^3131FF"+$arena_60topn$+"^000000, the top record is ^3131FF"+$top_60min+"^000000 minutes ^3131FF"+$top_60sec+"^000000 seconds.";
+ close;
+
+ case 3:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 70 stage is ^3131FF"+$arena_70topn$+"^000000, the top record is ^3131FF"+$top_70min+"^000000 minutes ^3131FF"+$top_70sec+"^000000 seconds.";
+ close;
+
+ case 4:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 80 stage is ^3131FF"+$arena_80topn$+"^000000, the top record is ^3131FF"+$top_80min+"^000000 minutes ^3131FF"+$top_80sec+"^000000 seconds.";
+ close;
+
+ case 5:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top party is ^3131FF"+$arena_pttopn$+"^000000, the top record is ^3131FF"+$top_ptmin+"^000000 minutes ^3131FF"+$top_ptsec+"^000000 seconds.";
+ close;
+ }
+}
+
+arena_room,68,135,3 script Helper Pat 726,{
+
+ mes "[Pat]";
+ mes "Welcome, welcome.";
+ mes "I am a helper of the lvl 50 arena stage.";
+ next;
+ mes "[Pat]";
+ mes "This ^3131FFlvl 50 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 50^000000 to ^FF0000level 69^000000.";
+ next;
+ mes "[Pat]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Pat]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Pat]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Pat]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFHeel and Toe^000000 guides you. ";
+ next;
+ mes "[Pat]";
+ mes "You have a ^3131FF5 minutes^000000 battle time.";
+ next;
+ mes "[Pat]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Pat]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Pat]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,41,93,5 script Helper Ben 750,{
+
+ mes "[Ben]";
+ mes "Welcome, welcome.";
+ mes "I am a helper of the lvl 60 arena stage.";
+ next;
+ mes "[Ben]";
+ mes "This ^3131FFlvl 60 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 60^000000 to ^FF0000level 79^000000.";
+ next;
+ mes "[Ben]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Ben]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Ben]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Ben]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFMinilover^000000 guides you. ";
+ next;
+ mes "[Ben]";
+ mes "You have a ^3131FF6 minutes^000000 battle time.";
+ next;
+ mes "[Ben]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Ben]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Ben]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,53,49,5 script Helper Vicious 730,{
+
+ mes "[Vicious]";
+ mes "Hey there.";
+ mes "My name is Vicious, I am a helper of lvl 70 arena stage.";
+ mes "(...I have no clue how the hell I put myself into this crappy work...mumble mumble...grumble grumble..)";
+ next;
+ mes "[Vicious]";
+ mes "This ^3131FFlvl 70 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 70^000000 to ^FF0000level 89^000000.";
+ next;
+ mes "[Vicious]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Vicious]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Vicious]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Vicious]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFCadilac^000000 guides you. ";
+ next;
+ mes "[Vicious]";
+ mes "You have a ^3131FF7 minutes^000000 battle time.";
+ next;
+ mes "[Vicious]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Vicious]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Remember that.";
+ next;
+ mes "[Vicious]";
+ mes "Okay, take care now.";
+ close;
+}
+
+arena_room,147,49,3 script Helper Epin 727,{
+
+ mes "[Epin]";
+ mes "Good day,";
+ mes "I am a helper of lvl 80 arena stage and my name is Epin.";
+ mes "I like reading and I am 19 years old...huh...? Don't you want to hear about me...?";
+ next;
+ emotion e_cry,0;
+ mes "[Epin]";
+ mes "Okay...";
+ next;
+ mes "[Epin]";
+ mes "This ^3131FFlvl 80 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 80^000000 to ^FF0000level 99^000000.";
+ next;
+ mes "[Epin]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Epin]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Epin]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Epin]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFActus^000000 guides you. ";
+ next;
+ mes "[Epin]";
+ mes "You have a ^3131FF8 minutes^000000 battle time.";
+ next;
+ mes "[Epin]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Epin]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Epin]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,158,93,5 script Helper Lunic 828,{
+
+ mes "[Lunic]";
+ mes "Welcome to party arena stage.";
+ mes "I hope you will listen carefully to my introduction";
+ mes "since this party arena stage is a little bit different from player mode stages.";
+ next;
+ mes "[Lunic]";
+ mes "^3131FFParty Arena Stage^000000";
+ mes "is accessible to players from ^FF0000level 10^000000 to ^FF0000level 99^000000.";
+ next;
+ mes "[Lunic]";
+ mes "Also, arena will be not be started until all of 5 party members enter the room. We accept an entrance fee 1,000 zeny.";
+ next;
+ mes "[Lunic]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Lunic]";
+ mes "^3131FFGroup a party with your friends and wait in a chat room^000000.";
+ mes "You must form a party beforehand. If you didn't do, you could still play but you would have a lot of inconvenience.";
+ next;
+ mes "[Lunic]";
+ mes "Also please remember 5 players automatically warped to the arena room will be in order of ^FF0000entering a chat room^000000 not in order of ^FF0000party^000000. Please remember that.";
+ next;
+ mes "[Lunic]";
+ mes "And please form a party with ^3131FF5 players^000000 before you enter a chat room.";
+ next;
+ mes "[Lunic]";
+ mes "When it becomes your turn, you will be warped into a small map where a warp and a help NPC are located.";
+ mes "In case you enter with members of a different party, use the warp to escape the map. Then you will return to the waiting room.";
+ next;
+ mes "[Lunic]";
+ mes "In case you enter with your party members, please proceed speaking with the help NPC in the small map.";
+ mes "The help NPC is only accessible to talk ^FF0000 1 player ^000000at a time.";
+ next;
+ mes "[Lunic]";
+ mes "The NPC will guide you and your party members to the actual arena room.";
+ mes "However, if anyone in the party ^3131FFdoes not have enough money to pay the entrance fee, he will be warped outside^000000.";
+ next;
+ mes "[Lunic]";
+ mes "Also be aware that you can only stay inside the map for ^FF0000 1 minute^000000.";
+ next;
+ mes "[Lunic]";
+ mes "As immediately as you enter the arena map, a timer which calculates your battle time will be activated.";
+ mes "Please follow what ^3131FFSlipslowrun^000000 guides you. ";
+ next;
+ mes "[Lunic]";
+ mes "You will have ^3131FF10 minutes^000000 to clear the stage however it is not that easy to do. And you're advised to use the time wisely.";
+ next;
+ mes "[Lunic]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Lunic]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Lunic]";
+ mes "Besides, if a party make a new record on time to clear the map,";
+ mes "^3131FFthe party master^000000 can record ^3131FFthe party name^000000.";
+ next;
+ mes "[Lunic]";
+ mes "In this case, if a party has more than one master or none, it is impossible to write ^FF0000the top party record^000000.";
+ mes "Therefore, it is strongly suggested to form one party before entering the arena map.";
+ next;
+ mes "[Lunic]";
+ mes "Thank you for listening and";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,158,82,1 script Helper Lonik 828,{
+
+ emotion e_no1,0;
+ mes "[Lonik]";
+ mes "Tah dah! Here I am!";
+ next;
+ mes "[Lonik]";
+ mes "You are curious if there is anyone inside or not, aren't you?";
+ next;
+ mes "[Lonik]";
+ mes "My answer is...";
+ mes ".............";
+ if(getmapusers("force_1-2"))
+ {
+ emotion e_oh,0;
+ mes "Yes!";
+ mes "There is someone inside.";
+ next;
+ mes "[Lonik]";
+ mes "You'd better wait a little bit longer!";
+ }
+ else
+ {
+ emotion e_x,0;
+ mes "No!";
+ mes "Go for it, good luck!";
+ }
+ close;
+}
+
+sec_in02,72,180,3 script Arena Manager#arena 802,{
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Arena Manager]";
+ mes "Select an option.";
+ next;
+ switch( select( "Restart arena","Rearrange the Ranking Time" ) )
+ {
+ case 1:
+ switch( select( "lvl 50","lvl 60","lvl 70","lvl 80","Party Mode" ) )
+ {
+ case 1:
+ set .@arena,50;
+ break;
+ case 2:
+ set .@arena,60;
+ break;
+ case 3:
+ set .@arena,70;
+ break;
+ case 4:
+ set .@arena,80;
+ break;
+ case 5:
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "You have chosen to restart party arena stage.";
+ mes "Do you wish to proceed?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ donpcevent "Ponox::Onstart";
+ mes "[Arena Manager]";
+ mes "The arena stage has been successfuly reactivated.";
+ close;
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ }
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "You have chosen to restart lvl "+.@arena+" arena stage.";
+ mes "Do you wish to proceed?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ donpcevent "lvl "+.@arena+"s Waiting Room::Onstart";
+ mes "[Arena Manager]";
+ mes "The arena stage has been successfuly reactivated.";
+ close;
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "^CE0000You have chosen to rearrange the ranking time. Make sure this is not a good decision unless if something serious was happened!^000000";
+ next;
+ mes "[Arena Manager]";
+ mes "Are you sure you want to rearrange the ranking time?";
+ next;
+ switch( select( "No","Yes" ) )
+ {
+ case 1:
+ mes "[Arena Manager]";
+ mes "Phew~ :)";
+ close;
+
+ case 2:
+ switch( select( "lvl 50","lvl 60","lvl 70","lvl 80","Party Mode" ) )
+ {
+ case 1:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please write within 400 letters.";
+ next;
+ input .@arenamin;
+ set $top_50min,.@arenamin;
+ input .@arenasec;
+ set $top_50sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 50 ranker's play time has been rearranged to ^FF0000"+$top_50min+"^000000 minutes and ^FF0000"+$top_50sec+"^000000 seconds.";
+ close;
+ case 2:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please write within 400 letters.";
+ next;
+ input .@arenamin;
+ set $top_60min,.@arenamin;
+ input .@arenasec;
+ set $top_60sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 60 ranker's play time has been rearranged to ^FF0000"+$top_60min+"^000000 minutes and ^FF0000"+$top_60sec+"^000000 seconds.";
+ close;
+ case 3:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please write within 400 letters.";
+ next;
+ input .@arenamin;
+ set $top_70min,.@arenamin;
+ input .@arenasec;
+ set $top_70sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 70 ranker's play time has been rearranged to ^FF0000"+$top_70min+"^000000 minutes and ^FF0000"+$top_70sec+"^000000 seconds.";
+ close;
+ case 4:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please write within 400 letters.";
+ next;
+ input .@arenamin;
+ set $top_80min,.@arenamin;
+ input .@arenasec;
+ set $top_80sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 80 ranker's play time has been rearranged to ^FF0000"+$top_80min+"^000000 minutes and ^FF0000"+$top_80sec+"^000000 seconds.";
+ close;
+ case 5:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please write within 400 letters.";
+ next;
+ input .@arenamin;
+ set $top_ptmin,.@arenamin;
+ input .@arenasec;
+ set $top_ptsec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current party ranker's play time has been rearranged to ^FF0000"+$top_ptmin+"^000000 minutes and ^FF0000"+$top_ptsec+"^000000 seconds.";
+ close;
+ }
+ }
+ }
+ }
+ mes "Password is incorrect.";
+ close;
+}
+
+sec_in02,79,171,3 script Reward Manager#arena 802,{
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Reward Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Reward Manager]";
+ mes "You have chosen to hide the teleporter NPC.";
+ next;
+ switch( select( "Cancel","Yes","Turn on" ) )
+ {
+ case 1:
+ mes "[Reward Manager]";
+ mes "You have canceled the command.";
+ close;
+
+ case 2:
+ mes "[Reward Manager]";
+ mes "NPC has been hidden";
+ disablenpc "Teleporter#arena";
+ close;
+
+ case 3:
+ mes "[Reward Manager]";
+ mes "NPC has been enabled.";
+ enablenpc "Teleporter#arena";
+ close;
+ }
+ }
+ mes "[Reward Manager]";
+ mes "Password is incorrect.";
+ close;
+}
+
+arena_room,105,93,5 script Teleporter#arena 55,{
+
+ mes "[Teleporter]";
+ mes "I can move you to the reward arena!";
+ mes "Would you like to go there?";
+ next;
+ switch( select( "Yes.","No." ) )
+ {
+ case 1:
+ mes "[Teleporter]";
+ mes "Let me guide you.";
+ close2;
+ warp "prt_are_in",60,14;
+ end;
+
+ case 2:
+ mes "[Teleporter]";
+ mes "No problem, feel free to come back any time.";
+ close;
+ }
+}
+
+prt_are_in,98,14,3 script Givu#arena 728,{
+
+
+ if(checkweight(526,5) != 1)
+ {
+ mes "- Wait a moment! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please enlighten your weight -";
+ mes "- and try again. -";
+ close;
+ }
+ mes "[Givu]";
+ mes "Hello, there. Welcome to the world of Arena.";
+ mes "My name is Givu, I am in charge of arena point exchange program.";
+ next;
+ mes "[Givu]";
+ mes "You can exchange your arena points with various stuffs.";
+ mes "Please choose a menu below.";
+ next;
+ switch( select( "Exchange with Consumable items","Exchange with EXP points","Take a Souvenir Picture","Check Current Arena Points" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "What consumable item do you wish to exchange?";
+ next;
+ switch( select( "Honey","Royal Jelly","Mastela Fruit","Condensed White Potion","Anodyne","Yggdrasil Seed","Yggdrasilberry","Old Blue Box","Old Purple Box","Old Card Album" ) )
+ {
+ case 1: callfunc "Func_Are_Rew",518,5,20;
+ case 2: callfunc "Func_Are_Rew",526,5,30;
+ case 3: callfunc "Func_Are_Rew",522,5,30;
+ case 4: callfunc "Func_Are_Rew",547,8,30;
+ case 5: callfunc "Func_Are_Rew",605,3,20;
+ case 6: callfunc "Func_Are_Rew",608,1,20;
+ case 7: callfunc "Func_Are_Rew",607,1,40;
+ case 8: callfunc "Func_Are_Rew",603,1,100;
+ case 9: callfunc "Func_Are_Rew",617,1,300;
+ case 10: callfunc "Func_Are_Rew",516,1,1000;
+ }
+
+ case 2:
+ mes "[Givu]";
+ mes "Would you like to exchange your arena points with experience points?";
+ mes "It requires 40 arena points.";
+ next;
+ switch( select( "Cancel","Yes" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "You have canceled your request.";
+ close;
+
+ case 2:
+ if(arena_point < 40)
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ set arena_point,arena_point -40;
+ if(BaseLevel < 70) getexp 3000,0;
+ else if(BaseLevel < 80) getexp 9000,0;
+ else if(BaseLevel < 90) getexp 10000,0;
+ else if(BaseLevel < 100) getexp 30000,0;
+ mes "[Givu]";
+ mes "You have gained experience points. Thank you.";
+ close;
+ }
+
+ case 3:
+ mes "[Givu]";
+ mes "You have chosen a souvenir picture services.";
+ next;
+ switch( select( "About souvenir Picture Services","Take a picture" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "Do you see stairs at the right side of me?";
+ next;
+ mes "[Givu]";
+ mes "At the stairs, you can take a screenshot with an NPC or a monster.";
+ next;
+ mes "[Givu]";
+ mes "When you choose an NPC or a monster, it will show some emotion icons ^FF0000for 1 minute^000000.";
+ next;
+ mes "[Givu]";
+ mes "Don't miss the chance to take a picture with your favorite NPC!";
+ close;
+
+ case 2:
+ if($arenapic)
+ {
+ mes "[Givu]";
+ mes "A souvenir picture services is on progress. Please wait.";
+ close;
+ }
+ mes "[Givu]";
+ mes "Please choose an NPC at below.";
+ mes "The NPC will appear for 1 minute and this service requires 10 arena points.";
+ next;
+ switch( select( "Baphomet","Dark Lord","Doppelganger","Eddga","Dracula","Samurai","Stormy Knight","Phreeoni","Girl","Valkyrie" ) )
+ {
+ case 1: set $@arenapic,1039; break;
+ case 2: set $@arenapic,1272; break;
+ case 3: set $@arenapic,1046; break;
+ case 4: set $@arenapic,1115; break;
+ case 5: set $@arenapic,1389; break;
+ case 6: set $@arenapic,1492; break;
+ case 7: set $@arenapic,1251; break;
+ case 8: set $@arenapic,1159; break;
+ case 9: set $@arenapic,6969; break;
+ case 10: set $@arenapic,7777; break;
+ }
+ if(arena_point < 10)
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ mes "[Givu]";
+ if($@arenapic == 6969) mes "Would you like to take a picture with pretty girls?";
+ else if($@arenapic == 7777) mes "Would you like to take a picture with a Valkyrie?";
+ else mes "Would you like to take a picture with a "+getmonsterinfo($@arenapic,0)+"?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ set arena_point,arena_point -10;
+ set $arenapic,1;
+ enablenpc "#arena_"+$@arenapic+"";
+ movenpc "#arena_"+$@arenapic+"",96,28;
+ if($@arenapic == 6969)
+ {
+ enablenpc "#arena_ss_2";
+ enablenpc "#arena_ss_3";
+ enablenpc "#arena_ss_4";
+ }
+ donpcevent "npctime#arena::OnStart";
+ mes "[Givu]";
+ mes "Thank you.";
+ close;
+
+ case 2:
+ mes "[Givu]";
+ mes "Would you like to consider a little longer?";
+ close;
+ }
+ }
+
+ case 4:
+ mes "[Givu]";
+ mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ next;
+ mes "[Givu]";
+ mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ close;
+ }
+
+OnInit:
+ set $arenapic,0;
+ end;
+}
+
+prt_are_in,1,1,5 script #arena_1039 1039,{
+ end;
+
+OnInit:
+ disablenpc "#arena_6969";
+ disablenpc "#arena_ss_2";
+ disablenpc "#arena_ss_3";
+ disablenpc "#arena_ss_4";
+ disablenpc "#arena_1272";
+ disablenpc "#arena_1046";
+ disablenpc "#arena_1115";
+ disablenpc "#arena_1389";
+ disablenpc "#arena_1492";
+ disablenpc "#arena_1251";
+ disablenpc "#arena_1159";
+ disablenpc "#arena_7777";
+ disablenpc "#arena_1039";
+ end;
+
+OnHeart:
+ emotion e_lv,0;
+ end;
+OnSci:
+ emotion e_scissors,0;
+ end;
+OnBest:
+ emotion e_no1,0;
+ end;
+OnOmg:
+ emotion e_omg,0;
+ end;
+OnKik:
+ emotion e_gg,0;
+ end;
+OnKis:
+ emotion e_kis,0;
+ end;
+}
+
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_6969 714
+prt_are_in,94,26,5 duplicate(#arena_1039) #arena_ss_2 714
+prt_are_in,100,28,3 duplicate(#arena_1039) #arena_ss_3 714
+prt_are_in,102,26,3 duplicate(#arena_1039) #arena_ss_4 714
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1272 1272
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1046 1046
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1115 1115
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1389 1389
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1492 1492
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1251 1251
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1159 1159
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_7777 811
+
+prt_are_in,130,30,3 script npctime#arena 139,{
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnStart:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","Givu : You should keep time with popping emotion icons~",1,0xFFCE00;
+ end;
+
+OnTimer5000:
+ mapannounce "prt_are_in","Emoticon : /lv",1,0xFFCE00;
+ end;
+
+OnTimer7000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer8000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer9000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer10000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnHeart";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnHeart";
+ donpcevent "#arena_ss_3::OnHeart";
+ donpcevent "#arena_ss_4::OnHeart";
+ }
+ end;
+
+OnTimer15000:
+ mapannounce "prt_are_in","Emoticon : /gawi",1,0xFFCE00;
+ end;
+
+OnTimer17000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer18000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer19000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer20000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnSci";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnSci";
+ donpcevent "#arena_ss_3::OnSci";
+ donpcevent "#arena_ss_4::OnSci";
+ }
+ end;
+
+OnTimer25000:
+ mapannounce "prt_are_in","Emoticon : /no1",1,0xFFCE00;
+ end;
+
+OnTimer27000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer28000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer29000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer30000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnBest";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnBest";
+ donpcevent "#arena_ss_3::OnBest";
+ donpcevent "#arena_ss_4::OnBest";
+ }
+ end;
+
+OnTimer35000:
+ mapannounce "prt_are_in","Emoticon : /huk",1,0xFFCE00;
+ end;
+
+OnTimer37000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer38000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer39000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer40000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnOmg";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnOmg";
+ donpcevent "#arena_ss_3::OnOmg";
+ donpcevent "#arena_ss_4::OnOmg";
+ }
+ end;
+
+OnTimer45000:
+ mapannounce "prt_are_in","Emoticon : /gg",1,0xFFCE00;
+ end;
+
+OnTimer47000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer48000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer49000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer50000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnKik";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnKik";
+ donpcevent "#arena_ss_3::OnKik";
+ donpcevent "#arena_ss_4::OnKik";
+ }
+ end;
+
+OnTimer55000:
+ mapannounce "prt_are_in","Emoticon : /kis",1,0xFFCE00;
+ end;
+
+OnTimer57000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer58000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer59000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer60000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnKis";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnKis";
+ donpcevent "#arena_ss_3::OnKis";
+ donpcevent "#arena_ss_4::OnKis";
+ }
+ end;
+
+OnTimer62000:
+ mapannounce "prt_are_in","Time is over. Thank you for using my services.",1,0xFFCE00;
+ movenpc "#arena_"+$@arenapic+"",1,1;
+ donpcevent "#arena_1039::OnInit";
+ set $arenapic,0;
+ stopnpctimer;
+ end;
+}
+
+sec_in02,72,171,3 script Picture Manager#arena 802,{
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Picture Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Picture Manager]";
+ mes "Would you like to reset Picture Reward variable to 0?";
+ next;
+ switch( select( "Cancel","Yes" ) )
+ {
+ case 1:
+ mes "[Picture Manager]";
+ mes "You have canceled your request.";
+ close;
+
+ case 2:
+ mes "[Picture Manager]";
+ mes "Picture rewarding reseted.";
+ set $arenapic,0;
+ close;
+ }
+ }
+ mes "[Picture Manager]";
+ mes "Password is incorrect.";
+ close;
+}
+
+sec_in02,76,176,5 script Live Broadcast#arena 802,{
+
+ mes "[Live Broadcast]";
+ mes "Currently there are "+getmapusers("force_1-1")+" people in lvl 50s map.";
+ mes "Currently there are "+getmapusers("force_2-1")+" people in lvl 60s map.";
+ mes "Currently there are "+getmapusers("force_3-1")+" people in lvl 70s map.";
+ mes "Currently there are "+getmapusers("force_4-1")+" people in lvl 80s map.";
+ mes "Currently there are "+getmapusers("force_1-2")+" people in party map.";
+ mes "Currently there are "+getmapusers("arena_room")+" people in the waiting room.";
+ close;
+}
+
+function script Func_Are_Rew {
+
+ mes "[Givu]";
+ mes "Would you like to exchange your arena points with "+getitemname(getarg(0))+"?";
+ mes "You can exchange ^3131FF"+getarg(2)+" arena points with "+getarg(1)+" "+getitemname(getarg(0))+"^000000.";
+ mes "If you wish to cancel, please enter 0. If you don't, please enter how many ^3131FFtimes^000000 of arena points you wish to spend.";
+ next;
+ input .@reward;
+ if(!.@reward)
+ {
+ mes "[Givu]";
+ mes "You have canceled your request.";
+ close;
+
+ }
+ else if(.@reward > 1500)
+ {
+ mes "[Givu]";
+ mes "You have exceeded the maximum capacity.";
+ close;
+ }
+ if(arena_point < .@reward * getarg(2))
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ set arena_point,arena_point - (.@reward * getarg(2));
+ getitem getarg(0),.@reward * getarg(1);
+ mes "[Givu]";
+ mes "Thank you, please come again.";
+ close;
+}
+
+arena_room,63,126,0 script LevelCheck#50 139,5,5,{
+
+OnTouch:
+ if(BaseLevel < 50 || BaseLevel > 69)
+ {
+ mes "[Helper Pat]";
+ mes "I'm sorry but that place is";
+ mes "only available to people from";
+ mes "level ^FF000050^000000 to ^FF000069^000000. I'm afraid you";
+ mes "have to leave immediately.";
+ mes "Please proceed to your proper";
+ mes "arenas. Have fun !";
+ close2;
+ warp "arena_room",100,75;
+ }
+ else if(Zeny < 1000)
+ {
+ mes "[Helper Pat]";
+ mes "Oh! That's too bad!";
+ mes "You have the required level";
+ mes "to attempt this arena but";
+ mes "it costs 1000 zeny to enter.";
+ mes "Please come back when you'll";
+ mes "have them!";
+ close2;
+ warp "arena_room",100,75;
+ }
+ end;
+}
+
+arena_room,49,87,0 script LevelCheck#60 139,5,5,{
+
+OnTouch:
+ if(BaseLevel < 60 || BaseLevel > 79)
+ {
+ mes "[Helper Ben]";
+ mes "I'm sorry but that place is";
+ mes "only available to people from";
+ mes "level ^FF000060^000000 to ^FF000079^000000. I'm afraid you";
+ mes "have to leave immediately.";
+ mes "Please proceed to your proper";
+ mes "arenas. Have fun !";
+ close2;
+ warp "arena_room",100,75;
+ }
+ else if(Zeny < 1000)
+ {
+ mes "[Helper Ben]";
+ mes "Oh! That's too bad!";
+ mes "You have the required level";
+ mes "to attempt this arena but";
+ mes "it costs 1000 zeny to enter.";
+ mes "Please come back when you'll";
+ mes "have them!";
+ close2;
+ warp "arena_room",100,75;
+ }
+ end;
+}
+
+arena_room,63,53,0 script LevelCheck#70 139,5,5,{
+
+OnTouch:
+ if(BaseLevel < 70 || BaseLevel > 89)
+ {
+ mes "[Helper Vicious]";
+ mes "I'm sorry but that place is";
+ mes "only available to people from";
+ mes "level ^FF000070^000000 to ^FF000089^000000. I'm afraid you";
+ mes "have to leave immediately.";
+ mes "Please proceed to your proper";
+ mes "arenas. Have fun !";
+ close2;
+ warp "arena_room",100,75;
+ }
+ else if(Zeny < 1000)
+ {
+ mes "[Helper Vicious]";
+ mes "Oh! That's too bad!";
+ mes "You have the required level";
+ mes "to attempt this arena but";
+ mes "it costs 1000 zeny to enter.";
+ mes "Please come back when you'll";
+ mes "have them!";
+ close2;
+ warp "arena_room",100,75;
+ }
+ end;
+}
+
+arena_room,136,53,0 script LevelCheck#80 139,5,5,{
+
+OnTouch:
+ if(BaseLevel < 80)
+ {
+ mes "[Helper Epin]";
+ mes "I'm sorry but that place is";
+ mes "only available to people from";
+ mes "level ^FF000080^000000 to ^FF000099^000000. I'm afraid you";
+ mes "have to leave immediately.";
+ mes "Please proceed to your proper";
+ mes "arenas. Have fun !";
+ close2;
+ warp "arena_room",100,75;
+ }
+ else if(Zeny < 1000)
+ {
+ mes "[Helper Epin]";
+ mes "Oh! That's too bad!";
+ mes "You have the required level";
+ mes "to attempt this arena but";
+ mes "it costs 1000 zeny to enter.";
+ mes "Please come back when you'll";
+ mes "have them!";
+ close2;
+ warp "arena_room",100,75;
+ }
+ end;
+
+} \ No newline at end of file