// Sistema anti-boots para catar itens // Desenvolvido por LUCASSHIN // Skype: lucasshin3 // ===================================== - script antibootengine -1,{ // === EVENTO DA MORTE DOS MONSTROS (TODOS) OnNpcKillEvent: // === CONFIGS. === setarray .@vars, 1,2,3; // Quatidade de coeficientes para a função SOMA //setarray .@mobs, 1001,1002; setarray .@mobs1, 2069; // MOBS que contabilizarão para a checagem Array1 setarray .@mobs2, 1502; // MOBS que contabilizarão para a checagem Array 2 setarray .@mapas$, "guild_vs3","job_thief1","moc_ruins","0023@tower","1@tower","2@tower","3@tower","95@tower","4@tower","5@tower"; // MAPAS em que não haverá checagem // === FIM DAS CONFIGS. === // === CHECAGEM DE MAPAS E MOBS PARA NÃO CONTABILIZAR for(set @n,0; @n < getarraysize(.@mapas$); set @n, @n + 1) if(strcharinfo(3) == .@mapas$[@n]) {close; end;} // CONTADOR DOS MOBS for (set @c,0; @c < getarraysize(.@mobs1); set @c,@c+1) for (set @q,0; @q < getarraysize(.@mobs2); set @q,@q+1) if(killedrid == .@mobs1[@c] || .@mobs2[@q] ){ QUERY_SQL "UPDATE `antiboot` SET `count`=`count`+'1' WHERE `char_id` ='"+getcharid(0)+"'"; // === ENGINE DO ANTIBOOT QUERY_SQL "SELECT `count` FROM `antiboot` WHERE `char_id` = '"+getcharid(0)+"'",@count; if(@count >= 600){ atcommand "@option 2"; mes "[^FF0000Kill-Bots System Protect^000000]"; cutin "euacho",2; mes ""; mes "- Responda corretamente a operação:"; set .@k,rand( 0,(GetArraySize(.@vars))-1); set .@k2,rand( 0,(GetArraySize(.@vars))-1); mes " ^FF0000"+.@vars[.@k]+"^000000 + ^FF0000"+.@vars[.@k2]+"^000000 = ^FF0000?^000000"; input .@resultado; // === FORMULA PARA VERIFICA RESULTADOS if(.@vars[.@k] + .@vars[.@k2] == .@resultado) { atcommand "@option 0"; if ((BaseClass == 5 || Class == 23) && !checkcart()) setcart; else if (BaseClass == 1 && !checkriding()) setriding; else if (BaseClass == 3 && !checkfalcon()) setfalcon; QUERY_SQL "UPDATE `antiboot` SET `count`= '0' WHERE `char_id` ='"+getcharid(0)+"'"; mes "Muito bem, continue jogando sem BOTS."; cutin "",255; close; end; } // === PRIMEIRA VEZ PEGO SEM PUNIÇÃO if(verifica > 1){GOTO SEFUDEU; end;} set verifica,1; mes "- Você ^FF0000NÃO^000000 passou na verificação"; mes "Tente novamente..."; next; mes "- Responda corretamente a operação:"; set .@k,rand( 0,(GetArraySize(.@vars))-1); set .@k2,rand( 0,(GetArraySize(.@vars))-1); mes " ^FF0000"+.@vars[.@k]+"^000000 + ^FF0000"+.@vars[.@k2]+"^000000 = ^FF0000?^000000"; input .@resultado2; // === FORMULA PARA VERIFICA RESULTADOS if(.@vars[.@k] + .@vars[.@k2] == .@resultado2) { atcommand "@option 0"; QUERY_SQL "UPDATE `antiboot` SET `count`= '0' WHERE `char_id` ='"+getcharid(0)+"'"; if ((BaseClass == 5 || Class == 23) && !checkcart()) setcart; else if (BaseClass == 1 && !checkriding()) setriding; else if (BaseClass == 3 && !checkfalcon()) setfalcon; mes "Muito bem, continue jogando sem BOTS."; mes " Da próxima vez que errar, você será ^FF0000punido^000000"; cutin "",255; close; end; } GOTO SEFUDEU; end; SEFUDEU: // === SEGUNDAS E DEMAIS VEZES PEGO, PUNIÇÃO mes "- Você não passou na verificação"; mes "^FF0000Você será punido^000000"; QUERY_SQL "UPDATE `antiboot` SET `kicks`=`kicks`+'1' WHERE `char_id` ='"+getcharid(0)+"'"; atcommand "@option 0"; if ((BaseClass == 5 || Class == 23) && !checkcart()) setcart; else if (BaseClass == 1 && !checkriding()) setriding; else if (BaseClass == 3 && !checkfalcon()) setfalcon; atcommand "@kick "+strcharinfo(0)+""; close; end; } end; } end; // === ZERA O CONTADOR AO RELOGAR, E INSERE O CHAR NA TABELA CASO NÃO ESTEJA OnPcLoginEvent: QUERY_SQL "UPDATE `antiboot` SET `count` = '0' WHERE `char_id` = '"+getcharid(0)+"'"; Query_SQL "SELECT `char_id` FROM `antiboot` WHERE `char_id`='"+getcharid(0)+"' AND `name`='"+strcharinfo(0)+"'",.@check_crid; if(.@check_crid == 0){query_sql "INSERT INTO `antiboot` (`char_id`, `name`, `count`, `kicks` ) VALUES ('"+getcharid(0)+"','"+strcharinfo(0)+"','0','0')";} end; } // === TABELA === // ? // skype: lucasshin3