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
-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!
Instalação da macro:
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.
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
-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).
5 colunas de baus atras de você, e 4 pra cada lado, com 4 de altura tudo.
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)
você vai setar home (/home gaiola) em cima do bloco de ferro olhando para cima do bloco de dima (na direção EAST).
5 colunas de baus atras de você, e 4 pra cada lado, com 4 de altura tudo.
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)
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:
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 }$$
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:
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.
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;
}$$
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;
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();
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;
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: