PDA

Ir para Versão Original : [AJUDA] Burlando anti-bot RagnaDesire


ringbolt
20/07/2008, 22:44:08
O anti-bot é esse que está no link a seguir:

http://www.ragnadesire.com/antbot/

Como podem ver, você tem que digitar o número que um dos bixos fala.
Procurei, procurei e procurei, mas não encontrei nenhuma solução para isso. Estudei os plugins reactOnNPC e o respondeOnASCIInumer, mas não sei oque botar no msg_0 e respectivamente para buscar o bixo q fala o número.

Devido a tais problemas, venho a recorrer ao pessoal do fórum e pedir sua ajuda, pois estou precisando urgentemente burlar esse anti bot.


Obrigado desde já.

Debardo
22/07/2008, 5:55:36
Poste fotos também do openkore no momento que o antibot esta ativo.

Sem mais!!!

Poleti
23/07/2008, 12:17:18
Muito bem, vamos la
1 - O ragnaDesire esta com um sistema que sumona uns 30 monstros em uma nuvem que automaticamente o OK trigua porque nao vai consegui atacar os mesmos.
solução: Configurando o mon_control para "all 0 0 0" e botando logo embaixo os mostros de seu lockmap para "mostros 1 0 0", aconselho apagar tudo e colocar so isso.
Depois é so configurar o "teleportAuto_useChatCommand" para "@warp Seu LcokMap", em todo caso, para não ter nenhuma falha bote o "teleportAuto_dropTarget" para 1, assim se algum monstro que voce botou no mon_control estiver na fumaça do ANT-BOT ele desisti de atacar e teleporta quando o ataque falhar.
2 - Colocarão um sistema em que os monstros falam, o serv da foto esta em espanhol mais o sistema é o mesmo oque muda é que o serv da foto os mostros falam em forma de guild e no ragnaDesire eles falam em forma de chat mesmo - http://img78.imageshack.us/img78/5826/korerb4.jpg.
Procurando no fórum internacional, para ser mais especifico neste link - http://forums.openkore.com/viewtopic...sd=a&start=120, encontrei este código que botei no config.txt e configurei para o ragnaDesire :
adicione isso no config txt.

reactOnNPC talk num @eval("#g0~1" || "#g1~1" || "#g2~1" || "#g3~1") {
msg_0 /\[Policial]/
msg_1 /./
msg_2 /monstros/
msg_3 /./
msg_4 /segundos/
pubmMsg_0 /^\D*(\d+)?\D*$/
pubmMsg_1 /^\D*(\d+)?\D*$/
pubmMsg_2 /^\D*(\d+)?\D*$/
pubmMsg_3 /^\D*(\d+)?\D*$/
type number
}[/quote]Crie um arquivo na pasta plugin chamado reactOnNPC.pl
coloque isso e salve
[quote]# =======================
# reactOnNPC v.2.0.0 Modified Version
# =======================
# This plugin is licensed under the GNU GPL
# Copyright 2006 by hakore
#
# http://forums.openkore.com/viewtopic.php?f=34&t=198
#
# Modification by tomcs70
# Added guild chat capture
package reactOnNPC;
use strict;
use Plugins;
use Globals;
use Utils;
use Commands;
use Network::Receive;
use Log qw(message debug);
Plugins::register('reactOnNPC', "react on NPC messages", \&Unload);
my $hooks = (
Plugins::addHooks(
['packet/npc_talk', \&onNPCTalk, undef],
['packet/npc_talk_close', \&onNPCAction, undef],
['packet/npc_talk_continue', \&onNPCAction, undef],
['packet/npc_talk_number', \&onNPCAction, undef],
['packet/npc_talk_responses', \&onNPCAction, undef],
['packet/npc_talk_text', \&onNPCAction, undef],
['packet/guild_chat', \&onGuildChat, undef],
['mainLoop_pre', \&onCheckCmd, undef]
)
);
my %reactOnNPC;
my %reactOnGuildChat;
my @reactOnNPC;
sub Unload
{
Plugins::delHooks($hooks);
};
# '017F' => ['guild_chat', 'x2 Z*', [qw(message)]],
sub onGuildChat
{
my (undef, $args) = @_;
my ($chatMsgUser, $chatMsg); # Type: String
my $msg; # Type: String
$msg = I18N::bytesToString($args->{message});
if (($chatMsgUser, $chatMsg) = $msg =~ /(.*?) : (.*)/) {
$chatMsgUser =~ s/ $//;
stripLanguageCode(\$chatMsg);
$msg = "$chatMsgUser : $chatMsg";
}
if (!defined %reactOnGuildChat || $reactOnGuildChat{action})
{
undef %reactOnGuildChat if defined %reactOnGuildChat;
$reactOnGuildChat{index} = 0;
$reactOnGuildChat{msg}[$reactOnGuildChat{index}] = $msg;
}
else
{
$reactOnGuildChat{index}++;
$reactOnGuildChat{msg}[$reactOnGuildChat{index}] = $msg;
}
debug "[reactOnNPC] Guild message saved ($reactOnGuildChat{index}): \"$msg\".\n", "reactOnNPC";
}
sub onNPCTalk
{
my (undef, $args) = @_;
my $ID = unpack("V", substr($args->{RAW_MSG}, 4, 4));
my $msg = unpack("Z*", substr($args->{RAW_MSG}, 8));
$msg = I18N::bytesToString($msg);
if (!defined %reactOnNPC || $reactOnNPC{action})
{
undef %reactOnNPC if defined %reactOnNPC;
$reactOnNPC{index} = 0;
$reactOnNPC{ID} = $ID;
$reactOnNPC{msg}[$reactOnNPC{index}] = $msg;
}
else
{
$reactOnNPC{index}++;
$reactOnNPC{msg}[$reactOnNPC{index}] = $msg;
}
debug "[reactOnNPC] NPC message saved ($reactOnNPC{index}): \"$msg\".\n", "reactOnNPC";
}
sub onNPCAction
{
my $type = substr(shift, 16);
$reactOnNPC{action} = $type;
$reactOnGuildChat{action} = $type;
debug "[reactOnNPC] onNPCAction type is: $type.\n", "reactOnNPC";
if ($type eq 'responses')
{
my $args = shift;
my $msg = unpack("Z*", substr($args->{RAW_MSG}, 8));
$msg = I18N::bytesToString($msg);
undef @{$reactOnNPC{responses}};
my @responses = split /:/, $msg;
foreach (@responses) {
push @{$reactOnNPC{responses}}, $_ if $_ ne "";
}
}
my $i = 0;
while (exists $config{"reactOnNPC_$i"}) {
if (
!$config{"reactOnNPC_$i"}
|| !main::checkSelfCondition("reactOnNPC_$i")
|| ($config{"reactOnNPC_${i}_type"} && $config{"reactOnNPC_${i}_type"} ne $type)
) {
debug "[reactOnNPC] Conditions for reactOnNPC_$i not met.\n", "reactOnNPC";
$i++;
next;
}
my $j = 0;
my $ok = 1;
while (exists $config{"reactOnNPC_${i}_msg_$j"})
{
my $msg;
if (exists $reactOnNPC{msg}[$j])
{
$msg = $reactOnNPC{msg}[$j];
# Remove RO color codes
$msg =~ s/\^[a-fA-F0-9]{6}//g unless ($config{"reactOnNPC_${i}_useColors"});
}
if (!defined $msg || !match($j, $msg, $config{"reactOnNPC_${i}_msg_$j"}))
{
debug "[reactOnNPC] One or more lines doesn't match for \"reactOnNPC_$i\" ($j).\n", "reactOnNPC";
$ok = 0;
last;
}
$j++;
}
if ($ok)
{
$j = 0;
while (exists $config{"reactOnNPC_${i}_guildMsg_$j"})
{
my $msg;
if (exists $reactOnGuildChat{msg}[$j])
{
$msg = $reactOnGuildChat{msg}[$j];
}
if (!defined $msg || !match2($j, $msg, $config{"reactOnNPC_${i}_guildMsg_$j"}))
{
debug "[reactOnNPC] One or more lines doesn't match for \"reactOnNPC_$i\" ($j).\n", "reactOnNPC";
$ok = 0;
last;
}
$j++;
}
}
if ($ok)
{
my $cmd = $config{"reactOnNPC_$i"};
$cmd =~ s/#(\d+)~(\d+)/$reactOnNPC{match}[$1][$2]/g;
$cmd =~ s/#g(\d+)~(\d+)/$reactOnGuildChat{match}[$1][$2]/g;
my $kws = 'eval|resp';
while (my ($kw, $expr) = $cmd =~ /\@($kws)\(((?:(?!(?<!\@)\@$kws\().)+?)(?<!\@)\)/)
{
my $eval;
my $eval_expr = $expr;
$eval_expr =~ s/\@(?=[\@)])//g;
if ($kw eq 'eval')
{
$eval = eval $eval_expr;
}
elsif ($kw eq 'resp')
{
$i = 0;
foreach (@{$reactOnNPC{responses}}) {
if (match(undef, $_, $eval_expr))
{
last;
}
$i++;
}
$eval = $i;
}
$expr = quotemeta $expr;
$cmd =~ s/\@$kw\($expr\)/$eval/g;
}
if (my $delay = $config{"reactOnNPC_${i}_delay"})
{
my $params = {
cmd => $cmd,
time => time,
timeout => $delay
};
debug "[reactOnNPC] React to NPC with delay. Execute command \"$cmd\" after $delay seconds.\n", "success";
push @reactOnNPC, $params;
}
else
{
message "[reactOnNPC] Reacting to NPC. Executing command \"$cmd\".\n", "success";
Commands::run($cmd);
}
last;
}
$i++;
}
undef %reactOnNPC if $type eq 'close';
}
sub onCheckCmd
{
for (my $i = 0; $i < @reactOnNPC; $i++)
{
my $args = $reactOnNPC[$i];
if (timeOut($args->{time}, $args->{timeout}))
{
message "[reactOnNPC] Reacting to NPC. Executing command \"".$args->{cmd}."\".\n", "success";
Commands::run($args->{cmd});
}
}
}
sub match
{
my ($line, $subject, $pattern) = @_;
debug "[reactOnNPC] Matching \"$subject\" to \"$pattern\" ($line)... ", "reactOnNPC";
if (my ($re, $ci) = $pattern =~ /^\/(.+?)\/(i?)$/)
{
if (($ci && $subject =~ /$re/i) || (!$ci && $subject =~ /$re/))
{
if (defined $line)
{
no strict;
foreach my $index (1..$#-)
{
$reactOnNPC{match}[$line][$index] = ${$index};
}
}
debug "regexp ok.\n", "reactOnNPC";
return 1;
}
}
elsif ($subject eq $pattern)
{
debug "ok.\n", "reactOnNPC";
return 1;
}
debug "doesn't match.\n", "reactOnNPC";
}
sub match2
{
my ($line, $subject, $pattern) = @_;
debug "[reactOnNPC] Matching \"$subject\" to \"$pattern\" ($line)... ", "reactOnNPC";
if (my ($re, $ci) = $pattern =~ /^\/(.+?)\/(i?)$/)
{
if (($ci && $subject =~ /$re/i) || (!$ci && $subject =~ /$re/))
{
if (defined $line)
{
no strict;
foreach my $index (1..$#-)
{
$reactOnGuildChat{match}[$line][$index] = ${$index};
}
}
debug "regexp ok.\n", "reactOnNPC";
return 1;
}
}
elsif ($subject eq $pattern)
{
debug "ok.\n", "reactOnNPC";
return 1;
}
debug "doesn't match.\n", "reactOnNPC";
}
return 1;
depois so iniciar seu kore.
façam o teste depois postem aqui se quiserem.
Créditos taaqui
-------------------------------------------------------------------------
SEM MAIS

exlowns
23/07/2008, 21:18:09
Poste fotos também do openkore no momento que o antibot esta ativo.

Sem mais!!!


bom moço, eu não consegui dexa o bot on até o policial chegar pois fica nisso o, eu logo ETC (pelo bot) so que fica falando que tm uns npc´s ou bixos me atacendo e fica nisso até eu morre:frown2: SS´s Abaixo
http://img293.imageshack.us/img293/5060/novoaimagemdebitmap2ye9.png
http://img297.imageshack.us/img297/5589/cpiadenovoaimagemdebitmic2.png
ajuda ae por favor, posta um tuto em portuegues em ingles fica ruim de entender =x obrigado

keops
24/07/2008, 20:41:49
AKI NO SERVE QUE EU TO TBM TEM UM ANTI BOT
PARECIDO COM OQUE VC FALO AE
QUE CHEGA UM POLICIAL LI CONGELA E MANDA VC FALA OS NUMEROS
EU SEI O COMANDO PRA FALAR ATRAVEZ DO BOT.
MAS EU QRO O JEITO PRA ELE PASSA PÉLO ANTI BOT SOZINHO :D


SI PUDER MIN AJUDA EU AGRADEÇO E ABRAÇAO:tongue2::tongue2::tongue2:

ringbolt
26/07/2008, 1:42:16
Caro debardo, segue a screen quando o anti-bot é ativado:
http://i258.photobucket.com/albums/hh244/ringbolt93/imagem.jpg


E aqui é o link do anti-bot in-game, como eu havia dito:
http://www.ragnadesire.com/antbot/

Pois então, como você vê, na screen do kore ele não reconhece o número que o bixo fala. Eu botei esse código na config.txt, junto com o plugin reactOnNpc.pl:


reactOnNPC talk num @eval("#g0~1" || "#g1~1" || "#g2~1" || "#g3~1") {
msg_0 /\[Policial]/
msg_1 /./
msg_2 /monstros/
msg_3 /./
msg_4 /segundos/
pubmMsg_0 /^\D*(\d+)?\D*$/
pubmMsg_1 /^\D*(\d+)?\D*$/
pubmMsg_2 /^\D*(\d+)?\D*$/
pubmMsg_3 /^\D*(\d+)?\D*$/
type number
}


Peguei o código de um post daqui do fórum (http://www.forumjol.com.br/showthread.php?p=359408#post359408).
Há algo de errado com o código? pois o kore não reconhece o número que o monstro fala.

Obrigado desde já.

exlowns
26/07/2008, 1:58:59
ringbolt ki versão do kore vc uza?
pq aqui fica dando aqueles erros da SS que te mostrei please mi fala a versão
i sem não for abuzar mi deixa o link de download?*-*

ringbolt
26/07/2008, 2:03:14
Caro Poleti, o seguinte error ocorreu comigo:

http://i258.photobucket.com/albums/hh244/ringbolt93/imagem.jpg

Aparentemente, o kore não está identificando o número falado pelo monstro. (acredito eu, sou meio lezo nisso. hehehe)
Você sabe oque pode estar provocando este error? To desesperado atras de uma solução pra esse anti bot. \=

ringbolt
26/07/2008, 2:15:12
Amigo, leia este tópico aqui: http://www.forumjol.com.br/showthread.php?p=359408#post359408

Nele contém como evitar isso ai.


@debardo

Pooor favor me ajuda, to desesperado atras de uma solução. =\

ringbolt
26/07/2008, 13:52:08
Upp !! Preciso de ajuda ! =(

AAAA. O problema está na seguinte parte

pubmMsg_0 /^\D*(\d+)?\D*$/
pubmMsg_1 /^\D*(\d+)?\D*$/
pubmMsg_2 /^\D*(\d+)?\D*$/
pubmMsg_3 /^\D*(\d+)?\D*$/

Pois, como diz a screen, os bixos não usam o pub chat pra falarem. Porém, eu não sei oque botar no lugar, já que eles falam como [dist=0].
ajuda por favorr !

exlowns
26/07/2008, 16:13:09
ringbolt plix mi manda seu msn i mi manda seu mon_control eu tentei aqui e não consegui arumar nada..não entendi o topico que vc passou =x
se possivel posta SS do seu mon_control?

Debardo
30/07/2008, 9:36:58
Resolvi juntar o dois tópicos,afinal fala sobre o mesmo problema.

Sem mais!!!

bola
31/07/2008, 3:33:10
ringbolt (http://forum.gamesonline.com.br/member.php?u=40471), vc poderia me falar oq vc coloca no server.txt , para entrar no ragnaDesire? eu não consigo ^^, ficarei grato, e na luta contra a polica do ragnadesire

poxavida
22/08/2008, 9:18:31
putz ringbolt to com o mesmo problema cara...acho q pubmmsg ta certo pq os bixos falam sim no public chat...deve t alguma coisa errada no plugin ou entao a ordem ai..sera q se por o "type number" em primeiro antes de por

msg_0 /\[Policial]/
msg_1 /./
msg_2 /monstros/
msg_3 /./
msg_4 /segundos/
pubmMsg_0 /^\D*(\d+)?\D*$/
pubmMsg_1 /^\D*(\d+)?\D*$/
pubmMsg_2 /^\D*(\d+)?\D*$/
pubmMsg_3 /^\D*(\d+)?\D*$/

seila nao entendo muito...poleti ajuda mais um pouquinho ai se puder ja fez muito por nos huauha mas ta dando pau queria uma ajud ai..
ringbolt conseguiu ai?? o.o

vlww abraços..

ringbolt
22/08/2008, 14:31:17
velho, eu tava no fórum do openkore internacional e o cara disse q o pubmMsg ainda nao foi implementado, que só existe Msg e guildMsg. Ele disse pra testar assim:

reactOnNPC talk num @eval("#5~1" || "#6~1" || "#7~1" || "#8~1") {
msg_0 /\[Policial]/
msg_1 /./
msg_2 /monstros/
msg_3 /./
msg_4 /segundos/
msg_5 /^\D*(\d+)?\D*$/
msg_6 /^\D*(\d+)?\D*$/
msg_7 /^\D*(\d+)?\D*$/
msg_8 /^\D*(\d+)?\D*$/
type number
}


Porém eu nao consigo achar as novas configs do server, depois que o server troco de host. se vc tiver por favor me passe =p

poxavida
22/08/2008, 19:43:15
fala ringbolt..isso ai eu ponho no config.txt neh cara..
entao eu tenho as informaçoes do BIFROST do ragnadesire q eh oserver q eu jogo..
entao pra conecta eu uso o openkore 2.0.5.1 dai tem q baixar uns arquivos ai eskeci o link mas no forum tem..mas eh soh colocar ali no search ServerType8.pm dai vai t o link q eh tipo um tutorial ou fixo nao me lembro..dai baixa akele "kit" q sao 3 arquivos..eh menos de 1mb o arquivo dai la fala onde por os arquivos..dai vc poem isso ai q eu to t passando no servers.txt
ai vou testar entao essa parada q vc me falo..qq coisa eu posto aki..e vc tb em ja testou ai?? qq coisa eu posto ai.. falo car abraços e valeu pela ajuda ai mano ;D

(lembrando q eh o bifrost q eu jogo em..nao akele novov server q eles abriram xD)

[RagnaDesire]
ip 208.43.87.50
port 6902
master-version 14
version 20
serverType 9
private 1
charBlockSize 108

ringbolt
23/08/2008, 14:18:38
eae cara ! valeu pelas infos, vo testar aqui e posto o resultado.

poxavida
23/08/2008, 16:57:41
ixe nem funciono..nao da erro nem nada..mas o bot nao digita o numero ele soh da next..dai continua a mensagem e nao sai disso lol...

po qndo q sai o plugin pra public chat?? se nao lança isso nao sei como vai faze nao hahaha...

o debardo..levelbot..taxi..nao sabe configura ai nao pra nos ajudar?? xD
qm souber criar plugin ai *nem sei se da pra criar lol* tenta ajda agente tb ai xD vlww

e ai no seu funcionou??? aki nem deu..uahuah
posta ai o resultado to no aguardo aki xD ..
faloo abraçoss...

poxavida
25/08/2008, 22:58:41
soh pra dar um up..
e espero ajuda ainda se alguem puder por favor xD ..
vamo pessoal tem q ter um jeito de passar por esse anti bot xD

gargamel
25/09/2008, 12:55:13
velho, eu tava no fórum do openkore internacional e o cara disse q o pubmMsg ainda nao foi implementado, que só existe Msg e guildMsg. Ele disse pra testar assim:
reactOnNPC talk num @eval("#5~1" || "#6~1" || "#7~1" || "#8~1") {
msg_0 /[Policial]/
msg_1 /./
msg_2 /monstros/
msg_3 /./
msg_4 /segundos/
msg_5 /^D*(d+)?D*$/
msg_6 /^D*(d+)?D*$/
msg_7 /^D*(d+)?D*$/
msg_8 /^D*(d+)?D*$/
type number
}
Porém eu nao consigo achar as novas configs do server, depois que o server troco de host. se vc tiver por favor me passe =p

@ringbolt
Me poste o link que vc estava vendo no fórum do openkore internacional deste antibot, poste tambem os dados do servidor para que eu possa dar uma olhada!

@Depardo
vc postou em alguns topico links de resolução de policiais... ja procurei em varios topicos seus, mas não encontrei, da pra postar aqui o link... valeu!

@Todos
Tenho certeza que esse policial já tem plugins, pois ele é muito simples!

Quem quizer a ideia pra fazer o macro para esse policial é o seguinte:

Quando [policial]
Pegue 3 casas apos espaço em branco!
Lance condição pra saber se é numero ou letras!
Responder os numero 3 casas!

Lançaram o macro para esse antibot procurem aqui:
http://forum.jogosonline.com.br/showthread.php?t=39292

Soulbut
14/10/2008, 23:47:18
Configurei como diz o tutorial mas naum sei c configurei certo...
C alguem tiver os arquivos certos por favor coloque a disposiçao de tdos

E esse negocio ae:
Quem quizer a ideia pra fazer o macro para esse policial é o seguinte:

Quando [policial]
Pegue 3 casas apos espaço em branco!
Lance condição pra saber se é numero ou letras!
Responder os numero 3 casas!explique melhor plz


@Edit: Problema resolvido