Código:
$${
if(@naldipesca);
unset(@naldipesca);
log(&6[Naldi]&b Pesca vip &4[Off]);
ifmatches(%@&naldipescacontinuar%,N);
echo(/g &bDesativando a macro &aNaldi Pesca Vip &b(update 0.2));
endif;
stop;
else;
set(@naldipesca);
// Se já tiver itens selecionados para serem guardados
if(@&naldipescaguardar);
ifmatches(%@&naldipescacontinuar%,S);
else;
do;
prompt(@&naldipescacontinuar, $$?, Deseja continuar com os itens ja selecionados? Digite 'S' p/ SIM e 'N' para NAO);
ifmatches(%@&naldipescacontinuar%,S);
break;
endif;
ifmatches(%@&naldipescacontinuar%,N);
break;
endif;
loop;
endif;
else;
// Seta continuar = "Não" como padrão se for a primeira vez
@&naldipescacontinuar=N;
endif;
// Se não quiser continuar com os itens selecionados ou for a primeira vez, faz a escolha dos itens
ifmatches(%@&naldipescacontinuar%,N);
&item=none;
// Por padrão guarda os livros do tesouro
@&naldipescaguardar=^written_book:0$;
do;
prompt(&item,$$i:d,Selecione os itens para guardar! (Deixe em branco para sair));
ifmatches(%&item%,^air$|^:0$|^none$);
break;
else;
// Adiciona a lista de itens o item escolhido para ser guardado
@&naldipescaguardar=%@&naldipescaguardar%|^%&item%$;
endif;
loop;
endif;
// Seta continuar = "Não" para na proxima vez que abrir fazer a pergunta novamente
@&naldipescacontinuar=N;
log(&6[Naldi]&b Pesca vip Propano &a[On]);
echo(/g &bAtivando a macro &aNaldi Pesca Vip &b(update 0.2));
echo(/home naldipescaria);
wait(7);
// Salva a posição que o player está olhando
#yaw=%YAW% + 180;
#pitch=%PITCH%;
// Por segurança vai pra outro slot que não tenha a vara para cancelar a pesca se estiver ativa
slot(9);
wait(1);
slot(1);
wait(2);
key(use);
wait(1);
// Contador de loop para verificar inventario
#temp = 0;
do;
// Força olhar para o mesmo rumo quando iniciou
look(%#yaw%,%#pitch%);
// Incrementa contador
inc(#temp);
// Checa se precisa reparar a vara
if(%DURABILITY%<20);
slot(2);
wait(1);
echo(/home naldireparacao);
wait(7);
keydown(jump);
wait(1);
keyup(jump);
wait(1);
look(,90);
// Repara 3 vezes
do(3);
slot(1);
key(use);
key(attack);
wait(300ms);
loop;
// Volta para a pescaria
echo(/home naldipescaria);
wait(7);
slot(2);
wait(1);
slot(1);
wait(1);
key(use);
endif;
if(%#temp%>=50);
#temp = 0;
// Abre o inventario
do;
gui(inventory);
wait(1);
until(%GUI%="GUIINVENTORY");
#vazio = 0;
// Checa o inventario
for(#i,9,44);
// Pega o id do item e a durabilidade/qualidade do item (para diferenciar itens especificos com mesmo nome, peixes por exemplo fish, fish:1)
getslotitem(%#i%,&id,,#durabilidade);
&id = %&id%:%#durabilidade%;
// Se for espaço vazio, aumenta contador
ifmatches(%&id%,^air:0$);
inc(#vazio);
else;
// Se for itens a guardar ou linha, ignora
ifmatches(%&id%,%@&naldipescaguardar%|^string:0$);
else;
// Se for o slot da vara, ignora
if(%#i%=36);
else;
// Joga fora e incrementa o contador de slot vazio
slotclick(%#i%);
slotclick(-999);
inc(#vazio);
wait(100ms);
endif;
endif;
endif;
next;
// Fecha inventario
gui();
wait(1);
// Inicia o armazenamento de itens no bau vip se tiver 3 espaços ou menos vazio
if(%#vazio%<=3);
echo(/bau);
wait(7);
for(#i,54,89);
// Pega o id do item e a durabilidade/qualidade do item (para diferenciar itens especificos com mesmo nome, peixes por exemplo fish, fish:1)
getslotitem(%#i%,&id,,#durabilidade);
&id = %&id%:%#durabilidade%;
// Se for um item da lista para guardar
ifmatches(%&id%,%@&naldipescaguardar%);
// E não for a vara principal
if(%#i%!=81);
// Guarda o item no bau
slotclick(%#i%,l,true);
endif;
wait(150ms);
endif;
next;
// Fecha o inventario
gui();
endif;
endif;
wait(300ms);
loop;
endif;
}$$