Advertisement
Emistry

[RO] Antibot - Colored Code + Math Calculation

May 1st, 2017
995
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. // http://upaste.me/6e5f275a371f5b9
  2. // https://rathena.org/board/topic/109622-anti-bot/
  3.  
  4. - script Sample -1,{
  5. function GetString;
  6.  
  7. OnPCLoginEvent:
  8. addtimer (3600 * 1000), strnpcinfo(3) + "::OnPCLoginEvent";
  9. if (getmapflag(.@map$, mf_town)) end;
  10.  
  11. switch( rand(2) ){
  12. case 0:
  13. set .@String$,GetString( 15,rand(5,10) );
  14. mes "Input the ^FF0000RED COLOUR^000000 part";
  15. mes "^0000FF"+GetString( 15,rand(5,10) )+"^FF0000"+.@String$+"^0000FF"+GetString( 15,rand(3,10) )+"^000000";
  16. input .@Input$;
  17. if( .@Input$ != .@String$ ){
  18. mes "Wrong..";
  19. atcommand "@kick "+strcharinfo(0);
  20. }
  21. break;
  22.  
  23. case 1:
  24. set .@A,rand(1000);
  25. set .@B,rand(1000);
  26. mes "If A = "+.@A+" B = "+.@B;
  27. switch( rand(4) ){
  28. case 0:
  29. set .@Answer,.@A + .@B;
  30. mes "How many is A + B ?";
  31. break;
  32. case 1:
  33. set .@Answer,.@A - .@B;
  34. mes "How many is A - B ?";
  35. break;
  36. case 2:
  37. set .@Answer,.@A * .@B;
  38. mes "How many is A * B ?";
  39. break;
  40. case 3:
  41. set .@Answer,.@A / .@B;
  42. mes "How many is A / B ?";
  43. break;
  44. }
  45. input .@Input;
  46. if( .@Input != .@Answer ){
  47. mes "Wrong";
  48. atcommand "@kick "+strcharinfo(0);
  49. }
  50. break;
  51. }
  52. close;
  53.  
  54. function GetString {
  55. if( getarg(0) & 1 ) setarray .@List$[ getarraysize( .@List$ ) ],"1","2","3","4","5","6","7","8","9";
  56. 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";
  57. 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";
  58. if( getarg(0) & 8 ) setarray .@List$[ getarraysize( .@List$ ) ],"!","@","#","$","%","^","&","*","(",")","-","=","/","+";
  59.  
  60. set .@Str$,"";
  61. while( getstrlen( .@Str$ ) < getarg(1) )
  62. set .@Str$,.@Str$ + .@List$[ rand( getarraysize( .@List$ ) ) ];
  63. return .@Str$;
  64.  
  65. }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement