Macro de fazer pot e guardar em 9 baus
v1.1-Beta
NÂO USE NO MOMENTO, EXISTEM MUITOS BUGS
Este macro faz 486 poções e as guarda em 9 baus duplos. A trap é compacta e barata. Código:
Ou pastebin: http://pastebin.com/uTenf4EB
Instalando e usando
A instalação ocorre como a da maioria de outros macros, apenas escolha uma tecla e defina o comando como $$<potdofeik.txt>
Aperte a tecla, olhando para os suportes, para iniciar/parar o macro. Sair do inventario também irá parar o macro.
Para melhor funcionamento do macro, não interrompa e tenha certeza de que o servidor não vai reiniciar em menos de 2 horas, pois o macro demora em média esse tempo para terminar.
Trap
A trap é bem fácil de construir, além de barata e compacta.
O bau da direita não serve para nada, apenas estética
Báu de ingredientes
Sobre
Eu fiz essa macro a pedido do yDarkness (ou zSlayer_) em janeiro, mas nunca publiquei no forum por preguiça. Demorou um bocado de tempo e deu 666 linhas a versão Beta 1.1 ^^. Estou publicando como Beta pois ainda existem alguns bugs. Peço para que me falem quais são esse bugs e o que poderia ser melhorado. Tentei adicionar o maximo de checagem de erros que eu pude.
Devido ao bug de pegar ingredientes, apenas 7.5 baús estão sendo enchidos, mas ainda é um número razoável.
Irei corrigir isso assim que eu tiver tempo.
Agradecimentos especiais
Um milhão de coraçõesde galinha ao Phodalao <3. Peguei parte do código dele como base e aprendi um monte de coisas que não sabia.
Gostaria de agradecer ao yDarkNess também, por me incentivar, fazer a trap e dar a sugestão.
Seja lá quem fez essa wiki, meus parabéns, excelente. Contém todos os comandos de macro: http://mkb-wiki.herokuapp.com/wiki/commands
Por último, gostaria de agradecer a mim mesmo por fazer o Syntax Highlight, que me ajudou muito kk http://forum.craftlandia.com.br/ipb/index.php?/topic/531378-tutorial-syntax-highlight-p-macros-no-notepad/
Bugs
Sugestões/Lista de tarefas
Compatibilidade
Testei só na 1.5.2, vou testar nas outras versões quando eu tiver tempo livre.
Se funcionar com você na 1.6 ou .7 me envia PM que eu atualizo a lista.
Versão 1.2
Irei trabalhar nos bugs/lista de tarefas e lançar a versão 1.2 em breve
A data de lançamento estimada é 20/07/2015. Estou trabalhando num app agora e estou com a deadline apertada para entregar.
Versão Paga
Uma versão paga com baús ilimitados também está em desenvolvimento, espero lançar dia 28/07/2015
Não sei se poderei suportar players que não tenham o vip, pois daria muito trabalho, mas eu posso tentar!
Preço estimado: 150k num servidor de sua escolha.
v1.1-Beta
NÂO USE NO MOMENTO, EXISTEM MUITOS BUGS
Este macro faz 486 poções e as guarda em 9 baus duplos. A trap é compacta e barata. Código:
$${
// #********************************#
// # Macro criado por feik - v1.1 #
// # VERSAO BETA #
// # #
// # Inicio: 05/07/2015 #
// # Termino: --/07/2015 #
// # #
// # Sugestao de: zSlayer_ #
// #--------------------------------#
if(%MODE% = 1);
log(" &4[ERRO] &fVoce nao pode iniciar o macro no criativo.");
unset(@feikpot);
stop();
endif;
if(@feikpot);
log(" &b[MACRO DE POT] &4OFF");
log("");
unset(@feikpot);
stop();
else;
log("");
log(" &2[DICA] &aNunca interrompa o macro enquanto ele estiver on para garantir que suas pots sejam feitas.");
log("");
set(@feikpot);
endif;
// Permitir que o macro funcione em qualquer direcao.
&dir=%DIRECTION%;
ifmatches(%&dir%,N); &dir=NORTH; endif;
ifmatches(%&dir%,S); &dir=SOUTH; endif;
ifmatches(%&dir%,E); &dir=EAST; endif;
ifmatches(%&dir%,W); &dir=WEST; endif;
// Perguntar numero de ingredientes
prompt(#ig, $$?, "Quantos Ingredientes você vai usar? CONTANDO COM O FUNGO!!");
if(#ig > 0);
if(#ig < 7);
if(#ig = 1);
log(" &2[OK] &eUsando &6%#ig% &eingrediente.");
else;
log(" &2[OK] &eUsando &6%#ig% &eingredientes.");
endif;
else;
log(" &4[ERRO] &fVoce pode usar no maximo 6 ingredientes.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
log(" &4[ERRO] &fO numero de ingredientes precisa ser &2MAIOR &fque &e0&f.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
// Perguntar numero de ingredientes
prompt(&cmd, $$?, "(OPCIONAL) Que comando deseja executar apos o fim do macro?");
if(%&cmd% = "");
log(" &2[OK] &aNenhum comando sera usado");
else;
if(%&cmd% = " ");
log(" &2[OK] &aNenhum comando sera usado");
else;
log(" &2[OK] &eComando definido como&6%&cmd%");
endif;
endif;
// Checar os GUIs
// Bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(500ms);
if(%HITID% = 54); log(" &2[OK] &aBau de ingredientes ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Suportes
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); // F1 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,25); wait(500ms); // F1 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); // F1 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); // F2 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); wait(500ms); // F2 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); look(+15,10); wait(500ms); // F2 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); // F3 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); // F3 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); // F3 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Baus de pot (da esquerda para a direita)
look(%&dir%); look(+0,30); look(-45,30); wait(500ms); // Bau 1
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,0); look(-45,0); wait(500ms); // Bau 2
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-10); look(-45,-10); wait(500ms); // Bau 3
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(-25,-20); wait(500ms); // Bau 4
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(-10,-20); wait(500ms); // Bau 5 (trap)
if(%HITID% = 146); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(+20,-20); wait(500ms); // bau 6
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-10); look(+45,-10); wait(500ms); // Bau 7
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,0); look(+45,0); wait(500ms); // Bau 8
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,30); look(+45,30); wait(500ms); // Bau 9
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Checar se o inventarios esta vazio
GUI(inventory);
wait(500ms);
for(#i,9,44); // Percorrer do slot 9 ao 44
ifmatches(%GUI%,GUIINVENTORY);
getSlotItem(%#i%,#tmp);
if(#tmp != 0);
log(" &4[ERRO] &fEsvazie o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fInicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
next();
#i = 0;#tmp = 0;
log(" &2[OK] &aInventario vazio.");
// Sair do inventario
gui();
wait(500ms);
// Olhar para o bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(250ms);
// Checar se o bau de ingredientes pode ser aberto
#tempo = 0;
key(use);
do();
wait(500ms);
INC(#tempo, 1);
if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
until(GUI = "GUICHEST");
#tempo = 0;
// Checar se o bau de ingredientes tem frascos suficientes para encher os 9 baus duplos
#frasc = 0; // Quantidade de frascos
#stk = 0; // Quantidade de frascos
for(#i,0,7) // Percorrer os primeiros 8 slots do bau de ingredientes
ifmatches(%GUI%,GUICHEST);
getSlotItem(%#i%,#tmp,#stk);
if((#tmp = 374) && (#stk = 64)); // Se o item for um frasco vazio e tiver 64 dele
// nothing
else;
log(" &4[ERRO] &fVoce nao tem 8 packs de frascos.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
next();
#i = 0; #tmp = 0; #stk = 0;
log(" &2[OK] &a8 packs de frascos vazios no bau.");
// Ingredientes usados [a partir do 1]
#ing[0] = 0; #ing[1] = 0; #ing[2] = 0; #ing[3] = 0; #ing[4] = 0; #ing[5] = 0; #ing[6] = 0;
// Slots dos ingredientes [a partir do 1]
#slo[0] = 0; #slo[1] = 9; #slo[2] = 12; #slo[3] = 15; #slo[4] = 18; #slo[5] = 21; #slo[6] = 24;
// Checar os ingredientes.
#i = 0;
#stk = 0;
for(#i,1,%#ig%);
ifmatches(%GUI%,GUICHEST);
#cont = 0;
#a = #slo[%#i%];
#b = %#a% + 2;
for(#j, %#a%, %#b%);
getSlotItem(%#j%,#tmp,#stk);
inc(#cont,%#stk%);
if(#i = 1); #ing[1] = %#tmp%; endif;
if(#i = 2); #ing[2] = %#tmp%; endif;
if(#i = 3); #ing[3] = %#tmp%; endif;
if(#i = 4); #ing[4] = %#tmp%; endif;
if(#i = 5); #ing[5] = %#tmp%; endif;
if(#i = 6); #ing[6] = %#tmp%; endif;
next();
if(#cont >= 150);
log(" &2[OK] &aVoce possui pelo menos 150 do ingrediente %#i% &e[%#cont%]");
else;
ifmatches(%GUI%,GUICHEST);
log(" &4[ERRO] &fMenos de &e150 &funidades do ingrediente %#i%.");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
#cont = 0;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
next();
#tmp = 0; #cont = 0; #i = 0; #stk = 0; #j = 0;
#a = 0; #b = 0; #k = 0;
// Pegar frascos / ingredientes
#fr = 0; // SLOT DE FRASCO
do;
ifmatches(%GUI%,GUICHEST);
getSlot(374,#fr); // Frasco vazio;
slotClick(%#fr%, 0, 1);
wait(100ms);
for(#i,1,%#ig%);
#iga = #ing[%#i%];
getSlot(%#iga%,#fr);
slotClick(%#fr%, 0, 1);
wait(100ms);
next();
break;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
until(GUI = "NONE");
gui();
slot(9);
// Olhar para a agua
look(%&dir%); // Ajustar a direcao de inicio
look(+0,45); // Ajustar o angulo para o da agua
// Encher os frascos
gui(inventory);
wait(500ms);
UNSAFE(36);
do;
ifmatches(%GUI%,GUIINVENTORY);
key(use);
getSlotItem(29,#tmp);
if(#tmp = 373);
break;
endif;
wait(150ms);
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fMude seu gamemode e reinicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
loop;
ENDUNSAFE();
wait(2500ms);
#i = 0; #l = 0; // Last slot with
for(#i,26,35);
getSlotItem(%#i%,#tmp);
if(%#tmp% = 373);
#l = #i;
endif;
next;
#a = 35 - %#l%;
do(%#a%);
key(use);
wait(750ms);
loop;
gui;
wait(2000ms);
#bau = 0; // BAU ATUAL
#baud = 0; // BAU DUPLO FEITO
// COMECAR O LOOP;
#lag = 500;
do();
if(#bau = 2); #bau = 0; inc(#baud,1); endif;
if(#baud = 9); break; endif;
for(#j, 1, %#ig%);
#sl = 39 - %#j%;
#a = 4; #b = 6;
// fileiras de baixo para cima
// Fileira 1
// Mesa 1
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); key(use); #tempo = 0;
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false); wait(%#lag%ms); slotclick(%#sl%,r,false); wait(%#lag%ms);
slotClick(%#sl%,l,true); wait(%#lag%ms); slotclick(%#sl%,l,false); wait(%#lag%ms); wait(750ms); gui;
inc(#a,3); inc(#b,3); wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Fileira 2
// Mesa 1
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,10); look(+15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Fileira 3
// Mesa 1
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
wait(2000ms);
next(); //----------------------------------------------------------------
// Pegas as pots nos suportes e botar no inventario
// Fileira 1
// Suporte 1
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Fileira 2
// Suporte 1
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%);look(+0,10); look(+15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Fileira 3
// Suporte 1
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(2500ms); #tempo = 0;
if(%#baud% = 0); look(%&dir%); look(+0,30); look(-45,30); endif; // Bau 1
if(%#baud% = 1); look(%&dir%); look(+0,0); look(-45,0); endif; // Bau 2
if(%#baud% = 2); look(%&dir%); look(+0,-10); look(-45,-10); endif; // Bau 3
if(%#baud% = 3); look(%&dir%); look(+0,-20); look(-25,-20); endif; // Bau 4
if(%#baud% = 4); look(%&dir%); look(+0,-20); look(-10,-20); endif; // Bau 5
if(%#baud% = 5); look(%&dir%); look(+0,-20); look(+20,-20); endif; // Bau 6
if(%#baud% = 6); look(%&dir%); look(+0,-10); look(+45,-10); endif; // Bau 7
if(%#baud% = 7); look(%&dir%); look(+0,0); look(+45,0); endif; // Bau 8
if(%#baud% = 8); look(%&dir%); look(+0,30); look(+45,30); endif; // Bau 9
gui();
wait(1000ms);
key(use); do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUICHEST");
for(#p,54,80); slotClick(%#p%,0,true); wait(500ms); next(); wait(1000ms); gui(); #tempo = 0;
// Olhar para o bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(500ms); key(use);
// Encher os ingredientes
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUICHEST"); #tempo = 0;
// Pegar os ingredientes
for(#i,1,%#ig%);
#igp = #ing[%#i%]; // ID do ingrediente
#spo = 62 - %#i%; // Slot do ingrediente
do;
getSlot(%#igp%,#sla); wait(250ms);
slotClick(%#sla%,0,true); wait(250ms);
getSlotItem(%#spo%,#iid,#stk); wait(250ms);
if(%#stk% >= 64); break; endif; wait(250ms);
loop;
next();
// Pegar os frascos vazios
do;
#co = 374;
getSlot(%#co%,#slb);
slotClick(%#slb%,0,true);
getSlotItem(62,#aid,#sta);
if(%#sta% >= 64); break; endif;
loop;
for(#slt,45,53); slotClick(%#slt%,0,true); wait(500ms); next(); gui();
// Encher as pot e voltar o loop
look(%&dir%); look(+0,45); // Olhar para a agua
// Encher os frascos
gui(inventory);
wait(500ms);
do;
ifmatches(%GUI%,GUIINVENTORY);
key(use);
getSlotItem(29,#tmp);
if(#tmp = 373);
break;
endif;
wait(150ms);
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fMude seu gamemode e reinicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
loop;
wait(2500ms);
#i = 0; #l = 0; // Last slot with
for(#i,26,35);
getSlotItem(%#i%,#tmp);
if(%#tmp% = 373);
#l = #i;
endif;
next;
#a = 35 - %#l%;
do(%#a%);
key(use);
wait(750ms);
loop;
gui;
wait(2000ms);
inc(#bau,1);
loop;
log(" &3&lFIM DO MACRO");
echo(%&cmd%);
unset(@feikpot);
stop();
}$$
// #********************************#
// # Macro criado por feik - v1.1 #
// # VERSAO BETA #
// # #
// # Inicio: 05/07/2015 #
// # Termino: --/07/2015 #
// # #
// # Sugestao de: zSlayer_ #
// #--------------------------------#
if(%MODE% = 1);
log(" &4[ERRO] &fVoce nao pode iniciar o macro no criativo.");
unset(@feikpot);
stop();
endif;
if(@feikpot);
log(" &b[MACRO DE POT] &4OFF");
log("");
unset(@feikpot);
stop();
else;
log("");
log(" &2[DICA] &aNunca interrompa o macro enquanto ele estiver on para garantir que suas pots sejam feitas.");
log("");
set(@feikpot);
endif;
// Permitir que o macro funcione em qualquer direcao.
&dir=%DIRECTION%;
ifmatches(%&dir%,N); &dir=NORTH; endif;
ifmatches(%&dir%,S); &dir=SOUTH; endif;
ifmatches(%&dir%,E); &dir=EAST; endif;
ifmatches(%&dir%,W); &dir=WEST; endif;
// Perguntar numero de ingredientes
prompt(#ig, $$?, "Quantos Ingredientes você vai usar? CONTANDO COM O FUNGO!!");
if(#ig > 0);
if(#ig < 7);
if(#ig = 1);
log(" &2[OK] &eUsando &6%#ig% &eingrediente.");
else;
log(" &2[OK] &eUsando &6%#ig% &eingredientes.");
endif;
else;
log(" &4[ERRO] &fVoce pode usar no maximo 6 ingredientes.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
log(" &4[ERRO] &fO numero de ingredientes precisa ser &2MAIOR &fque &e0&f.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
// Perguntar numero de ingredientes
prompt(&cmd, $$?, "(OPCIONAL) Que comando deseja executar apos o fim do macro?");
if(%&cmd% = "");
log(" &2[OK] &aNenhum comando sera usado");
else;
if(%&cmd% = " ");
log(" &2[OK] &aNenhum comando sera usado");
else;
log(" &2[OK] &eComando definido como&6%&cmd%");
endif;
endif;
// Checar os GUIs
// Bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(500ms);
if(%HITID% = 54); log(" &2[OK] &aBau de ingredientes ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Suportes
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); // F1 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,25); wait(500ms); // F1 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); // F1 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); // F2 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); wait(500ms); // F2 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,10); look(+15,10); wait(500ms); // F2 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); // F3 S1
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); // F3 S2
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); // F3 S3
if(%HITID% = 117); log(" &2[OK] &aSuporte ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Baus de pot (da esquerda para a direita)
look(%&dir%); look(+0,30); look(-45,30); wait(500ms); // Bau 1
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,0); look(-45,0); wait(500ms); // Bau 2
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-10); look(-45,-10); wait(500ms); // Bau 3
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(-25,-20); wait(500ms); // Bau 4
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(-10,-20); wait(500ms); // Bau 5 (trap)
if(%HITID% = 146); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-20); look(+20,-20); wait(500ms); // bau 6
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,-10); look(+45,-10); wait(500ms); // Bau 7
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,0); look(+45,0); wait(500ms); // Bau 8
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
look(%&dir%); look(+0,30); look(+45,30); wait(500ms); // Bau 9
if(%HITID% = 54); log(" &2[OK] &aBau duplo de guardar pot ao alcance.");
else; log(" &4[ERRO] &fCheque onde voce esta."); unset(@feikpot); stop(); endif; wait(250ms);
// Checar se o inventarios esta vazio
GUI(inventory);
wait(500ms);
for(#i,9,44); // Percorrer do slot 9 ao 44
ifmatches(%GUI%,GUIINVENTORY);
getSlotItem(%#i%,#tmp);
if(#tmp != 0);
log(" &4[ERRO] &fEsvazie o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fInicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
next();
#i = 0;#tmp = 0;
log(" &2[OK] &aInventario vazio.");
// Sair do inventario
gui();
wait(500ms);
// Olhar para o bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(250ms);
// Checar se o bau de ingredientes pode ser aberto
#tempo = 0;
key(use);
do();
wait(500ms);
INC(#tempo, 1);
if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
until(GUI = "GUICHEST");
#tempo = 0;
// Checar se o bau de ingredientes tem frascos suficientes para encher os 9 baus duplos
#frasc = 0; // Quantidade de frascos
#stk = 0; // Quantidade de frascos
for(#i,0,7) // Percorrer os primeiros 8 slots do bau de ingredientes
ifmatches(%GUI%,GUICHEST);
getSlotItem(%#i%,#tmp,#stk);
if((#tmp = 374) && (#stk = 64)); // Se o item for um frasco vazio e tiver 64 dele
// nothing
else;
log(" &4[ERRO] &fVoce nao tem 8 packs de frascos.");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
next();
#i = 0; #tmp = 0; #stk = 0;
log(" &2[OK] &a8 packs de frascos vazios no bau.");
// Ingredientes usados [a partir do 1]
#ing[0] = 0; #ing[1] = 0; #ing[2] = 0; #ing[3] = 0; #ing[4] = 0; #ing[5] = 0; #ing[6] = 0;
// Slots dos ingredientes [a partir do 1]
#slo[0] = 0; #slo[1] = 9; #slo[2] = 12; #slo[3] = 15; #slo[4] = 18; #slo[5] = 21; #slo[6] = 24;
// Checar os ingredientes.
#i = 0;
#stk = 0;
for(#i,1,%#ig%);
ifmatches(%GUI%,GUICHEST);
#cont = 0;
#a = #slo[%#i%];
#b = %#a% + 2;
for(#j, %#a%, %#b%);
getSlotItem(%#j%,#tmp,#stk);
inc(#cont,%#stk%);
if(#i = 1); #ing[1] = %#tmp%; endif;
if(#i = 2); #ing[2] = %#tmp%; endif;
if(#i = 3); #ing[3] = %#tmp%; endif;
if(#i = 4); #ing[4] = %#tmp%; endif;
if(#i = 5); #ing[5] = %#tmp%; endif;
if(#i = 6); #ing[6] = %#tmp%; endif;
next();
if(#cont >= 150);
log(" &2[OK] &aVoce possui pelo menos 150 do ingrediente %#i% &e[%#cont%]");
else;
ifmatches(%GUI%,GUICHEST);
log(" &4[ERRO] &fMenos de &e150 &funidades do ingrediente %#i%.");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
#cont = 0;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
next();
#tmp = 0; #cont = 0; #i = 0; #stk = 0; #j = 0;
#a = 0; #b = 0; #k = 0;
// Pegar frascos / ingredientes
#fr = 0; // SLOT DE FRASCO
do;
ifmatches(%GUI%,GUICHEST);
getSlot(374,#fr); // Frasco vazio;
slotClick(%#fr%, 0, 1);
wait(100ms);
for(#i,1,%#ig%);
#iga = #ing[%#i%];
getSlot(%#iga%,#fr);
slotClick(%#fr%, 0, 1);
wait(100ms);
next();
break;
else;
log(" &4[ERRO] &fVoce fechou o inventario");
log(" &4[ERRO] &eMacro desligado.");
unset(@feikpot);
stop();
endif;
until(GUI = "NONE");
gui();
slot(9);
// Olhar para a agua
look(%&dir%); // Ajustar a direcao de inicio
look(+0,45); // Ajustar o angulo para o da agua
// Encher os frascos
gui(inventory);
wait(500ms);
UNSAFE(36);
do;
ifmatches(%GUI%,GUIINVENTORY);
key(use);
getSlotItem(29,#tmp);
if(#tmp = 373);
break;
endif;
wait(150ms);
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fMude seu gamemode e reinicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
loop;
ENDUNSAFE();
wait(2500ms);
#i = 0; #l = 0; // Last slot with
for(#i,26,35);
getSlotItem(%#i%,#tmp);
if(%#tmp% = 373);
#l = #i;
endif;
next;
#a = 35 - %#l%;
do(%#a%);
key(use);
wait(750ms);
loop;
gui;
wait(2000ms);
#bau = 0; // BAU ATUAL
#baud = 0; // BAU DUPLO FEITO
// COMECAR O LOOP;
#lag = 500;
do();
if(#bau = 2); #bau = 0; inc(#baud,1); endif;
if(#baud = 9); break; endif;
for(#j, 1, %#ig%);
#sl = 39 - %#j%;
#a = 4; #b = 6;
// fileiras de baixo para cima
// Fileira 1
// Mesa 1
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); key(use); #tempo = 0;
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false); wait(%#lag%ms); slotclick(%#sl%,r,false); wait(%#lag%ms);
slotClick(%#sl%,l,true); wait(%#lag%ms); slotclick(%#sl%,l,false); wait(%#lag%ms); wait(750ms); gui;
inc(#a,3); inc(#b,3); wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Fileira 2
// Mesa 1
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,10); look(+15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Fileira 3
// Mesa 1
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 2
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
// Mesa 3
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
if(%#j% = 1); for(#s,%#a%,%#b%); slotClick(%#s%,0,true); wait(500ms); next(); endif;
slotClick(%#sl%,l,false);wait(%#lag%ms);slotclick(%#sl%,r,false);wait(%#lag%ms);
slotClick(%#sl%,l,true);wait(%#lag%ms);slotclick(%#sl%,l,false);wait(%#lag%ms); wait(750ms); gui;
inc(#a,3);inc(#b,3);wait(750ms); #tempo = 0;
wait(2000ms);
next(); //----------------------------------------------------------------
// Pegas as pots nos suportes e botar no inventario
// Fileira 1
// Suporte 1
look(%&dir%); look(+0,25); look(-15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%); look(+0,25); look(+15,25); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Fileira 2
// Suporte 1
look(%&dir%); look(+0,10); look(-15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%);look(+0,10); look(+15,10); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Fileira 3
// Suporte 1
look(%&dir%); look(+0,-5); look(-15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 2
look(%&dir%); look(+0,-5); look(-3,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(750ms); #tempo = 0;
// Suporte 3
look(%&dir%); look(+0,-5); look(+15,-5); wait(500ms); key(use);
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o suporte abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUIBREWINGSTAND"); wait(250ms);
for(#s,0,2); slotClick(%#s%,0,true); wait(750ms); next(); endif;
gui(); wait(2500ms); #tempo = 0;
if(%#baud% = 0); look(%&dir%); look(+0,30); look(-45,30); endif; // Bau 1
if(%#baud% = 1); look(%&dir%); look(+0,0); look(-45,0); endif; // Bau 2
if(%#baud% = 2); look(%&dir%); look(+0,-10); look(-45,-10); endif; // Bau 3
if(%#baud% = 3); look(%&dir%); look(+0,-20); look(-25,-20); endif; // Bau 4
if(%#baud% = 4); look(%&dir%); look(+0,-20); look(-10,-20); endif; // Bau 5
if(%#baud% = 5); look(%&dir%); look(+0,-20); look(+20,-20); endif; // Bau 6
if(%#baud% = 6); look(%&dir%); look(+0,-10); look(+45,-10); endif; // Bau 7
if(%#baud% = 7); look(%&dir%); look(+0,0); look(+45,0); endif; // Bau 8
if(%#baud% = 8); look(%&dir%); look(+0,30); look(+45,30); endif; // Bau 9
gui();
wait(1000ms);
key(use); do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUICHEST");
for(#p,54,80); slotClick(%#p%,0,true); wait(500ms); next(); wait(1000ms); gui(); #tempo = 0;
// Olhar para o bau de ingredientes
look(%&dir%); look(+0,37); look(-25,37); wait(500ms); key(use);
// Encher os ingredientes
do(); wait(500ms); INC(#tempo, 1); if(#tempo > 6);
log(" &4[ERRO] &fMais de 3 segundos sem o bau abrir. ");
log(" &4[ERRO] &fCheque se voce esta com lag ou no lugar certo");
log(" &4[ERRO] &eMacro desligado."); unset(@feikpot); stop(); endif; Until(GUI = "GUICHEST"); #tempo = 0;
// Pegar os ingredientes
for(#i,1,%#ig%);
#igp = #ing[%#i%]; // ID do ingrediente
#spo = 62 - %#i%; // Slot do ingrediente
do;
getSlot(%#igp%,#sla); wait(250ms);
slotClick(%#sla%,0,true); wait(250ms);
getSlotItem(%#spo%,#iid,#stk); wait(250ms);
if(%#stk% >= 64); break; endif; wait(250ms);
loop;
next();
// Pegar os frascos vazios
do;
#co = 374;
getSlot(%#co%,#slb);
slotClick(%#slb%,0,true);
getSlotItem(62,#aid,#sta);
if(%#sta% >= 64); break; endif;
loop;
for(#slt,45,53); slotClick(%#slt%,0,true); wait(500ms); next(); gui();
// Encher as pot e voltar o loop
look(%&dir%); look(+0,45); // Olhar para a agua
// Encher os frascos
gui(inventory);
wait(500ms);
do;
ifmatches(%GUI%,GUIINVENTORY);
key(use);
getSlotItem(29,#tmp);
if(#tmp = 373);
break;
endif;
wait(150ms);
else;
ifmatches(%GUI%,GUICONTAINERCREATIVE);
log(" &4[ERRO] &fMude seu gamemode e reinicie o macro no survival");
log(" &4[ERRO] &eMacro desligado.");
else;
log(" &4[ERRO] &fVoce fechou o inventario ou ele nao abriu.");
log(" &4[ERRO] &eMacro desligado.");
endif;
unset(@feikpot);
stop();
endif;
loop;
wait(2500ms);
#i = 0; #l = 0; // Last slot with
for(#i,26,35);
getSlotItem(%#i%,#tmp);
if(%#tmp% = 373);
#l = #i;
endif;
next;
#a = 35 - %#l%;
do(%#a%);
key(use);
wait(750ms);
loop;
gui;
wait(2000ms);
inc(#bau,1);
loop;
log(" &3&lFIM DO MACRO");
echo(%&cmd%);
unset(@feikpot);
stop();
}$$
Ou pastebin: http://pastebin.com/uTenf4EB
Instalando e usando
A instalação ocorre como a da maioria de outros macros, apenas escolha uma tecla e defina o comando como $$<potdofeik.txt>
Aperte a tecla, olhando para os suportes, para iniciar/parar o macro. Sair do inventario também irá parar o macro.
Para melhor funcionamento do macro, não interrompa e tenha certeza de que o servidor não vai reiniciar em menos de 2 horas, pois o macro demora em média esse tempo para terminar.
Trap
A trap é bem fácil de construir, além de barata e compacta.

O bau da direita não serve para nada, apenas estética

Báu de ingredientes

- Fileira 1, slots 1 ao 8 - Frascos vazios
- Fileira 2, slots 1 ao 3 - Ingrediente 1
- Fileira 2, slots 4 ao 6 - Ingrediente 2
- Fileira 2, slots 7 ao 9 - Ingrediente 3
Sobre
Eu fiz essa macro a pedido do yDarkness (ou zSlayer_) em janeiro, mas nunca publiquei no forum por preguiça. Demorou um bocado de tempo e deu 666 linhas a versão Beta 1.1 ^^. Estou publicando como Beta pois ainda existem alguns bugs. Peço para que me falem quais são esse bugs e o que poderia ser melhorado. Tentei adicionar o maximo de checagem de erros que eu pude.
Devido ao bug de pegar ingredientes, apenas 7.5 baús estão sendo enchidos, mas ainda é um número razoável.
Irei corrigir isso assim que eu tiver tempo.
Agradecimentos especiais
Um milhão de corações
Gostaria de agradecer ao yDarkNess também, por me incentivar, fazer a trap e dar a sugestão.
Seja lá quem fez essa wiki, meus parabéns, excelente. Contém todos os comandos de macro: http://mkb-wiki.herokuapp.com/wiki/commands
Por último, gostaria de agradecer a mim mesmo por fazer o Syntax Highlight, que me ajudou muito kk http://forum.craftlandia.com.br/ipb/index.php?/topic/531378-tutorial-syntax-highlight-p-macros-no-notepad/
Bugs
- Na hora de pegar ingredientes para encher a metade final do oitavo baú, devido a um erro no código, o macro para de funcionar corretamente e deve ser parado manualmente.
- Os baú são específicos
Delay entre ver e clicar inexistente(corrigido 1.1)- Comando final usa echo(), que está desativado em certos servidores...
- Não checar se está olhando para a água
- Se tiver muito lag o delay de 3s é muito pequeno
Sugestões/Lista de tarefas
- Voltar de onde parou caso desconecte do servidor
- Logs
- Revisar o código
- Variáveis e comentários mais descritivos (prioridade)
Som de notificação quando ficar pronto- Checar se um baú está vazio antes de guardar
Checar se um suporte está vazio antes de fazer algo com ele
- Falar no chat enquanto o macro roda (prioridade)
- Dar a habilidade de decidir quantos baús serão enchidos. (prioridade)
Compatibilidade
Testei só na 1.5.2, vou testar nas outras versões quando eu tiver tempo livre.
Se funcionar com você na 1.6 ou .7 me envia PM que eu atualizo a lista.
- 1.5.x - Testado/Funcionando
- 1.6.x - Não testado, mas deve funcionar
- 1.7.x - Não testado, mas deve funcionar
Versão 1.2
Irei trabalhar nos bugs/lista de tarefas e lançar a versão 1.2 em breve

A data de lançamento estimada é 20/07/2015. Estou trabalhando num app agora e estou com a deadline apertada para entregar.
Versão Paga
Uma versão paga com baús ilimitados também está em desenvolvimento, espero lançar dia 28/07/2015

Não sei se poderei suportar players que não tenham o vip, pois daria muito trabalho, mas eu posso tentar!
Preço estimado: 150k num servidor de sua escolha.