[VIP] Cava-Cava
I - Introdução
Este macro (denominado Cava-Cava) foi idealizado por mim, por questões de praticidade, facilidade e automatização das macros de escavação. Como muitos sabem, é muito comum usuários leigos na área pedirem ajuda para modificar coisas simples, como por exemplo: "mudar o tipo de pá para a que ele usa", "mudar a durabilidade em que são reparadas as pás", etc. Então desenvolvi essa macro para que não precisasse de edições, algo permanente, talvez.
Por isso então desenvolvi esse novo macro de escavação, o macro [VIP] Cava-Cava.
1.1 Explicações:
- Por quê não faz um macro para não vips?
- Seria perca de tempo. Há outros macros no fórum como o meu que são só para não vips, se eu o fizesse seria uma cópia apenas.
- Além do mais, o propósito do macro é que seja automático. Em menos de 1 hora você já teria gasto suas pás e pararia de escavar, não tem o porquê de complicar mais esse macro.
II - Quais as novidades da macro? 19/04/2014
- Você pode escolher o tipo de pá que irá usar (pode ser até uma pá de madeira eff5+toque suave+afiado+seja lá o que for)
- Sua pá nunca irá quebrar, desde que escolha para reparar a pá com uma durabilidade de pelo menos 10.
- O macro irá desligar se NÃO houver mais o material utilizado na reparação (ao contrário dos antigos macros, que no caso paravam de funcionar se a durabilidade da pá passasse de um limite pré-estabelecido, que era muito comum de acontecer).
- Guarda itens nos baús, podendo modificar o macro para que hajam mais baús.
- Pode escolher o intervalo de tempo em que o macro irá olhar seu inventário para verificar se ele está cheio.
- Indica aproximadamente* a quantidade de EXP ganhos com a escavação! *(para o uso de gravel/cascalho no up)
- Se não sabe o ID da pá, do material da pá ou do bloco que você vai escavar, há uma lista de itens em que você pode encontrar o que você precisa.
- Itens da hotbar não serão guardados. (deixe seu material para reparar nela)
- Agora você pode escolher o delay em que o bloco será quebrado! (tente aumentar para pás não encantadas ou para não dar End Of Stream)
- Adicionada função de ECONOMIA DE BLOCOS que funciona APENAS quando o macro está ligado!
- Adicionada função de RESPONDER TELL'S automaticamente!
- Não irá mais guardar o bloco utilizado na escavação.
- Por precaução, também não se guarda mais o item usado na reparação de sua pá, nem sua pá.
- Caso o bloco utilizado na escavação vá para seu inventário (devido a lag do servidor), o macro agora irá repor de volta os blocos para a hotbar.
III - Tutorial (INSTALAÇÃO)
Primeiramente vá ao MACRO SETTINGS. Na aba Macro Bindings: Keys, clique em uma bind (tecla do teclado) e
digite: $$ ou qualquer coisa que você quiser no lugar de "cava-cava".
Observe a imagem:
Agora clique em "Edit file..." e em "Create New File" digite o nome "cava-cava", se você escolheu outro prossiga com o nome que escolheu. Depois clique em "Create".
Observe a imagem:
Em seguida, cole o seguinte código na caixa de texto que foi aberta. (CLIQUE ABAIXO PARA VER)
> > [1.7.X] CÓDIGO PARA QUEM SEMPRE USA PÁ COM EFICIÊNCIA 4 ou 5 (19/05/2014)
[background=#262626]$${[/background]
[background=#262626]if(cav);[/background]
[background=#262626]unset(cav);[/background]
[background=#262626]log( );[/background]
[background=#262626]log("&6&l[VIP] &d&lCava-Cava &4(OFF) &f- &aAproximadamente &a%#exp% de EXP.");[/background]
[background=#262626]log( );[/background]
[background=#262626]unset(@cav);[/background]
[background=#262626]stop();[/background]
[background=#262626]else;[/background]
[background=#262626]set(cav);[/background]
[background=#262626]log( );[/background]
[background=#262626]log("&6&l[VIP] &d&lCava-Cava &2(ON)");[/background]
[background=#262626]log( );[/background]
[background=#262626]set(@cav);[/background]
[background=#262626]IFMATCHES(%DIRECTION%,N);[/background]
[background=#262626]&near = NORTH;[/background]
[background=#262626]ENDIF;[/background]
[background=#262626]IFMATCHES(%DIRECTION%,S);[/background]
[background=#262626]&near = SOUTH;[/background]
[background=#262626]ENDIF;[/background]
[background=#262626]IFMATCHES(%DIRECTION%,W);[/background]
[background=#262626]&near = WEST;[/background]
[background=#262626]ENDIF;[/background]
[background=#262626]IFMATCHES(%DIRECTION%,E);[/background]
[background=#262626]&near = EAST;[/background]
[background=#262626]ENDIF;[/background]
[background=#262626]#exp = 0;[/background]
[background=#262626]#bau = 1;[/background]
[background=#262626]PROMPT(&bloco,$$i, Que bloco usará para cavar?);[/background]
[background=#262626]PROMPT(&pa,$$i, Que tipo de pá irá ser usada?);[/background]
[background=#262626]PROMPT(&rep,$$i, Qual o material usado na reparação da sua pá?);[/background]
[background=#262626]PROMPT(#dur,$$?, Em qual durabilidade você quer reparar sua pá?);[/background]
[background=#262626]PROMPT(&del,$$?, Qual delay para verificar o Inventário? Recomendado: 140 - 250);[/background]
[background=#262626]PROMPT(#vel,$$?, Qual delay para quebrar os blocos? 1 = rápido | acima de 1 = diminuir a velociade);[/background]
[background=#262626] [/background]
[background=#262626]#dur=%#dur%;[/background]
[background=#262626]#repq=0;[/background]
[background=#262626]look(%&near%);[/background]
[background=#262626]look(,55);[/background]
[background=#262626]set(cav2);[/background]
[background=#262626]do;[/background]
[background=#262626]do(%&del%);[/background]
[background=#262626]pick(%&bloco%);[/background]
[background=#262626]key(use);[/background]
[background=#262626]wait(%[/background][background=#262626]#[/background][background=#262626]vel%ms);[/background]
[background=#262626]pick(%&pa%);[/background]
[background=#262626]if(%DURABILITY%<%#dur%);[/background]
[background=#262626]gui(inventory);[/background]
[background=#262626]for(#i,9,45);[/background]
[background=#262626]getslotitem(%#i%,&id,#stack1);[/background]
[background=#262626]if(%&id%=%&rep%);[/background]
[background=#262626]#repq=%#repq%+%#stack1%;[/background]
[background=#262626]endif;[/background]
[background=#262626]next;[/background]
[background=#262626]wait(1);[/background]
[background=#262626]gui();[/background]
[background=#262626]if(%#repq%=0);[/background]
[background=#262626]log( );[/background]
[background=#262626]log("&6&l[VIP] &d&lCava-Cava &4(OFF) &dNão pôde reparar &f- &aAproximadamente &a%#exp% de EXP.");[/background]
[background=#262626]log( );[/background]
[background=#262626]unset(@cav);[/background]
[background=#262626]unset(cav);[/background]
[background=#262626]unset(cav2);[/background]
[background=#262626]stop();[/background]
[background=#262626]else(%#repq%>0%);[/background]
[background=#262626]#repq=0;[/background]
[background=#262626]look(%&near%);[/background]
[background=#262626]look(,90);[/background]
[background=#262626]key(use);[/background]
[background=#262626]wait(2);[/background]
[background=#262626]#repq=0;[/background]
[background=#262626]endif;endif;[/background]
[background=#262626]endif;[/background]
[background=#262626]look(%&near%);[/background]
[background=#262626]look(,55);[/background]
[background=#262626]key(attack);[/background]
[background=#262626]inc(#exp, 1);[/background]
[background=#262626]loop;[/background]
[background=#262626]if(cav2);[/background]
[background=#262626]gui(inventory);[/background]
[background=#262626]wait(1);[/background]
[background=#262626]getslotitem(35,#id,#stack);[/background]
[background=#262626]if(%#stack%=0);[/background]
[background=#262626]gui();[/background]
[background=#262626]else;[/background]
[background=#262626]do;[/background]
[background=#262626]wait(1);[/background]
[background=#262626]}$$[/background]
[background=#262626]$${if(%#bau%=1);}$$[/background]
[background=#262626]/home esc1[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=2);}$$[/background]
[background=#262626]/home esc2[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=3);}$$[/background]
[background=#262626]/home esc3[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=4);}$$[/background]
[background=#262626]/home esc4[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=5);}$$[/background]
[background=#262626]/home esc5[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=6);}$$[/background]
[background=#262626]/home esc6[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=7);}$$[/background]
[background=#262626]/home esc7[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=8);}$$[/background]
[background=#262626]/home esc8[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=9);}$$[/background]
[background=#262626]/home esc9[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${if(%#bau%=10);}$$[/background]
[background=#262626]/home esc10[/background]
[background=#262626]$${endif;}$$[/background]
[background=#262626]$${[/background]
[background=#262626]wait(5);[/background]
[background=#262626]key(use);[/background]
[background=#262626]wait(1);[/background]
[background=#262626]for(#slotn,54,89);[/background]
[background=#262626]GETSLOTITEM(%#slotn%,&id,#stack);[/background]
[background=#262626]if((%&id%=%&pa%) || (%&id%=%&bloco%) || (%&id%=%&rep%));[/background]
[background=#262626]else;[/background]
[background=#262626]slotclick(%#slotn%,l,true);wait(30ms);[/background]
[background=#262626]endif;[/background]
[background=#262626]next;[/background]
[background=#262626]wait(500ms);[/background]
[background=#262626]getslotitem(53,#id,#stack);[/background]
[background=#262626]wait(500ms);[/background]
[background=#262626]if(%#stack%!=0);inc(#bau);[/background]
[background=#262626]endif;[/background]
[background=#262626]if(%#bau%=11);[/background]
[background=#262626]unset(cav2);[/background]
[background=#262626]log(&d&l[MACRO] Cava-Cava &b"Baús cheios! Voltando a escavar.");[/background]
[background=#262626]gui();[/background]
[background=#262626]else;[/background]
[background=#262626]gui();[/background]
[background=#262626]endif;[/background]
[background=#262626]until(%#stack%=0);[/background]
[background=#262626]}$$[/background]
[background=#262626]/home macroesc[/background]
[background=#262626]$${[/background]
[background=#262626]wait(2);[/background]
[background=#262626]endif;[/background]
[background=#262626]endif;[/background]
[background=#262626]gui(inventory);[/background]
[background=#262626]wait(600ms);[/background]
[background=#262626]for(#slot,9,35);[/background]
[background=#262626]GETSLOTITEM(%#slot%,&id,#stack);[/background]
[background=#262626]if((%&id%=%&pa%) || (%&id%=%&bloco%));[/background]
[background=#262626]slotclick(%#slot%,l,true);wait(30ms);[/background]
[background=#262626]endif;[/background]
[background=#262626]next;[/background]
[background=#262626]gui();[/background]
[background=#262626]loop;[/background]
[background=#262626]endif;[/background]
[background=#262626]}$$[/background]
> > [1.5.2] CÓDIGO PARA QUEM SEMPRE USA PÁ COM EFICIÊNCIA 4 ou 5 (22/04/2014)
$${
if(cav);
unset(cav);
log( );
log("&6&l[VIP] &d&lCava-Cava &4(OFF) &f- &aAproximadamente &a%#exp% de EXP.");
log( );
unset(@cav);
stop();
else;
set(cav);
log( );
log("&6&l[VIP] &d&lCava-Cava &2(ON)");
log( );
set(@cav);
IFMATCHES(%DIRECTION%,N);
&near = NORTH;
ENDIF;
IFMATCHES(%DIRECTION%,S);
&near = SOUTH;
ENDIF;
IFMATCHES(%DIRECTION%,W);
&near = WEST;
ENDIF;
IFMATCHES(%DIRECTION%,E);
&near = EAST;
ENDIF;
#exp = 0;
#bau = 1;
PROMPT(#bloco,$$i, Que bloco usará para cavar?);
PROMPT(#pa,$$i, Que tipo de pá irá ser usada?);
PROMPT(#rep,$$i, Qual o material usado na reparação da sua pá?);
PROMPT(#dur,$$?, Em qual durabilidade você quer reparar sua pá?);
PROMPT(#del,$$?, Qual delay para verificar o Inventário? Recomendado: 140 - 250);
PROMPT(#vel,$$?, Qual delay para quebrar os blocos? 1 = rápido | acima de 1 = diminuir a velociade);
#dur=%#dur%;
#repq=0;
look(%&near%);
look(,55);
set(cav2);
do;
do(%#del%);
pick(%#bloco%);
key(use);
wait(%#vel%ms);
pick(%#pa%);
if(%DURABILITY%<%#dur%);
gui(inventory);
for(#i,9,45);
getslotitem(%#i%,#id,#stack1);
if(%#id%=%#rep%);
#repq=%#repq%+%#stack1%;
endif;
next;
wait(1);
gui();
if(%#repq%=0);
log( );
log("&6&l[VIP] &d&lCava-Cava &4(OFF) &dNão pôde reparar &f- &aAproximadamente &a%#exp% de EXP.");
log( );
unset(@cav);
unset(cav);
unset(cav2);
stop();
else(%#repq%>0%);
#repq=0;
look(%&near%);
look(,90);
key(use);
wait(2);
#repq=0;
endif;endif;
endif;
look(%&near%);
look(,55);
key(attack);
inc(#exp, 1);
loop;
if(cav2);
gui(inventory);
wait(1);
getslotitem(35,#id,#stack);
if(%#stack%=0);
gui();
else;
do;
wait(1);
}$$
$${if(%#bau%=1);}$$
/home esc1
$${endif;}$$
$${if(%#bau%=2);}$$
/home esc2
$${endif;}$$
$${if(%#bau%=3);}$$
/home esc3
$${endif;}$$
$${if(%#bau%=4);}$$
/home esc4
$${endif;}$$
$${if(%#bau%=5);}$$
/home esc5
$${endif;}$$
$${if(%#bau%=6);}$$
/home esc6
$${endif;}$$
$${if(%#bau%=7);}$$
/home esc7
$${endif;}$$
$${if(%#bau%=8);}$$
/home esc8
$${endif;}$$
$${if(%#bau%=9);}$$
/home esc9
$${endif;}$$
$${if(%#bau%=10);}$$
/home esc10
$${endif;}$$
$${
wait(5);
key(use);
wait(1);
for(#slotn,54,89);
GETSLOTITEM(%#slotn%,#id,#stack);
if((%#id%=%#pa%) || (%#id%=%#bloco%) || (%#id%=%#rep%));
else;
slotclick(%#slotn%,l,true);wait(30ms);
endif;
next;
wait(500ms);
getslotitem(53,#id,#stack);
wait(500ms);
if(%#stack%!=0);inc(#bau);
endif;
if(%#bau%=11);
unset(cav2);
log(&d&l[MACRO] Cava-Cava &b"Baús cheios! Voltando a escavar.");
gui();
else;
gui();
endif;
until(%#stack%=0);
}$$
/home macroesc
$${
wait(2);
endif;
endif;
gui(inventory);
wait(600ms);
for(#slot,9,35);
GETSLOTITEM(%#slot%,#id,#stack);
if((%#id%=%#pa%) || (%#id%=%#bloco%));
slotclick(%#slot%,l,true);wait(30ms);
endif;
next;
gui();
loop;
endif;
}$$
Após colar o código, clique em "Save" e PRONTO! A macro já está configurada.
IV - Tutorial (LOCAL PARA ESCAVAÇÃO)
Bom, agora que você já configurou a macro, vamos arrumar o local onde você deve usar para escavar.
Como parece que muitos estão tendo problemas para testar o Macro (Mandando MP's etc.), vou colocar 2 métodos diferentes para fazer o local de up. O primeiro é bem simples (recomendo somente para testar a macro), já o segundo é mais complexo e tem melhores benefícios para o usuário. Vamos ao tutorial.
4.1 - Local Para Escavação I
Só fazer algo parecido com o indicado nas imagens e dar "/sethome macroesc" em cima do bloco de ferro que dará certo. (lembrando que você deve estar em cima do bloco de ferro, porém o máximo afastado do bloco de escavação para dar /sethome)
Observe as imagens:
4.2 - Local Para Escavação II (RECOMENDADO)
Itens necessários:
- Bloco qualquer
- Gelo
- Água
- Porta
- Bloco de ferro
Observe as imagens:
No caso, como pode ver o "bloco qualquer" utilizado na imagem é o Lapis Lazuli Block, você deve fazer do jeito que quiser, mas deve ter 1 de altura de blocos de gelo com um comprimento de 7 blocos.
No 8º bloco você deixará um espaço, que será utilizado para colocar o bloco para escavar.
Já no 9º bloco você coloca o bloco de ferro no chão e uma porta em cima, de modo que a porta fique na ponta do bloco de ferro. Isso para que a água não preencha o espaço onde ficará você quando estiver upando.
Ficaria deste jeito olhando por cima:
Por dentro:
PRONTO! Está pronta a trap para quebrar os blocos e pegar os itens, mas não é só isso!
Observe mais:
Assim, é como estará por dentro da trap.
Você deve olhar para baixo, encostar no canto direito inferior (do lado mais próximo da porta) e dar "/sethome macroesc".
Veja a imagem e perceba que o cascalho (bloco para escavar) está preenchendo o espaço onde caia a água:
Você poderá dar sethome naquela posição olhando para qualquer direção! Veja a 3ª parte do tutorial, na qual falaremos dos baús para guardar os itens.
V - Tutorial (BAÚS PARA GUARDAR OS ITENS)
Falaremos da melhor maneira de organizar os baús para guardar os itens.
O ideal é que os baús sejam muito próximos da trap, para que quando o macro teleporte, ele não tenha que carregar o mapa, dando portanto 0% de lag.
Isto é opcional, se preferir faça do seu modo.
Observe as imagens para compreender:
Visão dos baus por cima.
Visão real
Como explicado na imagem, você deve dar "/sethome esc1,esc2,esc3,esc4... até esc10" olhando para o baú, se não pode dar errado quando for guardar seus itens.
VI - ECONOMIA DE BLOCOS E /TELL AUTOMÁTICO! (14/10/2013)
Bom, muitos estavam tendo problemas em ativar e desativar o macro de economia de blocos. Portanto eu adaptei o macro de Responder Tell's - [member=Giooovani] e o macro de Economizar Dirt e Cascalho - [member=Phodalao] para que funcionassem apenas quando o macro de escavar estiver [ON]
Clique em OnChat e digite:
$${IF(@cav); IFMATCHES(%CHAT%,"Limpando itens do chao em 5s"); do(23); gui(inventory); loop; wait(6000ms); gui(); ENDIF; IFMATCHES(%CHATCLEAN%,^[\(]Mensagem de (\S+)\)\
;}$$/r AFK -> Usando macro Cava-Cava do MrBlueees. $${ENDIF;ENDIF;}$$
Ele abrirá o inventário por 6 segundos quando a mensagem "Limpando itens do chao em 5s" aparecer no chat. E quando alguém te mandar um tell, ele irá responder automáticamente que você está ausente.
VII - Usar em 2º plano
Para fazer isso, basta dar F3+P.
VIII - Dedicações
Quero agradecer à todos que de certa forma me ajudaram a compreender as linguagens do macro.
- jimmyfilips, que me mostrou meus erros, deu-me uma devida ajuda com relação aos macros e de certa forma ajudou na formação dessa macro.
- Yao Fei, que me ajudou na compreensão destes confusos códigos da macro '-'
- Phodalao, que eu peço que não fique bravo por ter colocado coisas dele nesse tópico u.u
- Mãe, minha administradora aqui atrás da tela, que me colocou no mundo para fazer esse lindo macro que está sendo postado hoje :3
- Google, que nunca me decepcionou e sempre me deu respostas à tudo que eu procurava '-'
- HP, por ter criado meu computador auehuaheuauheahe.
- A todos os meus filhos que estão pelo mundo jogando minecraft.
- [member=Giooovani], que criou um grande macro de responder tell's automáticamente.
- [member=didoda], que deu as novas idéias para a implementação do macro.
IX - Atualizações
* Organizado o tópico para melhor visualização do conteúdo.
- Colocada as imagens em spoilers
* Adicionado ao tópico
- Tutorial para o Local de Escavação (Simples)
* Adicionada várias novas funções
- Confira em >> II - Quais as novidades do macro?
-----------------------------14/11/2013--------------------------------
* Resolvido BUG que fazia com que os blocos utilizados na escavação fossem limpos pelo servidor
* Adicionada mensagem no global automática, para diminuir End Of Stream.
-----------------------------01/03/2014--------------------------------
* Adaptado macro @ONCHAT para novo sistema de Tell's da Craftlandia. UTILIZE O NOVO MACRO @ONCHAT
-----------------------------16/04/2014--------------------------------
* Retirada a mensagem automática. Cuidado com o End Of Stream
-----------------------------18/04/2014--------------------------------
* Editado sistema de EXP ganha. Para maior veracidade dos dados.
- Foi mudado pois as skills tinham sido dificultadas há um tempo, e eu não havia percebido.
-----------------------------19/04/2014--------------------------------
* O macro agora não guarda nenhum bloco usado na escavação, nem na reparação e nem a pá.
* Funciona perfeitamente em minecraft 1.7.x (testado por [member=didoda])
-----------------------------21/04/2014--------------------------------
* Resolvido bugs.
* Resolvido problema de não encontrar o material para reparar e desligar o macro.
-----------------------------22/04/2014--------------------------------
* Agora você pode escolher a velocidade do macro! ADEUS END OF STREAM!
-----------------------------03/05/2014--------------------------------
* Mensagem da macro modificada. (Pois estava confundindo alguns jogadores)
- Agora é só usar o novo macro que o bloco irá quebrar, caso responda corretamente as mensagens.
Fiquem de olho nas novidades!
Obrigado Clique para expandir...