Jump to content
  • 0
xlaws27

[help] npc_event: player's event queue is full

Question

why do i get this warning? how to fix this?

 

[Warning] npc_event: player's event queue is full, can't add event 'Anti Bot::OnNpcKillEvent' !

 

 

-	script	Anti Bot	-1,{OnNPCKillEvent:    //if(getgmlevel() > 0) end;    set @kill,@kill+1;    if(@kill >= rand(500,501)) goto Check;    end;//OnPCLoginEvent:Check:    //if(getgmlevel() > 0) end;    getmapxy .@map$, .@x, .@y, 0;    if (.@map$=="jawaii") end;    if(checkcart() == 1) set @cart,1;    if(checkfalcon() == 1) set @falcon,1;    if(checkmount() == 1) set @mount,1;    atcommand "@option 2 0 0";    atcommand "@battleignore";    setoption 0x2,1;    sc_start sc_berserk, 1000000000, 1;    mes "[Anti Bot]";    mes "Bot checking time";    mes "Please input the number you see";    next;    switch( rand(1,9) ) {    case 1:        mes "#################^83F52C##^000000################";        mes "###############^83F52C####^000000################";        mes "#################^83F52C##^000000################";        mes "#################^83F52C##^000000################";        mes "#################^83F52C##^000000################";        mes "#################^83F52C##^000000################";        mes "###############^83F52C######^000000##############";        input @num;        if(@num == 1) break;        atcommand "@kick "+strcharinfo(0);        end;    case 2:        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "###################^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####################";        mes "############^83F52C##^000000#####################";        mes "############^83F52C#########^000000##############";        input @num;        if(@num == 2) break;        atcommand "@kick "+strcharinfo(0);        end;    case 3:        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "###################^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        mes "###################^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        input @num;        if(@num == 3) break;        atcommand "@kick "+strcharinfo(0);        end;    case 4:        mes "############^83F52C##^000000#####################";        mes "############^83F52C##^000000####^83F52C##^000000###############";        mes "############^83F52C##^000000####^83F52C##^000000###############";        mes "############^83F52C##^000000####^83F52C##^000000###############";        mes "############^83F52C#########^000000##############";        mes "##################^83F52C##^000000###############";        mes "##################^83F52C##^000000###############";        input @num;        if(@num == 4) break;        atcommand "@kick "+strcharinfo(0);        end;    case 5:        mes "############^83F52C########^000000###############";        mes "############^83F52C##^000000#####################";        mes "############^83F52C##^000000#####################";        mes "############^83F52C#######^000000################";        mes "##################^83F52C##^000000###############";        mes "############^83F52C##^000000####^83F52C##^000000###############";        mes "#############^83F52C######^000000################";        input @num;        if(@num == 5) break;        atcommand "@kick "+strcharinfo(0);        end;    case 6:        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "############^83F52C##^000000#####################";        mes "############^83F52C########^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C######^000000################";        input @num;        if(@num == 6) break;        atcommand "@kick "+strcharinfo(0);        end;    case 7:        mes "############^83F52C########^000000###############";        mes "############^83F52C##^000000####^83F52C##^000000###############";        mes "################^83F52C##^000000#################";        mes "###############^83F52C##^000000##################";        mes "###############^83F52C##^000000##################";        mes "###############^83F52C##^000000##################";        mes "###############^83F52C##^000000##################";        input @num;        if(@num == 7) break;        atcommand "@kick "+strcharinfo(0);        end;    case 8:        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        input @num;        if(@num == 8) break;        atcommand "@kick "+strcharinfo(0);        end;    case 9:        mes "#############^83F52C#######^000000###############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C########^000000##############";        mes "###################^83F52C##^000000##############";        mes "############^83F52C##^000000#####^83F52C##^000000##############";        mes "#############^83F52C#######^000000###############";        input @num;        if(@num == 9) break;        atcommand "@kick "+strcharinfo(0);        end;    }    next;    mes "[Anti Bot]";    mes "Thank you for your patience, you can now move on.";    atcommand "@option 0 0 0";    atcommand "@battleignore";    setoption 0x2,0;    sc_end sc_berserk;    percentheal 100,100;    set @kill,0;    if(@cart == 1) {        setcart;        set @cart,0;    }    if(@falcon == 1) {        setfalcon;        set @falcon,0;    }    if(@mount == 1) {        setmount;        set @mount,0;    }    close;}
Edited by xlaws27

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

It happens when you have many On***Event: labels.

 

Open src/map/map.h

Change this to something higher:

#define MAX_EVENTQUEUE 2

Share this post


Link to post
Share on other sites
  • 0

the exact way to reproduce this is ..

-	script	asdf	FAKE_NPC,{	end;OnNPCKillEvent:	mes "Hi";	next;	mes "bye";	close;}
1. @monster poring 100

2. cast storm gust skill

then you got the error

 

since this is anti-bot script, your players might be killing stuffs with skills like storm gust

so when it suddenly the mes pops-up, it will queue up the player's chat towards the npc

 

compiling to increase MAX_EVENTQUEUE in this case, will make the players take the anti-bot test over and over again LOL

 

that is exactly the reason why MAX_EVENTQUEUE is set to 2

I remember ultramage did that for this purpose

 

 

EDIT: btw, hahaha I just learned from Haru, don't use SC_BERSERK for anti-bot

any 3rd party program like opencore actually allow to use atcommand during SC_BERSERK

making this script easily bypass with @go or @warp enabled

https://github.com/HerculesWS/Hercules/pull/937#issuecomment-165323552

EDIT2: well at least I saw "@option 2 0 0" in this script, they get permanent freeze then

Edited by AnnieRuru

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...

×
×
  • Create New...

Important Information

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