12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022 |
- //===== rAthena Script =======================================
- //= Izlude Arena Room
- //===== By: ==================================================
- //= SinSloth
- //===== Current Version: =====================================
- //= 1.4
- //===== Compatible With: =====================================
- //= rAthena Project
- //===== Description: =========================================
- //= Izlude Battle Arena Main Room
- //===== Additional Comments: =================================
- //= 1.0 First version.
- //= 1.1 Fixed a small reward typo (was giving potato.) [L0ne_W0lf]
- //= 1.2 Label standardization, disabled GM NPCs. [Euphy]
- //= 1.2a Added Renewal level checksk. [Euphy]
- //= 1.3 Script updates. [Euphy]
- //= 1.4 Added GM management function. [Euphy]
- //============================================================
- 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.";
- 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(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 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 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("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 726,{
- 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 750,{
- 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 730,{
- 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 727,{
- 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 ET_CRY;
- 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 "+(checkre(0)?"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 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 "+(checkre(0)?"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 828,{
- emotion ET_BEST;
- 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 ET_O;
- mes "Yes!";
- mes "There is someone inside.";
- next;
- mes "[Lonik]";
- mes "You'd better wait a little bit longer!";
- } else {
- emotion ET_X;
- mes "No!";
- mes "Go for it, good luck!";
- }
- close;
- }
- sec_in02,72,180,3 script Arena Manager#arena 802,{
- set .@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:
- 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 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:
- set .@min$,"$top50min";
- set .@sec$,"$top50sec";
- set .@mode$,"Lv 50";
- break;
- case 2:
- set .@min$,"$top60min";
- set .@sec$,"$top60sec";
- set .@mode$,"Lv 60";
- break;
- case 3:
- set .@min$,"$top70min";
- set .@sec$,"$top70sec";
- set .@mode$,"Lv 70";
- break;
- case 4:
- set .@min$,"$top80min";
- set .@sec$,"$top80sec";
- set .@mode$,"Lv 80";
- break;
- case 5:
- set .@min$,"$top_ptmin";
- set .@sec$,"$top_ptsec";
- set .@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;
- setd .@min$,.@arenamin;
- input .@arenasec;
- 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 802,{
- set .@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 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) == 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;
- }
- set arena_point, arena_point-40;
- if (checkre(3)) {
- 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: set $@arena_picture_id,1039; break;
- case 2: set $@arena_picture_id,1272; break;
- case 3: set $@arena_picture_id,1046; break;
- case 4: set $@arena_picture_id,1115; break;
- case 5: set $@arena_picture_id,1389; break;
- case 6: set $@arena_picture_id,1492; break;
- case 7: set $@arena_picture_id,1251; break;
- case 8: set $@arena_picture_id,1159; break;
- case 9: set $@arena_picture_id,6969; break;
- case 10: set $@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, MOB_NAME)+"?";
- next;
- switch(select("Yes:No")) {
- case 1:
- set arena_point, arena_point-10;
- set $@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(0)+"'s current arena points.";
- next;
- mes "[Givu]";
- mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
- close;
- }
- }
- 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 ET_THROB;
- end;
- OnSci:
- emotion ET_SCISSOR;
- end;
- OnBest:
- emotion ET_BEST;
- end;
- OnOmg:
- emotion ET_HUK;
- end;
- OnKik:
- emotion ET_KIK;
- end;
- OnKis:
- emotion ET_CHUP;
- 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
- - script npctime#arena -1,{
- 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";
- set $@arena_picture,0;
- stopnpctimer;
- end;
- }
- sec_in02,72,171,3 script Picture Manager#arena 802,{
- set .@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.";
- set $@arena_picture,0;
- close;
- }
- }
- }
- sec_in02,76,176,5 script Live Broadcast#arena 802,{
- 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 {
- .@item_id = getarg(0);
- .@amount = getarg(1);
- .@arena_point = getarg(2);
- mes "[Givu]";
- mes "Would you like to exchange your arena points with "+ getitemname(.@item_id) +"?";
- mes "You can exchange ^3131FF"+ .@arena_point +" arena points with "+ .@amount +" "+ getitemname(.@item_id) +"^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;
- } else if (.@reward > 1500) {
- mes "[Givu]";
- mes "You have exceeded the maximum capacity.";
- close;
- }
- if (arena_point < (.@reward * .@arena_point)) {
- mes "[Givu]";
- mes "You do not have enough arena points.";
- mes "Please check the total amount of arena points you have.";
- close;
- }
- arena_point = arena_point - (.@reward * .@arena_point);
- getitem .@item_id,.@reward * .@amount;
- mes "[Givu]";
- mes "Thank you, please come again.";
- close;
- }
|