ENTREGUE Minha macro de arco [Chronos 1.8]

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Inscreva-se agora!
Status
Não está aberto para novas respostas.

Lehcki

Craftlandiano
VIP
Entrou
Dez 13, 2012
Mensagens
1,836
Cubos
0
Vim aqui postar a minha macro, que eu usei para upar arqueiro, ela é bem simples, mata os mobs, repara o arco e guarda os itens nos baus.

Para usar essa macro do modo que está tem alguns requisitos:
-Tem que ser vip, essa macro nao pega mais flechas, usa um arco com infinity, portanto é necessario ser vip para reparar sem perder o enchant (ela repara olhando pra baixo no bloco de ferro).
-Como eu fiz essa macro para mim usar ela está com a configuração da trap que eu uso (baus no mesmo lugar q mata os mobs, trap virada para o EAST), dá para alterar facilmente, mas como n sei que tipo de trap d baus vocês usam deixo isso pra vocês fazerem :p
-Quando usarem vocês vão notar que ela não puxa o arco até o fim, eu fiz uns testes e não vi diferença nenhuma entre puxar só um pouco e puxar o maximo o arco.

Vamos ver a configuração da trap de baus!
é uma trap de 52 baus duplos, você fica em cima de um bloco de ferro, virado para o EAST, (na imagem os mobs ficariam em cima do bloco de dima).
DVDNcQL.jpg


5 colunas de baus atras de você, e 4 pra cada lado, com 4 de altura tudo.
HZYRWX7.png


o bloco de ferro fica na mesma altura que a 1 linha de baus (1 acima do chao, e o bloco de dima na frente do bloco de ferro, ou seja na altura da 2 linha de baus)

(aqui é a vista em cima do bloco de ferro)
tNIm2r9.png


você vai setar home (/home gaiola) em cima do bloco de ferro olhando para cima do bloco de dima (na direção EAST).

Instalação da macro:
para instalar é a mesma conversa de sempre:
escolhe uma tecla, cria um arquivo chamado uparco , ou qq outra coisa mas se for usar a minha macro de religar precisa estar com esse nome, cole o codigo lá.
a macro está configurada para só atirar, se o mob estiver na frente (pra n ficar gastando durabilidade sem necessidade), ela checa pelo id do mob (no caso está 59, que é a aranha das cavernas, que eu usei para upar pois fica com linha infinita assim n preciso ficar verificando a acc, só largar upando), se for alterar veja na linha 45, que está: if(%HITID%=59); ai só alterar o 59 para o id do mob q você quer matar.
depois que a macro encher os 50 baus, ela vai parar de tentar guardar e ficará só matando os mobs enquanto a linha durar, uma vez que a linha acabe ela para completamente.

o codigo:
$${
if@arco);
unset(@arco);
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("uparco.txt","[%&date%, %PLAYER%] %&pname%: Parando a Macro!");
log("&d{MACRO} &6Macro Uparco &4[OFF]");
volume(100);
stop;
else;
set(@arco);
unset(@paredup);
log("&d{MACRO} &6Macro Uparco &a[ON]");
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("uparco.txt","[%&date%, %PLAYER%] %&pname%: Iniciando a Macro!");
unset(paredeguardar);
volume(0);
endif;
#baudropes=1;
do();

echo(/home gaiola);
wait(3);
do(1000);
slot(9);
if(%DURABILITY%<25);
look(,90);
key(use);
wait(100ms);
key(use);
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("uparco.txt","[%&date%, %PLAYER%] %&pname%: acabei de reparar o arco!");
wait(1);
if(@paredup);
log("&d{MACRO} &6Macro matar mob&4[OFF]");
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("uparco.txt","[%&date%, %PLAYER%] %&pname%: Parando a Macro! acabou as linhas!");
unset(@arco);
unset(@paredup);
volume(100);
stop();
endif;
endif;

look(90,10);
if(%HITID%=59);
do(19);
key(use);
loop;
endif;
loop;
if(paredeguardar);
else;
do;
if(%#baudropes%=1);wait(100ms);look(240,350);endif();
if(%#baudropes%=2);wait(100ms);look(240,0);endif();
if(%#baudropes%=3);wait(100ms);look(240,15);endif();
if(%#baudropes%=4);wait(100ms);look(246,23);endif();
if(%#baudropes%=5);wait(100ms);look(255,350);endif();
if(%#baudropes%=6);wait(100ms);look(255,0);endif();
if(%#baudropes%=7);wait(100ms);look(255,20);endif();
if(%#baudropes%=8);wait(100ms);look(255,25);endif();
if(%#baudropes%=9);wait(100ms);look(270,350);endif();
if(%#baudropes%=10);wait(100ms);look(270,0);endif();
if(%#baudropes%=11);wait(100ms);look(270,20);endif();
if(%#baudropes%=12);wait(100ms);look(270,25);endif();
if(%#baudropes%=13);wait(100ms);look(285,350);endif();
if(%#baudropes%=14);wait(100ms);look(285,0);endif();
if(%#baudropes%=15);wait(100ms);look(285,20);endif();
if(%#baudropes%=16);wait(100ms);look(285,25);endif();
if(%#baudropes%=17);wait(100ms);look(295,350);endif();
if(%#baudropes%=18);wait(100ms);look(295,0);endif();
if(%#baudropes%=19);wait(100ms);look(295,15);endif();
if(%#baudropes%=20);wait(100ms);look(293,23);endif();
if(%#baudropes%=21);wait(100ms);look(310,350);endif();
if(%#baudropes%=22);wait(100ms);look(310,0);endif();
if(%#baudropes%=23);wait(100ms);look(310,15);endif();
if(%#baudropes%=24);wait(100ms);look(312,25);endif();
if(%#baudropes%=25);wait(100ms);look(320,340);endif();
if(%#baudropes%=26);wait(100ms);look(320,0);endif();
if(%#baudropes%=27);wait(100ms);look(320,20);endif();
if(%#baudropes%=28);wait(100ms);look(320,30);endif();
if(%#baudropes%=29);wait(100ms);look(335,340);endif();
if(%#baudropes%=30);wait(100ms);look(335,0);endif();
if(%#baudropes%=31);wait(100ms);look(335,20);endif();
if(%#baudropes%=32);wait(100ms);look(335,35);endif();
if(%#baudropes%=33);wait(100ms);look(360,340);endif();
if(%#baudropes%=34);wait(100ms);look(360,0);endif();
if(%#baudropes%=35);wait(100ms);look(360,20);endif();
if(%#baudropes%=36);wait(100ms);look(360,35);endif();
if(%#baudropes%=37);wait(100ms);look(180,345);endif();
if(%#baudropes%=38);wait(100ms);look(180,0);endif();
if(%#baudropes%=39);wait(100ms);look(180,20);endif();
if(%#baudropes%=40);wait(100ms);look(180,40);endif();
if(%#baudropes%=41);wait(100ms);look(200,340);endif();
if(%#baudropes%=42);wait(100ms);look(200,0);endif();
if(%#baudropes%=43);wait(100ms);look(200,20);endif();
if(%#baudropes%=44);wait(100ms);look(200,40);endif();
if(%#baudropes%=45);wait(100ms);look(220,340);endif();
if(%#baudropes%=46);wait(100ms);look(220,0);endif();
if(%#baudropes%=47);wait(100ms);look(220,20);endif();
if(%#baudropes%=48);wait(100ms);look(220,30);endif();
if(%#baudropes%=49);wait(100ms);look(230,350);endif();
if(%#baudropes%=50);wait(100ms);look(230,0);endif();

wait(1);
key(use);
wait(1);

for(#i,54,80);
getslotitem(%#i%,&id,#stack);
if(%#stack%>0);
wait(50ms);
slotclick(%#i%,l,true);
endif;
next;
wait(300ms);
getslotitem(53,#id,#stack);
wait(55ms);

if(%#stack%!=0);
inc(#baudropes);
endif();
gui();
if(%#baudropes%=51);
log(&d[MACRO]&c[%PLAYER%] &fparece que todos os 51 baus da trap foram cheios &6=O);
set(paredeguardar);
gui();
endif();
until((%#stack%=0)||(%#baudropes%>=51));
endif;

loop;
loop;

}$$



Para a macro religar automaticamente você terá q colocar umas coisas na sua macro do onChat, provavelmente você já tem uma macro de login automático então é só abrir o arquivo e adicionar esse código no final antes dos }$$

ifmatches(%CHATCLEAN%,"Ranking do servidor: http://bit.ly/craftlandiaranking");
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("loginchronos.txt","[%&date%, %PLAYER%] Login Realizado com sucesso!");
wait(5);

if(@arco);
log(Macro de arco detectada!);
log(começando a macro!);
wait(2);
unset(@arco);
exec(uparco.txt,ARCO);
endif;
endif;

A macro também usa o onchat para detectar se ela tem ou não linha para reparar, então você PRECISA adicionar esse código também antes do final:
ifmatches(%CHATCLEAN%,"Você precisa de mais String");
set(@paredeup);
endif();

E por fim se você for como eu e também gostaria de monitorar seu progresso na skill, então adiciona mais esse código que ele guarda toda vez q você sobe de nível.
if(@arco);
ifmatches(%CHATCLEAN%,"Habilidade arqueiro aumentada em 1. Total (.*)$",&pskilllenha,1,none);
time(&date,"dd/MM/yyyy HH:mm:ss");
logto("uparco.txt","[%&date%, %PLAYER%] Habilidade em arqueiro aumentada em 1. Total %&pskilllenha%");
endif();
endif;


Se tiver alguma duvida ou algum problema com a macro só falar que eu vejo o que posso fazer.
Se quiser alterar a macro fique a vontade!

PS;eu acho que ela serviria para a versão 1.5, eu não jogo lá faz tempo mas não vejo nada que impediria seu funcionamento!
PS: dá pra ver numa das fotos, mas é melhor falar aqui também, no slot 9 da sua hotbar fica o arco encantado com infinity (os outros enchants não interferem na skill), e nos outros slots ficam 7 packs de linha e 1 flecha.
 
Última edição:
Interessante. Boa macro :)


Uma ideiazinha legal pra acelerar um pouquinho o processo de armazenagem:

Nessa parte:
for(#i,54,80);
getslotitem(%#i%,&id,#stack);
wait(50ms);
slotclick(%#i%,l,true);
next;

Adicionar só um if pra ele não esperar os 50ms nos slots vazios nem clicar neles (aproveita o getslotitem ali haueahueah)

Ficaria assim:
for(#i,54,80);
getslotitem(%#i%,&id,#stack);

if(#stack > 0);
wait(50ms);
slotclick(%#i%,l,true);

endif;
next;


espero não estar sendo babaca por comentar isso :peppochoro: peço desculpas de antemão
 
Interessante. Boa macro :)


Uma ideiazinha legal pra acelerar um pouquinho o processo de armazenagem:

Nessa parte:
for(#i,54,80);
getslotitem(%#i%,&id,#stack);
wait(50ms);
slotclick(%#i%,l,true);
next;

Adicionar só um if pra ele não esperar os 50ms nos slots vazios nem clicar neles (aproveita o getslotitem ali haueahueah)

Ficaria assim:
for(#i,54,80);
getslotitem(%#i%,&id,#stack);

if(#stack > 0);
wait(50ms);
slotclick(%#i%,l,true);

endif;
next;


espero não estar sendo babaca por comentar isso :peppochoro: peço desculpas de antemão
Nice, valeu pela dica! Quando eu entrar pelo pc dou uma alterada!
 
Segue as dicas do @lomexicano e vou dar outros toques também:

Nesta parte, que condiz quando ele olha pro baú e tenta abrir:
wait(1);
key(use);
wait(1);

Você espera um segundo antes de simular a abertura e um depois, recomendo fazer isto:
DO;
WAIT(100MS);
KEY(USE);
UNTIL(%GUI% == "GUICHEST");

Por fim, fica a sugestão de fazer apenas uma única fileira de baú e assim tornar o armazenamento INFINITO, estilo a do @SLEEPP
 
Segue as dicas do @lomexicano e vou dar outros toques também:

Nesta parte, que condiz quando ele olha pro baú e tenta abrir:
wait(1);
key(use);
wait(1);

Você espera um segundo antes de simular a abertura e um depois, recomendo fazer isto:
DO;
WAIT(100MS);
KEY(USE);
UNTIL(%GUI% == "GUICHEST");

Por fim, fica a sugestão de fazer apenas uma única fileira de baú e assim tornar o armazenamento INFINITO, estilo a do @SLEEPP
Boas dicas! Eu normalmente não faço identificar a Gui do baú, porque depois de um certo tempo da macro ligada (pra mim pelo menos ) meio que começa a ficar mais devagar pra reconhecer que o baú abriu (tipo o baú abre mas só depois de um certo tempo os itens dentro aparece), aí eu fazendo só identificar que o baú tá aberto as vezes ocorre de bugar (acha q o baú e o inv tá vazio quando não está), já os baús infinitos é uma possibilidade mas visto que a macro seria mais para upar arco ter que ficar se deslocando para uma home diferente para guardar os drops diminuiria a eficiência do up!
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo