- 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$;
}
}