viewing paste Hourly Point + AntiBot ? | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
-    script    ZenyMenit    -1,{
function GetString;
function BotCheck;
 
//--Start of the Script
OnPCLoginEvent:
if(getgmlevel() > 10) end;
attachnpctimer ""+strcharinfo(0)+"";
initnpctimer;
end;
 
OnTimer30000:
//Check if Vending (normal or @at)
if(checkvending() >= 1 || checkchatting() == 1) {
    dispbottom "Menit Zeny berhenti karena anda sedang vending / chatting. Silahkan relog untuk mengulang dari awal.";
    stopnpctimer;
    end;
}
//Check if Idle
getmapxy( .@map$, .@x, .@y, 0 );
if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    set @afk, @afk + 1;
}
//If move timer resets
else {
    set @afk, 0;
}
    set @map$, .@map$; set @x, .@x; set @y, .@y;
//Idle Check for 55 Minutes
if(@afk == 55) {
    dispbottom "Menit Zeny berhenti karena kamu idle selama 55 menit. Silahkan relog untuk mengulang dari awal.";
    stopnpctimer;
    end;
}
end;
 
OnTimer60000:
set @minute, @minute + 1;
if(countitem(25574) == 1) || (countitem(25576) == 1) || (countitem(25578) == 1) || (countitem(25579) == 1) || (countitem(25584) == 1){
set .@point_amt, 1;
getitem 674,.@point_amt;
}else{
set .@bonus_amt, 1;
getitem 675,.@bonus_amt;
}
//Check for 1 Minute
dispbottom "Total Hour's Played: " + @consecutive_hour;
dispbottom "Total Minute's Played: " + @minute;
if(@minute == 60){
    BotCheck( rand(2) );
    set @minute,0;
    set .@cpoint_amt, 1;
    getitem 7606,.@cpoint_amt;
    set @consecutive_hour, @consecutive_hour + 1;
    if( @consecutive_hour == 2 )
        set @consecutive_hour,0;
}
stopnpctimer;
initnpctimer;
end;
 
function    BotCheck    {
atcommand "@option 2";
switch( getarg(0) ){
    Case 0:
        set .@String$,GetString( 15,rand(5,10) );
        mes "[Antibot Check]";
        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$ ){
            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;
}
atcommand "@option 0";
return;
}
 
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$;
}
 
}
Viewed 1411 times, submitted by Emistry.