//===== 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