//================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2012-2020 Hercules Dev Team //= Copyright (C) Euphy //= Copyright (C) L0ne_W0lf //= Copyright (C) SinSloth //= //= Hercules is free software: you can redistribute it and/or modify //= it under the terms of the GNU General Public License as published by //= the Free Software Foundation, either version 3 of the License, or //= (at your option) any later version. //= //= This program is distributed in the hope that it will be useful, //= but WITHOUT ANY WARRANTY; without even the implied warranty of //= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //= GNU General Public License for more details. //= //= You should have received a copy of the GNU General Public License //= along with this program. If not, see . //========================================================================= //= Izlude Arena Room //================= Description =========================================== //= Izlude Battle Arena Main Room //================= Current Version ======================================= //= 1.4 //========================================================================= arena_room,94,93,5 script Vendigos 4W_M_01,{ 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."; next; while(1) { 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(PC_NAME)+"'s current arena points."; next; mes "[Vendigos]"; mes ""+strcharinfo(PC_NAME)+" 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 then,"; mes "please have"; mes "a good time."; close; } next; mes "[Vendigos]"; mes "Is there anything"; mes "more I can help you with?"; next; } close; 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; //OnLineRec_vs: // mapannounce "arena_room","Party "+$040611_arn_vstopn$+" has renewed the top record in the Arena Time Force Battle. Congratulations!",0; // end; } arena_room,105,82,5 script Arena Record Staff 1_M_LIBRARYMASTER,{ 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("Lv 50 Stage", "Lv 60 Stage", "Lv 70 Stage", "Lv 80 Stage", "Party Stage")) { case 1: mes "[Owen Kheuv]"; mes "Currently the top player of the arena Lv 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 Lv 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 Lv 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 Lv 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 4_F_JOB_BLACKSMITH,{ mes "[Pat]"; mes "Welcome, welcome."; mes "I am a helper of the Lv 50 arena stage."; next; mes "[Pat]"; mes "This ^3131FFLv 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 4_M_ALCHE_C,{ mes "[Ben]"; mes "Welcome, welcome."; mes "I am a helper of the Lv 60 arena stage."; next; mes "[Ben]"; mes "This ^3131FFLv 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 4_M_JOB_ASSASSIN,{ mes "[Vicious]"; mes "Hey there."; mes "My name is Vicious, I am a helper of Lv 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 ^3131FFLv 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 4_F_JOB_HUNTER,{ mes "[Epin]"; mes "Good day,"; mes "I am a helper of Lv 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 ^3131FFLv 80 arena stage^000000"; mes "is accessable to characters from ^FF0000level 80^000000 to ^FF0000level "+(RENEWAL?"160":"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 4_M_ROGUE,{ 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 "+(RENEWAL?"160":"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 4_M_ROGUE,{ 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 4_NFWISP,{ .@i = callfunc("F_GM_NPC",1357,0); if (.@i == -1) { mes "[Arena Manager]"; mes "Command has been canceled."; close; } else if (.@i == 0) { mes "Password is incorrect."; close; } else { mes "[Arena Manager]"; mes "Select an option."; next; switch(select("Restart arena", "Rearrange the Ranking Time")) { case 1: switch(select("Lv 50", "Lv 60", "Lv 70", "Lv 80", "Party Mode")) { case 1: .@arena = 50; break; case 2: .@arena = 60; break; case 3: .@arena = 70; break; case 4: .@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 Lv "+.@arena+" arena stage."; mes "Do you wish to proceed?"; next; switch(select("Yes", "No")) { case 1: donpcevent "Lv"+.@arena+" 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("Lv 50", "Lv 60", "Lv 70", "Lv 80", "Party Mode")) { case 1: .@min$ = "$top50min"; .@sec$ = "$top50sec"; .@mode$ = "Lv 50"; break; case 2: .@min$ = "$top60min"; .@sec$ = "$top60sec"; .@mode$ = "Lv 60"; break; case 3: .@min$ = "$top70min"; .@sec$ = "$top70sec"; .@mode$ = "Lv 70"; break; case 4: .@min$ = "$top80min"; .@sec$ = "$top80sec"; .@mode$ = "Lv 80"; break; case 5: .@min$ = "$top_ptmin"; .@sec$ = "$top_ptsec"; .@mode$ = "party"; break; } mes "[Arena Manager]"; // Doesn't work with Athena's implementation. //mes "Please enter 0 to cancel."; //mes "If not, please enter a value for minutes first and then seconds."; mes "Please enter a value for minutes first and then seconds."; next; input(.@arenamin, 0); setd .@min$,.@arenamin; input(.@arenasec, 0); setd .@sec$,.@arenasec; mes "[Arena Manager]"; mes "Current "+.@mode$+" ranker's play time has been rearranged to ^FF0000"+getd(.@min$)+"^000000 minutes and ^FF0000"+getd(.@sec$)+"^000000 seconds."; close; } } } } sec_in02,79,171,3 script Reward Manager#arena 4_NFWISP,{ .@i = callfunc("F_GM_NPC",1357,0); if (.@i == -1) { mes "[Reward Manager]"; mes "Command has been canceled."; close; } else if (.@i == 0) { mes "[Reward Manager]"; mes "Password is incorrect."; close; } else { 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; } } } arena_room,105,93,5 script Teleporter#arena 1_M_JOBTESTER,{ 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 4_F_JOB_KNIGHT,{ if (checkweight(Royal_Jelly,5) == 0) { mes "- Wait a moment! -"; mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please lighten 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",616,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; } arena_point -= 40; if (RENEWAL_EXP) { if (BaseLevel < 70) getexp 300,0; else if (BaseLevel < 80) getexp 900,0; else if (BaseLevel < 90) getexp 1000,0; else getexp 3000,0; } else { if (BaseLevel < 70) getexp 3000,0; else if (BaseLevel < 80) getexp 9000,0; else if (BaseLevel < 90) getexp 10000,0; else 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 ($@arena_picture) { 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: $@arena_picture_id = 1039; break; case 2: $@arena_picture_id = 1272; break; case 3: $@arena_picture_id = 1046; break; case 4: $@arena_picture_id = 1115; break; case 5: $@arena_picture_id = 1389; break; case 6: $@arena_picture_id = 1492; break; case 7: $@arena_picture_id = 1251; break; case 8: $@arena_picture_id = 1159; break; case 9: $@arena_picture_id = 6969; break; case 10: $@arena_picture_id = 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 ($@arena_picture_id == 6969) mes "Would you like to take a picture with pretty girls?"; else if ($@arena_picture_id == 7777) mes "Would you like to take a picture with a Valkyrie?"; else mes "Would you like to take a picture with a "+getmonsterinfo($@arena_picture_id,0)+"?"; next; switch(select("Yes", "No")) { case 1: arena_point -= 10; $@arena_picture = 1; enablenpc "#arena_"+$@arena_picture_id+""; movenpc "#arena_"+$@arena_picture_id+"",96,28; if ($@arena_picture_id == 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(PC_NAME)+"'s current arena points."; next; mes "[Givu]"; mes ""+strcharinfo(PC_NAME)+" has total ^3131FF"+arena_point+"^000000 points."; close; } } prt_are_in,1,1,5 script #arena_1039 BAPHOMET,{ 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 4_F_06 prt_are_in,94,26,5 duplicate(#arena_1039) #arena_ss_2 4_F_06 prt_are_in,100,28,3 duplicate(#arena_1039) #arena_ss_3 4_F_06 prt_are_in,102,26,3 duplicate(#arena_1039) #arena_ss_4 4_F_06 prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1272 DARK_LORD prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1046 DOPPELGANGER prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1115 EDDGA prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1389 DRACULA prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1492 INCANTATION_SAMURAI prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1251 KNIGHT_OF_WINDSTORM prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1159 PHREEONI prt_are_in,1,1,5 duplicate(#arena_1039) #arena_7777 4_F_VALKYRIE - script npctime#arena FAKE_NPC,{ 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_"+$@arena_picture_id+"::OnHeart"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"::OnSci"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"::OnBest"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"::OnOmg"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"::OnKik"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"::OnKis"; if ($@arena_picture_id == 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_"+$@arena_picture_id+"",1,1; donpcevent "#arena_1039::OnInit"; $@arena_picture = 0; stopnpctimer; end; } sec_in02,72,171,3 script Picture Manager#arena 4_NFWISP,{ .@i = callfunc("F_GM_NPC",1357,0); if (.@i == -1) { mes "[Picture Manager]"; mes "Command has been canceled."; close; } else if (.@i == 0) { mes "[Picture Manager]"; mes "Password is incorrect."; close; } else { 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."; $@arena_picture = 0; close; } } } sec_in02,76,176,5 script Live Broadcast#arena 4_NFWISP,{ callfunc "F_GM_NPC"; mes "[Live Broadcast]"; mes "Currently there are "+getmapusers("force_1-1")+" people in Lv 50s map."; mes "Currently there are "+getmapusers("force_2-1")+" people in Lv 60s map."; mes "Currently there are "+getmapusers("force_3-1")+" people in Lv 70s map."; mes "Currently there are "+getmapusers("force_4-1")+" people in Lv 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 <= 0) { mes "[Givu]"; mes "You have canceled your request."; close; } 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; } arena_point -= (.@reward * getarg(2)); getitem getarg(0),.@reward * getarg(1); mes "[Givu]"; mes "Thank you, please come again."; close; }