//===== rAthena Script ======================================= //= Emperium Break Room //===== By: ================================================== //= Masao //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= An little Emperium Break Room NPC in which you can test your //= strength and speed against Emperiums. //===== Additional Comments: ================================= //= 1.0 First Version. [Masao] //============================================================ - script EmpBrkRmTm -1,{ OnClock0O00: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: if($empbrkrh == 1) { hideoffnpc "Emperium Breaking Room"; } end; OnClock0100: OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: if($empbrkrh == 1) { hideonnpc "Emperium Breaking Room"; } end; } prontera,140,180,0 script Emperium Breaking Room 1288,{ if (getgmlevel() >= $empbrk_gm_restriction) goto L_GMCP; L_SM: set .@time,empbrk_record; set .@m,.@time / 60000; set .@s,.@time / 1000; set .@ms,.@time / 10000; set .@empbrk_time,$empbrk_record; set .@empbrk_m,.@empbrk_time / 60000; set .@empbrk_s,.@empbrk_time / 1000; set .@empbrk_ms,.@empbrk_time / 10000; mes .n$; mes "Current record holder is the Player ^5050A0"+$empbrk_master$+"^000000 ."; mes "With an time of ^000080"+.@empbrk_m+"^000000Minutes ^000080"+.@empbrk_s+"^000000Seconds ^000080"+.@empbrk_ms+"^000000Milliseconds until the Emperium got broke."; next; mes .n$; mes "Your Own Record:"; mes "^000080"+.@m+"^000000m ^000080"+.@s+"^000000s ^000080"+.@ms+"^000000ms"; next; mes .n$; mes "Would you like to try to set a new record?"; next; menu "Yes",-,"No",L_C,"Reset Your Record",L_RYR; cleararray .arena$[0],"",4; mes .n$; if (getareausers("pvp_n_4-5",94,128,105,139) || $@empr_occupied[0] > 0){ mes "^B8860BEmperium Room N° 1:^000000 ^FF0000Busy^000000"; }else{ mes "^B8860BEmperium Room N° 1:^000000 ^32CD32Free^000000"; set .arena$[0],"^B8860BEmperium Room N° 1^000000"; } if (getareausers("pvp_n_4-5",60,94,71,105) || $@empr_occupied[1] > 0){ mes "^B8860BEmperium Room N° 2:^000000 ^FF0000Busy^000000"; }else{ mes "^B8860BEmperium Room N° 2:^000000 ^32CD32Free^000000"; set .arena$[1],"^B8860BEmperium Room N° 2^000000"; } if (getareausers("pvp_n_4-5",94,60,105,71) || $@empr_occupied[2] > 0){ mes "^B8860BEmperium Room N° 3:^000000 ^FF0000Busy^000000"; }else{ mes "^B8860BEmperium Room N° 3:^000000 ^32CD32Free^000000"; set .arena$[2],"^B8860BEmperium Room N° 3^000000"; } if (getareausers("pvp_n_4-5",128,94,139,105) || $@empr_occupied[3] > 0){ mes "^B8860BEmperium Room N° 4:^000000 ^FF0000Busy^000000"; }else{ mes "^B8860BEmperium Room N° 4:^000000 ^32CD32Free^000000"; set .arena$[3],"^B8860BEmperium Room N° 4^000000"; } next; switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"^FF0000Exit^000000")){ case 1: if($@empr_occupied[0] > 0){ mes .n$; mes "Sorry but the Room has been taken."; mes "Please try another Room or come back later."; goto L_SM; } set $@empr_occupied[0],1; set $@empbrk_charid[0],getcharid(0); initnpctimer "EmpBrk#1"; sc_end SC_ALL; warp "pvp_n_4-5",99,128; end; case 2: if($@empr_occupied[1] > 0){ mes .n$; mes "Sorry but the Room has been taken."; mes "Please try another Room or come back later."; goto L_SM; } set $@empr_occupied[1],1; set $@empbrk_charid[1],getcharid(0); initnpctimer "EmpBrk#2"; sc_end SC_ALL; warp "pvp_n_4-5",68,99; end; case 3: if($@empr_occupied[2] > 0){ mes .n$; mes "Sorry but the Room has been taken."; mes "Please try another Room or come back later."; goto L_SM; } set $@empr_occupied[2],1; set $@empbrk_charid[2],getcharid(0); initnpctimer "EmpBrk#3"; sc_end SC_ALL; warp "pvp_n_4-5",100,68; end; case 4: if($@empr_occupied[3] > 0){ mes .n$; mes "Sorry but the Room has been taken."; mes "Please try another Room or come back later."; goto L_SM; } set $@empr_occupied[3],1; set $@empbrk_charid[3],getcharid(0); initnpctimer "EmpBrk#4"; sc_end SC_ALL; warp "pvp_n_4-5",130,99; end; case 5: close; } L_GMCP: mes .n$; mes "Hello "+strcharinfo(0)+","; mes "what can i do for you today?"; next; menu "Standard Menu",L_SM,"Set Prize",-,"Hourly Event",L_HE,"Set GM Control Panel Access Level",L_SGCPL,"Reset Offical Record",L_ROR,"Reset Rooms",L_RR,"Cancel",L_C; L_SP: mes .n$; mes "Allright, what would you like to do?"; next; menu "Set Prize & Amount",-,"Enable / Disable Prize Distribution",L_EDPD,"Cancel",L_C; L_RP: mes .n$; mes "The current gloabl Prize and Amount is: "+$empbrk_amount+"x "+getitemname($empbrk_prize)+""; mes "The current personal Prize and Amount is: "+$empbrk_amountp+"x "+getitemname($empbrk_prizep)+""; next; mes .n$; mes "What would you like to do next?"; next; menu "Set global Prize & Amount",-,"Set personal Prize & Amount",L_SPPA; L_RGP: mes .n$; mes "Ok, then please tell me now which Item you would like to set as global Prize if someone breaks the global Record."; mes "And please remember that only numbers = Item ID's as values are allowed."; next; mes "Insert 0 to cancel."; input .empbrk_prize; next; if(.empbrk_prize <= 0){ next; goto L_SP; } query_sql "SELECT `id` FROM `item_db` WHERE `id` = '"+.empbrk_prize+"'",.id; if(!.id){ mes .n$; mes "I'm sorry but this Item doesn't exist!"; mes "Please try again."; next; goto L_RGP; } mes .n$; mes "Ok, so the Prize will be "+getitemname(.empbrk_prize)+" , is that correct?"; next; menu "No, that's wrong!",L_RGP,"Yes, that's correct!",-; L_RGA: mes .n$; mes "Good! Now please tell me how many pieces of this prize the new Emperium break Champion should get,"; mes "but remember for security reasons you can't enter a higher value than 100."; next; mes "Insert 0 to cancel."; input .empbrk_amount; next; if(.empbrk_amount <= 0){ next; goto L_SP; } if(.empbrk_amount >= 100){ mes .n$; mes "I'm sorry but the entered Value exceeds the allowed amount!"; mes "Please try again."; next; goto L_RGA; } mes .n$; mes "Ok, so the Amount of the Prize that will be given is "+.empbrk_amount+" , is that correct?"; next; menu "No, that's wrong!",L_RGA,"Yes, that's correct!",-; mes .n$; mes "Great! So the Prize "+getitemname(.empbrk_prize)+" will be given away with an amount of "+.empbrk_amount+" to the one who breaks the current global Emperium Breack Record, is that correct?"; next; menu "No, that's wrong!",L_SP,"Yes, that's correct!",-; mes .n$; mes "Allright, it's all set!"; set $empbrk_prize,.empbrk_prize; set $empbrk_amount,.empbrk_amount; next; goto L_GMCP; L_SPPA: mes .n$; mes "Ok, then please tell me now which Item you would like to set as personal Prize if someone breaks his personal Record."; mes "And please remember that only numbers = Item ID's as values are allowed."; next; mes "Insert 0 to cancel."; input .empbrk_prizep; next; if(.empbrk_prizep <= 0){ next; goto L_SP; } query_sql "SELECT `id` FROM `item_db` WHERE `id` = '"+.empbrk_prizep+"'",.idp; if(!.idp){ mes .n$; mes "I'm sorry but this Item doesn't exist!"; mes "Please try again."; next; goto L_SPPA; } mes .n$; mes "Ok, so the Prize will be "+getitemname(.empbrk_prizep)+" , is that correct?"; next; menu "No, that's wrong!",L_SPPA,"Yes, that's correct!",-; L_RPA: mes .n$; mes "Good! Now please tell me how many pieces of this prize the new Player should get,"; mes "but remember for security reasons you can't enter a higher value than 100."; next; mes "Insert 0 to cancel."; input .empbrk_amountp; next; if(.empbrk_amountp <= 0){ next; goto L_SP; } if(.empbrk_amountp >= 100){ mes .n$; mes "I'm sorry but the entered Value exceeds the allowed amount!"; mes "Please try again."; next; goto L_RPA; } mes .n$; mes "Ok, so the Amount of the Prize that will be given is "+.empbrk_amountp+" , is that correct?"; next; menu "No, that's wrong!",L_RPA,"Yes, that's correct!",-; mes .n$; mes "Great! So the Prize "+getitemname(.empbrk_prizep)+" will be given away with an amount of "+.empbrk_amountp+" if someone breaks his personal Record, is that correct?"; next; menu "No, that's wrong!",L_SPPA,"Yes, that's correct!",-; mes .n$; mes "Allright, it's all set!"; set $empbrk_prizep,.empbrk_prizep; set $empbrk_amountp,.empbrk_amountp; next; goto L_GMCP; L_EDPD: mes .n$; mes "What would you like to do?"; next; menu "Disable global Prize Distribution",-,"Enable global Prize Distribution",L_EGPD,"Disable personal Prize Distribution",L_DPPD,"Enable personal Prize Distribution",L_EPPD,"Cancel",L_C; if($empbrk_przdg == 0){ mes .n$; mes "Global Prize Distribution is already disabled!"; next; goto L_EDPD; } mes .n$; mes "Global Prize Distribution has been disabled!"; set $empbrk_przdg,0; next; goto L_GMCP; L_EGPD: if($empbrk_przdg == 1){ mes .n$; mes "Global Prize Distribution is already enabled!"; next; goto L_EDPD; } mes .n$; mes "Global Prize Distribution has been enabled!"; set $empbrk_przdg,1; next; goto L_GMCP; L_DPPD: if($empbrk_przdp == 0){ mes .n$; mes "Personal Prize Distribution is already disabled!"; next; goto L_EDPD; } mes .n$; mes "Personal Prize Distribution has been disabled!"; set $empbrk_przdp,0; next; goto L_GMCP; L_EPPD: if($empbrk_przdp == 1){ mes .n$; mes "Personal Prize Distribution is already enabled!"; next; goto L_EDPD; } mes .n$; mes "Personal Prize Distribution has been enabled!"; set $empbrk_przdp,1; next; goto L_GMCP; L_HE: mes .n$; mes "What would you like to do?"; next; menu "Disable Hourly Event",-,"Enable Hourly Event",L_EHE,"Cancel",L_C; if($empbrkrh == 0){ mes .n$; mes "Hourly Event already is disabled!"; next; goto L_HE; } mes .n$; mes "Hourly Event has been disabled!"; hideoffnpc "Emperium Breaking Room"; set $empbrkrh,0; next; goto L_GMCP; L_EHE: if($empbrkrh == 1){ mes .n$; mes "Hourly Event already is enabled!"; next; goto L_HE; } mes .n$; mes "Hourly Event has been enabled!"; mapwarp "pvp_n_4-5","prontera",155,180; stopnpctimer "EmpBrk#1"; stopnpctimer "EmpBrk#2"; stopnpctimer "EmpBrk#3"; stopnpctimer "EmpBrk#4"; killmonster "pvp_n_4-5","EmpBrk#1::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#2::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#3::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#4::OnEmpBrk"; cleararray $@empbrkr_occupied[0],0,4; hideonnpc "Emperium Breaking Room"; set $empbrkrh,1; next; goto L_GMCP; L_SGCPL: mes .n$; mes "What would you like to do?"; next; menu "Set GM Control Panel Acces Level",-,"Cancel",L_C; mes .n$; mes "Allright, please insert now the GM Level at which Players / GM's should be able to enter the GM Control Panel."; next; mes .n$; mes "Please note that the GM Level can't be lower than 40 and can't be above 99 as well for security reasons."; input .gmcp; next; if(.gmcp <= 40 || .gmcp >= 99){ mes .n$; mes "I'm sorry but you inserted an invalid Level!"; next; goto L_SGCPL; } mes .n$; mes "Allright, the new GM Control Panel access Level will be "+.gmcp+" , is that correct?"; next; menu "No, that's wrong!",L_SGCPL,"Yes, that's correct!",-; mes .n$; mes "Great! It all has been set, so the new GM Control Panel Access Level will be "+.gmcp+" ."; set $empbrk_gm_restriction,.gmcp; next; goto L_GMCP; L_RYR: mes .n$; mes "Are you sure you want to reset your record?"; next; menu "Yes",-,"No",L_C; mes .n$; mes "Your personal Record has been reset."; set empbrk_record,0; close; L_ROR: mes .n$; mes "Are you sure you want to reset the official Record?"; next; menu "No",L_GMCP,"Yes",-; mes .n$; mes "It's done."; set $empbrk_record,0; set $empbrk_master$,""; next; goto L_GMCP; L_RR: mes .n$; mes "Are you sure you want to reset the Emperium Breaking Rooms?"; next; menu "No",L_GMCP,"Yes",-; mes "Rooms have been reset."; mapwarp "pvp_n_4-5","prontera",155,180; stopnpctimer "EmpBrk#1"; stopnpctimer "EmpBrk#2"; stopnpctimer "EmpBrk#3"; stopnpctimer "EmpBrk#4"; killmonster "pvp_n_4-5","EmpBrk#1::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#2::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#3::OnEmpBrk"; killmonster "pvp_n_4-5","EmpBrk#4::OnEmpBrk"; cleararray $@empbrkr_occupied[0],0,4; next; goto L_GMCP; L_C: mes .n$; mes "Bye!"; close; OnInit: set .n$,"[Emperium Breaking Room]"; if(!$empbrk_gm_restriction){ set $empbrk_gm_restriction,40; } if($empbrkh == 1){ hideonnpc "Emperium Breaking Room"; } end; } - script EmpBrk#1 -1,{ OnTimer5000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Get ready to break the Emperium!",bc_area; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",bc_area; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",bc_area; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",bc_area; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",bc_area; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",bc_area; end; OnTimer13000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",bc_area; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnEmpBrk"; end; OnTimer600000: warpchar "prontera",155,180,$@empbrk_charid[0]; killmonster "pvp_n_4-5","EmpBrk#1::OnEmpBrk"; set $@empr_occupied[0],0; stopnpctimer; end; OnEmpBrk: stopnpctimer; set .current_time,getnpctimer(0,"EmpBrk#1"); set .new_time,.current_time - 13000; if (.new_time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",bc_area; if($empbrk_przdp == 1){ getitem $empbrk_prizep,$empbrk_amountp; } set empbrk_record,.new_time; } if (.new_time < $empbrk_record || $empbrk_record == 0) { announce strcharinfo(0)+" is now the new No. 1 Emperium Breaker!!",bc_all; if($empbrk_przdg == 1){ getitem $empbrk_prize,$empbrk_amount; } set $empbrk_record,.new_time; set $empbrk_master$,strcharinfo(0); } set .m,.new_time / 60000; set .s,.new_time / 1000; set .ms,.new_time / 10000; set $@empr_occupied[0],0; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.ms+"ms",bc_area; warpchar "prontera",155,180,$@empbrk_charid[0]; end; OnInit: set .x1,94; set .y1,128; set .x2,105; set .y2,139; set .xe,100; set .ye,134; end; } pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,3,1,{ OnTouch: mes "[Emperium Breaking Room]"; mes "You're not allowed to exit your square!"; close2; stopnpctimer "EmpBrk#1"; warp "prontera",155,180; killmonster "pvp_n_4-5","EmpBrk#1::OnEmpBrk"; set $@empr_occupied[0],0; end; } - script EmpBrk#2 -1,{ OnTimer5000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Get ready to break the Emperium!",bc_area; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",bc_area; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",bc_area; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",bc_area; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",bc_area; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",bc_area; end; OnTimer13000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",bc_area; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnEmpBrk"; end; OnTimer600000: warpchar "prontera",155,180,$@empbrk_charid[1]; killmonster "pvp_n_4-5","EmpBrk#2::OnEmpBrk"; set $@empr_occupied[1],0; stopnpctimer; end; OnEmpBrk: stopnpctimer; set .current_time,getnpctimer(0,"EmpBrk#2"); set .new_time,.current_time - 13000; if (.new_time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",bc_area; if($empbrk_przdp == 1){ getitem $empbrk_prizep,$empbrk_amountp; } set empbrk_record,.new_time; } if (.new_time < $empbrk_record || $empbrk_record == 0) { announce strcharinfo(0)+" is now the new No. 1 Emperium Breaker!!",bc_all; if($empbrk_przdg == 1){ getitem $empbrk_prize,$empbrk_amount; } set $empbrk_record,.new_time; set $empbrk_master$,strcharinfo(0); } set .m,.new_time / 60000; set .s,.new_time / 1000; set .ms,.new_time / 10000; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.ms+"ms",bc_area; warpchar "prontera",155,180,$@empbrk_charid[1]; set $@empr_occupied[1],0; end; OnInit: set .x1,60; set .y1,94; set .x2,71; set .y2,105; set .xe,65; set .ye,99; end; } pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,3,{ OnTouch: mes "[Emperium Breaking Room]"; mes "You're not allowed to exit your square!"; close2; stopnpctimer "EmpBrk#2"; warp "prontera",155,180; killmonster "pvp_n_4-5","EmpBrk#2::OnEmpBrk"; set $@empr_occupied[1],0; end; } - script EmpBrk#3 -1,{ OnTimer5000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Get ready to break the Emperium!",bc_area; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",bc_area; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",bc_area; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",bc_area; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",bc_area; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",bc_area; end; OnTimer13000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",bc_area; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnEmpBrk"; end; OnTimer600000: warpchar "prontera",155,180,$@empbrk_charid[2]; killmonster "pvp_n_4-5","EmpBrk#3::OnEmpBrk"; set $@empr_occupied[2],0; stopnpctimer; end; OnEmpBrk: stopnpctimer; set .current_time,getnpctimer(0,"EmpBrk#3"); set .new_time,.current_time - 13000; if (.new_time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",bc_area; if($empbrk_przdp == 1){ getitem $empbrk_prizep,$empbrk_amountp; } set empbrk_record,.new_time; } if (.new_time < $empbrk_record || $empbrk_record == 0) { announce strcharinfo(0)+" is now the new No. 1 Emperium Breaker!!",bc_all; if($empbrk_przdg == 1){ getitem $empbrk_prize,$empbrk_amount; } set $empbrk_record,.new_time; set $empbrk_master$,strcharinfo(0); } set .m,.new_time / 60000; set .s,.new_time / 1000; set .ms,.new_time / 10000; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.ms+"ms",bc_area; warpchar "prontera",155,180,$@empbrk_charid[2]; set $@empr_occupied[2],0; end; OnInit: set .x1,94; set .y1,60; set .x2,105; set .y2,71; set .xe,99; set .ye,65; end; } pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,3,1,{ OnTouch: mes "[Emperium Breaking Room]"; mes "You're not allowed to exit your square!"; close2; stopnpctimer "EmpBrk#3"; warp "prontera",155,180; killmonster "pvp_n_4-5","EmpBrk#3::OnEmpBrk"; set $@empr_occupied[2],0; end; } - script EmpBrk#4 -1,{ OnTimer5000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Get ready to break the Emperium!",bc_area; end; OnTimer8000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",bc_area; end; OnTimer9000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",bc_area; end; OnTimer10000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",bc_area; end; OnTimer11000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",bc_area; end; OnTimer12000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",bc_area; end; OnTimer13000: areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",bc_area; monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnEmpBrk"; end; OnTimer600000: warpchar "prontera",155,180,$@empbrk_charid[3]; killmonster "pvp_n_4-5","EmpBrk#4::OnEmpBrk"; set $@empr_occupied[3],0; stopnpctimer; end; OnEmpBrk: stopnpctimer; set .current_time,getnpctimer(0,"EmpBrk#4"); set .new_time,.current_time - 13000; if (.new_time < empbrk_record || empbrk_record == 0) { areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",bc_area; if($empbrk_przdp == 1){ getitem $empbrk_prizep,$empbrk_amountp; } set empbrk_record,.new_time; } if (.new_time < $empbrk_record || $empbrk_record == 0) { announce strcharinfo(0)+" is now the new No. 1 Emperium Breaker!!",bc_all; if($empbrk_przdg == 1){ getitem $empbrk_prize,$empbrk_amount; } set $empbrk_record,.new_time; set $empbrk_master$,strcharinfo(0); } set .m,.new_time / 60000; set .s,.new_time / 1000; set .ms,.new_time / 10000; areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.ms+"ms",bc_area; warpchar "prontera",155,180,$@empbrk_charid[3]; set $@empr_occupied[3],0; end; OnInit: set .x1,128; set .y1,94; set .x2,139; set .y2,105; set .xe,134; set .ye,99; end; } pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,3,{ OnTouch: mes "[Emperium Breaking Room]"; mes "You're not allowed to exit your square!"; close2; stopnpctimer "EmpBrk#4"; warp "prontera",155,180; killmonster "pvp_n_4-5","EmpBrk#4::OnEmpBrk"; set $@empr_occupied[3],0; end; } pvp_n_4-5 mapflag nowarp pvp_n_4-5 mapflag nowarpto pvp_n_4-5 mapflag notrade pvp_n_4-5 mapflag nochat pvp_n_4-5 mapflag nocommand pvp_n_4-5 mapflag novending pvp_n_4-5 mapflag gvg_castle pvp_n_4-5 mapflag nobranch pvp_n_4-5 mapflag noicewall pvp_n_4-5 mapflag noloot pvp_n_4-5 mapflag nomemo pvp_n_4-5 mapflag nosave pvp_n_4-5 mapflag noreturn