AinsLord Posted February 11, 2017 Group: Members Topic Count: 261 Topics Per Day: 0.08 Content Count: 758 Reputation: 20 Joined: 11/21/15 Last Seen: April 6 Share Posted February 11, 2017 - script antibot -1,{ function GetString; OnNPCKillEvent: if( rand(100) > 30 ) end; // 30% trigger OnPCLoginEvent: switch( rand(2) ){ Case 0: sc_start sc_berserk, 1000000000, 1; 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); } sc_end sc_berserk; break; Case 1: sc_start sc_berserk, 1000000000, 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); } sc_end sc_berserk; 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$; } } this is the NPC script every time a monster killed it will pop up can anyone modify this like it will activate an hour to check if the player is a bot or not Thnx in advance Quote Link to comment Share on other sites More sharing options...
0 AinsLord Posted February 12, 2017 Group: Members Topic Count: 261 Topics Per Day: 0.08 Content Count: 758 Reputation: 20 Joined: 11/21/15 Last Seen: April 6 Author Share Posted February 12, 2017 thnx for suggesting but i want script anyone Quote Link to comment Share on other sites More sharing options...
0 Emistry Posted February 17, 2017 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2370 Joined: 10/28/11 Last Seen: April 20 Share Posted February 17, 2017 - script antibot -1,{ 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$; } OnCheck: switch( rand(2) ){ case 0: sc_start sc_berserk, 1000000000, 1; 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); } sc_end sc_berserk; break; case 1: sc_start sc_berserk, 1000000000, 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); } sc_end sc_berserk; break; } close2; OnPCLoginEvent: addtimer ( 60 * 60000 ), strnpcinfo(3)+"::OnCheck"; end; } try this. Quote Link to comment Share on other sites More sharing options...
0 maxine02 Posted February 20, 2017 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 58 Reputation: 4 Joined: 04/15/16 Last Seen: July 14, 2022 Share Posted February 20, 2017 (edited) On 2/17/2017 at 10:37 PM, Emistry said: - script antibot -1,{ 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$; } OnCheck: switch( rand(2) ){ case 0: sc_start sc_berserk, 1000000000, 1; 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); } sc_end sc_berserk; break; case 1: sc_start sc_berserk, 1000000000, 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); } sc_end sc_berserk; break; } close2; OnPCLoginEvent: addtimer ( 60 * 60000 ), strnpcinfo(3)+"::OnCheck"; end; } try this. What if I want it to be on certain map only? I tried to add this OnCheck: getmapxy(@map$, @xb, @yb, 0 ); if(@map$ != "abyss_03") end; But, the antibot is not showing anymore.. Edited February 20, 2017 by maxine02 Quote Link to comment Share on other sites More sharing options...
-1 Cyro Posted February 11, 2017 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 1138 Reputation: 290 Joined: 04/29/13 Last Seen: July 20, 2024 Share Posted February 11, 2017 Players won't be annoyed if it pop-up like that? Everytime? I think you can use ring sec shield which free and working good as anti cheat This is not proper answer for your question.. but just suggesting Quote Link to comment Share on other sites More sharing options...
Question
AinsLord
this is the NPC script every time a monster killed it will pop up
can anyone modify this like it will activate an hour to check if the player is a bot or not
Thnx in advance
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.