Antibot-botkiller-6 (HELP!)

OmarAcero

New member
Messages
173
Points
0
Location
Lima-Perú
Github
https://github.com/OmarAcero
Emulator
I Have this problem:  run_script: infinity loop !  

please helpme....  
default_sad.png
    --->   The_Scritp 

Sin_t_tulo1.jpg


 
Last edited by a moderator:
use this:

 ---------------------------------------
 
*freeloop(<toggle>)
 
Toggling this to enabled (1) allows the script instance to bypass the 
infinite loop protection, allowing your script to loop as much as it may 
need. Disabling (0) may warn you if an infinite loop is detected if your
script is looping too many times.
 
Please note, once again, that this isn't a solution to all problems, and by
disabling this protection your Hercules server may become laggy or
unresponsive if the script it is used in is performing lenghty loop
operations.
 
Example:
freeloop(1); // enable script to loop freely
 
//Be aware with what you do here.
for (.@i = 0; .@i < .@bigloop; ++.@i) {
dothis;
// will sleep the script for 1ms when detect an infinity loop to 
// let Hercules do what it need to do (socket, timer, process, 
// etc.)
}
 
freeloop(0); // disable
 
for (.@i = 0; .@i < .@bigloop; ++.@i) {
dothis;
// throw an infinity loop error
}
 
---------------------------------------
 
Usted me puede indicar en que parte del código, yo debería editar?

¿Puede usted me puede mostrar algún ejemplo por favor?
 
You can tell me Where in the code, I Should edit ?
Can you Show me some For instance in the script, please?
 
 
 


bk6.txt

 

Attachments

Last edited by a moderator:
you should  follow its installation guide

  • Modify "script_athena.conf" setting this values to the check_* parameters.
  • check_cmdcount: 655360
  • check_gotocount: 655360


 
//--------------------------------------------------------


// rAthena Script Configuration File
//--------------------------------------------------------
warn_func_mismatch_paramnum: yes
 
check_cmdcount: 655360
check_gotocount: 655360
 
// Default value of the 'min' argument of the script command 'input'.
// When the 'min' argument isn't provided, this value is used instead.
// Defaults to 0.
//input_min_value: 0
 
// Default value of the 'max' argument of the script command 'input'.
// When the 'max' argument isn't provided, this value is used instead.
// Defaults to INT_MAX.
//input_max_value: 2147483647
input_max_value: 10000000
 
// Specifies whether or not each built-in function's arguments are checked for
// correct type. When a function is given an argument different from what it
// expects, a warning is thrown before the function is ran anyway.
// Default: yes
warn_func_mismatch_argtypes: yes
 
import: conf/import/script_conf.txt
yes, i dont understand 
default_sad.png
 '¿?, run_script: infinity loop !   again

 
Last edited by a moderator:
Friends, I think I almost got it after studying all the code, I discovered where it originates  infinity loop  ... 

I found it in the next NPC, i am increasing and playing,  "NEXT; ". NOTE

But now I get an error called: script_rid2sd: fatal error !  player not  attached! 

My question is this normal?

function script BKLoadConfiguration { debugmes "BotKiller 6: Loading configuration..."; query_sql "select count(*) from `bk6_config`",.@Cnt$; set .@Page,0; set .@PageSize,50; set .@TotParams,.@Cnt$[0]; while (.@TotParams > 0) { set .@Cfg, query_sql("select `var`, `value`, if(right(`var`,1)='$',1,0) `str` from `bk6_config` limit " + .@Page + "," + .@PageSize,.@Var$,.@Val$,.@Str); if (playerattached()) dispbottom "BotKiller 6: Processing " + .@Cfg + " parameter(s)..."; else debugmes "BotKiller 6: Processing " + .@Cfg + " parameter(s)..."; for (set .@x,0; .@x < .@Cfg; set .@x, .@x + 1) if (.@Str[.@x]) setd .@Var$[.@x],.@Val$[.@x]; else setd .@Var$[.@x],atoi(.@Val$[.@x]); set .@TotParams, .@TotParams - .@PageSize; set .@Page, .@Page + .@PageSize;// sleep2 2000;// next; } debugmes "BotKiller 6: " + .@Cnt$[0] + " parameter(s) loaded"; sleep2 2000; debugmes "BotKiller 6: Loading map ignore list..."; set .@Cnt,1; set .@Page,0; while (.@Cnt) { set .@Cnt, query_sql("select mapname from bk6_maps limit " + .@Page + ",100",.@IgnoredMap$); for (set .@x,0; .@x < .@Cnt; set .@x,.@x + 1) { setd "$@_" + .@IgnoredMap$[.@x],1; } set .@Page, .@Page + 100; next; // writing this NEXT; (For example cured the infinity loop) }// sleep2 1000; if (playerattached()) dispbottom "Reload Configuration: Complete!"; return;}
Sin título2.jpg

 
Last edited by a moderator:
you can try

freeloop(1);

while (.@Cnt) {
set .@Cnt, query_sql("select mapname from bk6_maps limit " + .@Page + ",100",.@IgnoredMap$);
for (set .@x,0; .@x < .@Cnt; set .@x,.@x + 1) {
setd "$@_" + .@IgnoredMap$[.@x],1;
}
set .@Page, .@Page + 100;
}

freeloop(0);

 
Friend thanks for replying, edit as you indicated me...

Now I get the following error...

I can enter the login and char, but I can not enter the map...

freeloop(1);

while (.@Cnt) {
set .@Cnt, query_sql("select mapname from bk6_maps limit " + .@Page + ",100",.@IgnoredMap$);
for (set .@x,0; .@x < .@Cnt; set .@x,.@x + 1) {
setd "$@_" + .@IgnoredMap$[.@x],1;
}
set .@Page, .@Page + 100;
}

freeloop(0);
Sin título3.jpg

Sin título4.jpg

Sin título5.jpg

 
I believe the error is located somewhere else. These debug messages are intentionally sent from the script via the debugmes script command.

 
Back
Top