About Bot Checker

woody

New member
Messages
42
Points
0
- script Anti Bot -1,{OnNPCKillEvent:

if(getgmlevel() > 0) end;

set @kill,@kill+1;

if(@kill >= rand(200,201)) 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(checkriding() == 1) set @riding,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(@riding == 1) {

setriding;

set @riding,0;

}

close;

}
Changing 

 if(@kill >= rand(200,201)) goto Check;end;
To Every 15 minute ...

 
isn't that annoying for player and bot (bot checker will fail it mean) can do relog before timer is out to check is kind funny? however try this..

add this to end of script before last closing bracket

OnPCLoadMapEvent: for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) { if (strcharinfo(3) == .map_list$[.@i]) { addtimer .time_tocheck, strnpcinfo(3)+"::On15secs"; break; } } end;On15secs: for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) if (strcharinfo(3) == .map_list$[.@i]) goto check; end;OnInit: .time_tocheck = 15 *1000; setarray .map_list$, "prontera", "payon"; // add the map you want to it triggered for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) setmapflag .map_list$[.@i],mf_loadevent; end;
and in the original script you copas above, add this line

addtimer .time_tocheck, strnpcinfo(3)+"::On15secs";
after this line

percentheal 100,100;

nb: please use code box for the script so it easy to do copy paste

 
Last edited by a moderator:
- script Anti Bot -1,{OnNPCKillEvent: if(getgmlevel() > 0) end; set @kill,@kill+1; if(@kill >= rand(200,201)) 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(checkriding() == 1) set @riding,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; addtimer .time_tocheck, strnpcinfo(3)+"::On15secs"; set @kill,0; if(@cart == 1) { setcart; set @cart,0; } if(@falcon == 1) { setfalcon; set @falcon,0; } if(@riding == 1) { setriding; set @riding,0; } close;OnPCLoadMapEvent: for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) { if (strcharinfo(3) == .map_list$[.@i]) { addtimer .time_tocheck, strnpcinfo(3)+"::On15secs"; break; } } end;On15secs: for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) if (strcharinfo(3) == .map_list$[.@i]) goto check; end;OnInit: .time_tocheck = 15 *1000; setarray .map_list$, "jawaii", "payon"; // add the map you want to it triggered for (.@i = 0; .@i < getarraysize(.map_list$); .@i++) setmapflag .map_list$[.@i],mf_loadevent; end;}
Like this ?

 
Last edited by a moderator:
here, Every 15 minute 

Code:
-	script	Anti Bot	-1,{Timmer:    if(getgmlevel() > 0) end;	addtimer 900000, "Anti Bot::OnCheck";    end;		OnPCLoginEvent:OnCheck:    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(checkriding() == 1) set @riding,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;    if(@cart == 1) {        setcart;        set @cart,0;    }    if(@falcon == 1) {        setfalcon;        set @falcon,0;    }    if(@riding == 1) {        setriding;        set @riding,0;    }	goto Timmer;    close;}
 
here, Every 15 minute 

- script Anti Bot -1,{Timmer: if(getgmlevel() > 0) end; addtimer 900000, "Anti Bot::OnCheck"; end; OnPCLoginEvent:OnCheck: 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(checkriding() == 1) set @riding,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; if(@cart == 1) { setcart; set @cart,0; } if(@falcon == 1) { setfalcon; set @falcon,0; } if(@riding == 1) { setriding; set @riding,0; } goto Timmer; close;}
screenxero022.jpg


Dont Have Close 

 
coz it jump to label 'Timmer' and the label have an 'end;' not 'close;', change that end; to close;

Timmer: if(getgmlevel() > 0) end; addtimer 900000, "Anti Bot::OnCheck"; end;
it little strange for me, do you sure want to run bot checker every 15 minute on every map except jawai ?

 
Back
Top