Error help

Petey Pablo

New member
Messages
224
Points
0
Emulator
How to fix this error

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


Script below

Code:
prontera,164,173,4    script    Emperium Breaker Test    EMPELIUM,{
    
    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;
    
}
 
Well, i have a look to your code and saw the error.

Change this line:

getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));

to

getmapxy(@mpempbrk$,@empbrkx,@empbrky,0);




nothing more, it have to work without problems, you don't have the need to post the search string, and it might be the problem in the first hand

 
Last edited by a moderator:
Well, i have a look to your code and saw the error.

Change this line:

getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));

to

getmapxy(@mpempbrk$,@empbrkx,@empbrky,0);




nothing more, it have to work without problems, you don't have the need to post the search string, and it might be the problem in the first hand

Thanks! How about this error

Code:
[Warning]: script_charid2sd: Player with char ID '0' not found!
[Debug]: Function: warpchar (4 parameters):
[Debug]: Data: string value="prontera"
[Debug]: Data: number value=150
[Debug]: Data: number value=172
[Debug]: Data: number value=0
[Debug]: Source (NPC): EmpBrk#1 (invisible/not on a map)
 
Another one

Code:
[Debug]: mapindex_name2id: Map "" not found in index list!
[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 'DonaldTrump' to "",0,0 failed.
[Debug]: Source (NPC): EmpBrk#3_touch at pvp_n_4-5 (100,74)
 
Back
Top