Jump to content
  • 0

Anti Bot Script For A Specific Map


Question

9 answers to this question

Recommended Posts

Posted (edited)

- script AntiBot -1,{
function GetString;
OnPCLoadMapEvent:
if( strcharinfo(3) != "bat_c01" ) end;
switch( rand(2) ){
Case 0:
 set .@String$,GetString( 15,rand(5,10) );
 mes "Input the ^FF0000RED COLOUR^000000 part";
 mes "^0000FF"+GetString( 15,rand(5,10) )+"^FF0000"+.@String$+"^0000FF"+GetString( 15,rand(3,10) )+"^000000";
 input .@Input$;
 if( .@Input$ != .@String$ ){
  mes "Wrong..";
  atcommand "@kick "+strcharinfo(0);
 }
 break;

Case 1:
 set .@A,rand(1000);
 set .@B,rand(1000);
 mes "If A = "+.@A+"   B = "+.@B;
 switch( rand(4) ){
  Case 0:
set .@Answer,.@A + .@B;
mes "How many is A + B ?";
break;
  Case 1:
set .@Answer,.@A - .@B;
mes "How many is A - B ?";
break;
  Case 2:
set .@Answer,.@A * .@B;
mes "How many is A * B ?";
break;
  Case 3:
set .@Answer,.@A / .@B;
mes "How many is A / B ?";
break;
 }
 input .@Input;
 if( .@Input != .@Answer ){
  mes "Wrong";
  atcommand "@kick "+strcharinfo(0);
 }
 break;
}
close;
function GetString {
if( getarg(0) & 1 ) setarray .@List$[ getarraysize( .@List$ ) ],"1","2","3","4","5","6","7","8","9";
if( getarg(0) & 2 ) setarray .@List$[ getarraysize( .@List$ ) ],"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z";
if( getarg(0) & 4 ) setarray .@List$[ getarraysize( .@List$ ) ],"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z";
if( getarg(0) & 8 ) setarray .@List$[ getarraysize( .@List$ ) ],"!","@","#","$","%","^","&","*","(",")","-","=","/","+";
set .@Str$,"";
while( getstrlen( .@Str$ ) < getarg(1) )
set .@Str$,.@Str$ + .@List$[ rand( getarraysize( .@List$ ) ) ];
return .@Str$;
}
}
//-----MAPFLAG---------
bat_c01 mapflag loadevent

Just change bat_c01

Edited by Paulinds
Please use [CODEBOX] or Attachments for long contents.
Posted

sir what if i want it that script to be activate to 3 maps??how will i modify it

also how does this work??is this % that will be triggered? or set to number of mobs before it will be triggered?or every X Minutes?

Posted (edited)

You can do it in the hard way, I don't know if that will work but try to copy the same script and change the name AntiBot to AntiBot1, Antibot2 or anything that suits you then just change the map you wanted in each script.. XD

This script will trigger once you enter the specific map you inserted and will pop out a question like A=100 + B=100 = ?? Like that..

Edited by Paulinds
Posted (edited)

@ Paulinds i think he want antibot will shown every xxx second / minutes / hours / every xx monster killed maybe.not only once every login...because he want antibot for field / dungeon

CMIIW

thumbs up Edited by tope

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.   Paste as plain text instead

  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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...