Jump to content
  • 0
Sign in to follow this  
Petey Pablo

emp test error

Question

Here the script

prontera,164,169,4    script    Emperium Breaker Test    4_F_ACROSS,{
    
    set @time, empbrk_record;
    set @m, @time / 60000;
    set @time, @time - (@m * 60000);
    set @s, @time /1000;
    set @time, @time - (@s * 1000);
    
    mes "[Emperium Breaker Test]";
    mes "Official Record by ^5050A0"+empbrk_record$+"^000000";
    mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
    
    set @time, empbrk_record;
    set @m, @time / 60000;
    set @time, @time - (@m * 60000);
    set @s, @time /1000;
    set @time, @time - (@s * 1000);
    mes "Your Own Record:";
    mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
    
    mes "Would you like to try a new record?";
    next;
    if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_Exit;}
    menu "Yes",-,"No",L_Exit,"Reset",L_resc;
    cleararray .arena$[0],"",4;
    mes "[Emperium Breaker Test]";
    if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Emp n° ^0000DF1 ^FF0000 Busy^000000";
    else{ mes "Room ^0000DF1 ^00A000 Free^000000";  set .arena$[0],"^0000DFEmperium^000000";}
    if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Emp n° ^B05D002 ^FF0000 Busy^000000";
    else{ mes "Room ^B05D002 ^00A000 Free^000000"; set .arena$[1],"^B05D00Emperium^000000";}
    if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Emp n° ^B00FB03 ^FF0000 Busy^000000";
    else{ mes "Room ^90AF003 ^00A000 Free^000000"; set .arena$[2],"^90AF00Emperium^000000";}
    if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Emp n° ^50AF004 ^FF0000 Busy^000000";
    else{ mes "Room ^500F004 ^00A000 Free^000000"; set .arena$[3],"^500F00Emperium^000000";}
    next;
    getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
    switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Esci")){
        
    case 1:
    if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
    if($@someonegotin1 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin1, 1;
    warp "pvp_n_4-5",99,128;
    killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
    initnpctimer "EmpBrk#1";}
    break;
    
    case 2:
    if (getareausers("pvp_n_4-5",60,94,71,105) == 0){    
    if($@someonegotin2 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin2, 1;     
    warp "pvp_n_4-5",68,99;
    killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
    initnpctimer "EmpBrk#2";}
    break;


    case 3:
    if (getareausers("pvp_n_4-5",94,60,105,71) == 0){   
    if($@someonegotin3 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin3, 1;      
    warp "pvp_n_4-5",100,68;
    killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
    initnpctimer "EmpBrk#3";}
    break;


    case 4:
    if (getareausers("pvp_n_4-5",128,94,139,105) == 0){  
    if($@someonegotin4 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin4, 1;       
    warp "pvp_n_4-5",130,99;
    killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
    initnpctimer "EmpBrk#4";}
    break;
    
    default:
    close;
    
    }
sc_end SC_ALL;
close;


L_reset:
    mes "[Emperium Breaker Test]";
    mes "Are you sure to reset official record ?";
    menu "Yes",-,"No",L_Exit;
    set empbrk_record, 0;
    set empbrk_record$, "";
close;
L_resc:
    mes "[Emperium Breaker Test]";
    mes "Are you suere to rest your record?";
    menu "Yes",-,"No",L_Exit;
    set empbrk_record, 0;


L_emptyrooms:
set $@someonegotin1, 0;
set $@someonegotin2, 0;
set $@someonegotin3, 0;
set $@someonegotin4, 0;
close;
L_Exit:
close;    
    
}


-    script    EmpBrk#1    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,94;
    set .y1,128;
    set .x2,105;
    set .y2,139;
    set .xe,100;
    set .ye,134;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin1, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#1";
    set .time, getnpctimer(0,"EmpBrk#1");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,99,125,0    script    EmpBrk#1_touch    FAKE_NPC,2,1,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin1, 0;
        warp @mpempbrk$,@empbrkx,@empbrky;


    close;
    
}


-    script    EmpBrk#2    FAKE_NPC,{


    
OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;
    
OnTimer5000:
    set .x1,60;
    set .y1,94;
    set .x2,71;
    set .y2,105;
    set .xe,65;
    set .ye,99;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin2, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#2";
    set .time, getnpctimer(0,"EmpBrk#2");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,74,99,0    script    EmpBrk#2_touch    FAKE_NPC,1,2,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin2, 0;
        warp @mpempbrk$,@empbrkx,@empbrky;
    close;
    
}


-    script    EmpBrk#3    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,94;
    set .y1,60;
    set .x2,105;
    set .y2,71;
    set .xe,99;
    set .ye,65;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin3, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#3";
    set .time, getnpctimer(0,"EmpBrk#3");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,100,74,0    script    EmpBrk#3_touch    FAKE_NPC,2,1,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin3, 0;
        warp @mpempbrk$,@empbrkx,@empbrky;
    close;
    
}




-    script    EmpBrk#4    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,128;
    set .y1,94;
    set .x2,139;
    set .y2,105;
    set .xe,134;
    set .ye,99;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin4, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#4";
    set .time, getnpctimer(0,"EmpBrk#4");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,125,100,0    script    EmpBrk#4_touch    FAKE_NPC,1,2,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin4, 0;
        warp @mpempbrk$,@empbrkx,@empbrky;
    close;
    
}

 

Help me to fix this error below. Thanks!

 

[Debug]: Source (NPC): EmpBrk#3_touch at pvp_n_4-5 (100,74)
[Debug]: pc_setpos: Passed mapindex(0) is invalid!
[Debug]: pc_setpos: Passed mapindex(0) is invalid!
[Error]: buildin_warp: moving player 'Paladin Aladin' to "",0,0 failed.
[Debug]: Source (NPC): EmpBrk#3_touch at pvp_n_4-5 (100,74)
 

 

 

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Well assuming that all players need to talk to "Emperium Breaker Test" NPC and that there is no duplicate of that NPC (he is unique), that should do the trick :

 

prontera,164,169,4    script    Emperium Breaker Test    4_F_ACROSS,{
    
    set @time, empbrk_record;
    set @m, @time / 60000;
    set @time, @time - (@m * 60000);
    set @s, @time /1000;
    set @time, @time - (@s * 1000);
    
    mes "[Emperium Breaker Test]";
    mes "Official Record by ^5050A0"+empbrk_record$+"^000000";
    mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
    
    set @time, empbrk_record;
    set @m, @time / 60000;
    set @time, @time - (@m * 60000);
    set @s, @time /1000;
    set @time, @time - (@s * 1000);
    mes "Your Own Record:";
    mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
    
    mes "Would you like to try a new record?";
    next;
    if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_Exit;}
    menu "Yes",-,"No",L_Exit,"Reset",L_resc;
    cleararray .arena$[0],"",4;
    mes "[Emperium Breaker Test]";
    if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Emp n° ^0000DF1 ^FF0000 Busy^000000";
    else{ mes "Room ^0000DF1 ^00A000 Free^000000";  set .arena$[0],"^0000DFEmperium^000000";}
    if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Emp n° ^B05D002 ^FF0000 Busy^000000";
    else{ mes "Room ^B05D002 ^00A000 Free^000000"; set .arena$[1],"^B05D00Emperium^000000";}
    if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Emp n° ^B00FB03 ^FF0000 Busy^000000";
    else{ mes "Room ^90AF003 ^00A000 Free^000000"; set .arena$[2],"^90AF00Emperium^000000";}
    if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Emp n° ^50AF004 ^FF0000 Busy^000000";
    else{ mes "Room ^500F004 ^00A000 Free^000000"; set .arena$[3],"^500F00Emperium^000000";}
    next;
    switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Esci")){
        
    case 1:
    if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
    if($@someonegotin1 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin1, 1;
    warp "pvp_n_4-5",99,128;
    killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
    initnpctimer "EmpBrk#1";}
    break;
    
    case 2:
    if (getareausers("pvp_n_4-5",60,94,71,105) == 0){    
    if($@someonegotin2 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin2, 1;     
    warp "pvp_n_4-5",68,99;
    killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
    initnpctimer "EmpBrk#2";}
    break;


    case 3:
    if (getareausers("pvp_n_4-5",94,60,105,71) == 0){   
    if($@someonegotin3 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin3, 1;      
    warp "pvp_n_4-5",100,68;
    killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
    initnpctimer "EmpBrk#3";}
    break;


    case 4:
    if (getareausers("pvp_n_4-5",128,94,139,105) == 0){  
    if($@someonegotin4 > 0){ mes "Room is now BUSY"; close;}
    set $@someonegotin4, 1;       
    warp "pvp_n_4-5",130,99;
    killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
    initnpctimer "EmpBrk#4";}
    break;
    
    default:
    close;
    
    }
sc_end SC_ALL;
close;


L_reset:
    mes "[Emperium Breaker Test]";
    mes "Are you sure to reset official record ?";
    menu "Yes",-,"No",L_Exit;
    set empbrk_record, 0;
    set empbrk_record$, "";
close;
L_resc:
    mes "[Emperium Breaker Test]";
    mes "Are you suere to rest your record?";
    menu "Yes",-,"No",L_Exit;
    set empbrk_record, 0;


L_emptyrooms:
set $@someonegotin1, 0;
set $@someonegotin2, 0;
set $@someonegotin3, 0;
set $@someonegotin4, 0;
close;
L_Exit:
close;    
    
}


-    script    EmpBrk#1    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,94;
    set .y1,128;
    set .x2,105;
    set .y2,139;
    set .xe,100;
    set .ye,134;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin1, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#1";
    set .time, getnpctimer(0,"EmpBrk#1");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,99,125,0    script    EmpBrk#1_touch    FAKE_NPC,2,1,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin1, 0;
        warp "prontera",163,168;


    close;
    
}


-    script    EmpBrk#2    FAKE_NPC,{


    
OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;
    
OnTimer5000:
    set .x1,60;
    set .y1,94;
    set .x2,71;
    set .y2,105;
    set .xe,65;
    set .ye,99;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin2, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#2";
    set .time, getnpctimer(0,"EmpBrk#2");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,74,99,0    script    EmpBrk#2_touch    FAKE_NPC,1,2,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin2, 0;
        warp "prontera",163,168;
    close;
    
}


-    script    EmpBrk#3    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,94;
    set .y1,60;
    set .x2,105;
    set .y2,71;
    set .xe,99;
    set .ye,65;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin3, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#3";
    set .time, getnpctimer(0,"EmpBrk#3");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,100,74,0    script    EmpBrk#3_touch    FAKE_NPC,2,1,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin3, 0;
        warp "prontera",163,168;
    close;
    
}




-    script    EmpBrk#4    FAKE_NPC,{


OnTimer3000:
    if (.end == 1) {    warpchar "prontera",150,172,.charid;
    stopnpctimer;
    set .end, 0;
    }
end;    
    
OnTimer5000:
    set .x1,128;
    set .y1,94;
    set .x2,139;
    set .y2,105;
    set .xe,134;
    set .ye,99;
    
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
set $@someonegotin4, 0;
end;
    
OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;


OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;


OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;


OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;


OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;


OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;


OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;


OnThisMobDeath:
    stopnpctimer "EmpBrk#4";
    set .time, getnpctimer(0,"EmpBrk#4");
    set .time, .time - 12000;
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
        set empbrk_record, .time;
        
    }
    if (.time < empbrk_record || empbrk_record == 0)
    {
        areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0; 
        set empbrk_record, .time;
        set empbrk_record$,strcharinfo(0); 
    }
    set .m, .time / 60000;
    set .time, .time - (.m * 60000);
    set .s, .time /1000;
    set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
    set .end,1;
    set .charid,getcharid(0);
    initnpctimer;
end;
}
pvp_n_4-5,125,100,0    script    EmpBrk#4_touch    FAKE_NPC,1,2,{


    OnTouch:
    killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
    mes "[Emperium Breaker Test]";
    mes "You cannot exit from small sqare.";
    close2;
set $@someonegotin4, 0;
        warp "prontera",163,168;
    close;
    
}

Share this post


Link to post
Share on other sites
  • 0

Well obviously this is happening because variables @mpempbrk$, @empbrkx and @empbrky are not set when the player touches EmpBrk#1_touch, EmpBrk#2_touch, EmpBrk#3_touch or EmpBrk#4_touch... Is there a possibility for players to enter the room without talking to the "Emperium Breaker Test" NPC ?

Share this post


Link to post
Share on other sites
  • 0

Well obviously this is happening because variables @mpempbrk$, @empbrkx and @empbrky are not set when the player touches EmpBrk#1_touch, EmpBrk#2_touch, EmpBrk#3_touch or EmpBrk#4_touch... Is there a possibility for players to enter the room without talking to the "Emperium Breaker Test" NPC ?

 

Can you edit the script for me? Thanks!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.