$${
if(!ja_usei_mobkillch);
set(&home_mob,"mobch");
set(&home_baus,"guardarch");
set(#durabilidade_minima,30);
set(#segundos_vf_inv,25);
#segundos_vf_inv2 = #segundos_vf_inv * 10;
set(&itens_guardar,"NADA");
unset(pode_guardar);
set(ja_usei_mobkillch);
endif;
ifmatches("%KEYNAME%","^[A-Z]$");
set(@&tecla_religar_macroch,"%KEYNAME%");
else;
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oErro&6&l, &c&ocoloque a &f&oMacro &c&osómente em &f&oTeclas &c&ode &f&oLetras&6&l, &c&oaltere e ligue novamente&6&l!");
log("");
stop;
endif;
set(salvar_cord_trap);
unset(dei_home_trap);
set(#baus,0);
set(#fileiras,0);
unset(&baus[]);
put(&baus[],"310");
put(&baus[],"330");
put(&baus[],"0");
put(&baus[],"35");
put(&baus[],"55");
unset(&ferramentas[]);
put(&ferramentas[],"stone_sword.cobblestone");
put(&ferramentas[],"stone_axe.cobblestone");
put(&ferramentas[],"diamond_sword.diamond");
put(&ferramentas[],"diamond_axe.diamond");
set(&ferramentas,"");
set(&materiais_rep,"");
foreach(&ferramentas[],&match,#n);
match("%&match%","^([a-z_]+)\.([a-z]+)$",{&ferramenta_var,&material_rep_var});
set(&ferramentas,"%&ferramentas%|%&ferramenta_var%");
set(&materiais_rep,"%&materiais_rep%|%&material_rep_var%");
set(&%&ferramenta_var%,"%&material_rep_var%");
next;
set(salvar_cord_mob);
set(salvar_cord_trap);
unset(dei_home_mob);
unset(dei_home_trap);
set(salvar_mira);
set(tem_material_rep);
do;
toggle(mobkillch);
if(mobkillch);
set(@religar_macroch);
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&lLigada&6&l! &f&oVersão 1&6&l.&f&o8");
log("");
unset(desligar);
set(continuar);
if(KEY_LCONTROL);
unset(configurado);
endif;
if(!configurado);
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oAbrindo &f&oMenu de Configuração&6&l...");
unset(fim);
wait(5t);
do;
gui();
prompt(&prompt,"$$[Resposta[Macro MobKillCH,,-> Iniciar,<- Sair,,Ver Itens Guardar,Durabilidade Reparar: %#durabilidade_minima%,Delay Verificação Inventário: %#segundos_vf_inv% s,Resetar Baús: %#baus_total%,,- HOMES,Mob: %&home_mob%,Guardar: %&home_baus%]]","Faça!");
ifmatches("%&prompt%","-> Iniciar");
set(configurado);
set(fim);
endif;
ifmatches("%&prompt%","<- Sair");
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oSaindo&6&l...");
unset(continuar);
set(fim);
endif;
ifmatches("%&prompt%","Ver Itens Guardar");
gui();
prompt(&prompt_itens,"$$[Resposta[Salvar Itens,Lista Itens Salvos]]","Faça!");
ifmatches("%&prompt_itens%","Salvar Itens");
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oColoque todos os &f&oItens &a&oque queira &f&oGuardar &a&oem seu inventário e após isso pressione &f&oCtrl&6&l!");
log("");
unset(fim2);
do;
achievementget("Siga as instruções!","diamond_sword");
if(KEY_LCONTROL);
set(&itens_guardar,"NADA");
unset(&itens_guardar[]);
unset(tem_item);
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oSalvando &f&oItens&6&l...");
gui();
unsafe;
do;
if(GUI != "GUIINVENTORY");
set(#slot,9);
gui(inventory);
else;
getslotitem(%#slot%,&item);
ifmatches("%&item%","^(%&ferramentas%)$");
else;
ifmatches("%&item%","^(%&materiais_rep%)$");
else;
if(&item != "air");
indexof(&itens_guardar[],#i,"%&item%");
if(#i == -1);
set(tem_item);
put(&itens_guardar[],"%&item%");
getiteminfo(%&item%,&item_log);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&o%&item_log% &a&oencontrado&6&l(&a&oa&6&l)!");
endif;
endif;
endif;
endif;
inc(#slot,1);
endif;
until(#slot > 44);
endunsafe;
gui();
if(!tem_item);
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oNenhum &f&oItem &c&oencontrado no &f&oInventário&6&l, &f&oGuardar Itens &c&odesabilitado&6&l!");
unset(pode_guardar);
else;
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oItens &a&osalvos&6&l!");
set(pode_guardar);
endif;
set(fim2);
wait(1);
endif;
wait(500ms);
until(fim2);
endif;
ifmatches("%&prompt_itens%","Itens Salvos");
if((pode_guardar)&&(&item_guardar != "NADA"));
gui();
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oItens &a&osalvos&6&l:");
foreach(&itens_guardar[],&item,#n);
getiteminfo(%&item%,&item_log);
log("&6&l[&f&oMobKill&3&lCH&6&l] &6&l[&f&o%#n%&6&l] &f&o%&item_log%");
next;
log("");
else;
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oNão há nenhum &f&oItem &c&osalvo na &f&oLista&6&l.");
endif;
wait(2);
endif;
endif;
ifmatches("%&prompt%","Durabilidade Reparar: %#durabilidade_minima%");
gui();
prompt(#durabilidade_minima,"$$?","Qual será o minímo de Durabilidade para Reparar? Exemplo: 30");
ifmatches("%#durabilidade_minima%","^(\d+)$");
achievementget("%#durabilidade_minima%","diamond_sword");
else;
achievementget("Resposta Inválida!","wool:14");
set(#durabilidade_minima,35);
endif;
endif;
ifmatches("%&prompt%","Delay Verificação Inventário: %#segundos_vf_inv% s");
gui();
prompt(#segundos_vf_inv,"$$?","Quantos segundos deseja ter de duração entre uma e outra verificação de inventário? Exemplo: 30");
ifmatches("%#segundos_vf_inv%","^(\d+)$");
achievementget("%#segundos_vf_inv%","diamond_sword");
else;
achievementget("Resposta Inválida!","wool:14");
set(#segundos_vf_inv,25);
endif;
#segundos_vf_inv2 = #segundos_vf_inv * 10;
endif;
ifmatches("%&prompt%","Resetar Baús: %#baus_total%");
achievementget("Baús Resetados!","chest");
set(#baus_total,0);
set(#baus,0);
set(#fileiras,0);
endif;
ifmatches("%&prompt%","Mob: %&home_mob%");
gui();
prompt(&home_mob,"$$?","Qual é o nome da home do Mob? Exemplo: mob");
ifmatches("%&home_mob%","^(\w+)$");
achievementget("%&home_mob%","diamond_sword");
else;
achievementget("Resposta Inválida!","wool:14");
set(&home_mob,"mobch");
endif;
endif;
ifmatches("%&prompt%","Guardar: %&home_baus%");
gui();
prompt(&home_baus,"$$?","Qual é o nome da home para Guardar? Exemplo: baus");
ifmatches("%&home_baus%","^(\w+)$");
achievementget("%&home_baus%","chest");
else;
achievementget("Resposta Inválida!","wool:14");
set(&home_baus,"guardarch");
endif;
endif;
until(fim);
endif;
wait(5t);
else;
unset(@religar_macroch);
match("%TIME%","^(\d+)

\d+)

\d+)$",{#hr_atual,#min_atual,#s_atual});
if(#hr_antiga > #hr_atual);
inc(#hr_atual,24);
endif;
#hr = #hr_atual - #hr_antiga;
if(#min_antigo > #min_atual);
inc(#min_atual,60);
inc(#hr,1);
endif;
#min = #min_atual - #min_antigo;
if(#s_antigo > #s_atual);
inc(#s_atual,60);
dec(#min,1);
endif;
#s = #s_atual - #s_antigo;
set(&hr,"%#hr%");
set(&min,"%#min%");
set(&s,"%#s%");
if(#hr < 10);
set(&hr,"0%&hr%");
endif;
if(#min < 10);
set(&min,"0%&min%");
endif;
if(#s < 10);
set(&s,"0%&s%");
endif;
log("");
if(#baus_total > 1);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&o%#baus_total% Baús &a&oGuardados&6&l.");
endif;
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&lDesligada&6&l! &f&o%&hr%&6&l:&f&o%&min%&6&l:&f&o%&s%");
log("");
stop;
endif;
if(continuar);
match("%TIME%","^(\d+)

\d+)

\d+)$",{#hr_antiga,#min_antigo,#s_antigo});
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oPara &f&oConfigurar &a&onovamente inicie a &f&oMacro &a&opressionando &f&oCtrl&6&l!");
log("");
set(&itens_guardar,"");
foreach(&itens_guardar[],&item,#n);
set(&itens_guardar,"%&itens_guardar%|%&item%");
next;
wait(5t);
do;
unset(guardar);
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oVerificando o &f&oInventário&6&l...");
unsafe(0);
do;
if(GUI != "GUIINVENTORY");
set(#slots_vazios,0);
unset(tem_ferramenta);
set(#slot,9);
gui(inventory);
wait(5t);
else;
unset(inc);
getslotitem(%#slot%,&item,#stack);
ifmatches("%&item%","^(%&ferramentas%)$");
set(tem_ferramenta);
set(&ferramenta,"%&item%");
set(&material_rep,"%&%&ferramenta%%");
if(#slot < 36);
slotclick(36);
slotclick(%#slot%,l,true);
slotclick(%#slot%,l,false);
endif;
set(inc);
else;
ifmatches("%&item%","^(%&itens_guardar%)$");
set(inc);
else;
if(&item != &material_rep);
if((&item != "air")&&(pode_guardar));
if(dei_home_mob);
look(%#yaw_mob%,0);
look(+180,0);
else;
look(+0,0);
endif;
wait(2t);
set(click);
if(!ferramenta);
ifmatches("%&item%","^(%&materiais_rep%)$");
unset(click);
endif;
endif;
if(click);
slotclick(%#slot%,l,false);
slotclick(-999);
endif;
inc(#slots_vazios,1);
elseif(&item == "air");
inc(#slots_vazios,1);
endif;
endif;
endif;
endif;
inc(#slot,1);
endif;
until(#slot > 44);
endunsafe;
gui();
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&o%#slots_vazios% Slots Vazios&6&l.");
if(#slots_vazios <= 3);
set(guardar);
endif;
if((!pode_guardar)&&(guardar));
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oInventário &c&ocom poucos &f&oSlots Vazios&6&l, &c&oporém não será &f&oGuardado &6&l(&f&oMacro não Configurada&6&l).");
unset(guardar);
endif;
if((guardar)||(!tem_ferramenta)||(!tem_material_rep));
if(guardar);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oInventário &a&ocom poucos &f&oSlots Vazios&6&l, &a&oIndo &f&oGuardar&6&l!");
elseif(!tem_ferramenta);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oFerramenta &c&onão encontrada&6&l, &c&oindo buscar&6&l!");
elseif(!tem_material_rep);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oMaterial para Reparar &c&onão encontrado&6&l, &c&oindo buscar&6&l!");
endif;
unset(fim);
do;
do;
set(&cord_teleporte,"%XPOS%.%YPOS%.%ZPOS%");
set(trap_ok);
for(#y,-1,3);
getidrel(0,%#y%,-2,&vf);
getidrel(0,%#y%,-3,&vf2);
ifmatches("%&vf%.%&vf2%","^(chest|trapped_chest)\.(chest|trapped_chest)$");
else;
unset(trap_ok);
break;
endif;
next;
if((trap_ok)&&(dei_home_trap));
unset(ok);
if(salvar_cord_trap);
unset(salvar_cord_trap);
set(&cord_trap,"%XPOS%.%YPOS%.%ZPOS%");
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oCordenadas &a&oda &f&oTrap de Báus &a&osalvas&6&l!");
set(ok);
elseif(&cord_teleporte == &cord_trap);
set(ok);
endif;
if(ok);
match("%&cord_trap%","^([\-]*\d+)\.([\-]*\d+)\.[\-]*\d+$",{#x_pos,#y_pos});
break;
endif;
endif;
echo("/home %&home_baus%");
do(25);
set(&cord_teleporte2,"%XPOS%.%YPOS%.%ZPOS%");
wait(100ms);
until(&cord_teleporte2 != &cord_teleporte);
set(dei_home_trap);
wait(15t);
loop;
do;
if(guardar);
if(#baus > 4);
set(#baus,0);
inc(#fileiras,1);
endif;
#andar = #x_pos + #fileiras;
#penultimo = #andar - 1;
if((YPOS != #y_pos)||(XPOS > #andar));
break;
elseif(#andar != XPOS);
set(prox_fileira_ok);
for(#y,-1,3);
getidrel(1,%#y%,-2,&vf_bau);
getidrel(1,%#y%,-3,&vf_bau2);
ifmatches("%&vf%.%&vf2%","^(chest|trapped_chest)\.(chest|trapped_chest)$");
else;
unset(prox_fileira_ok);
break;
endif;
next;
if(prox_fileira_ok);
do;
look(north);
keydown(right);
if(XPOS >= #penultimo);
keydown(sneak);
endif;
until(XPOS >= #andar);
keyup(right);
keyup(sneak);
else;
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oFim da &f&oTrap de Baús &c&oEncontrado&6&l!");
log("");
look(west,1);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oReiniciando&6&l...");
set(#baus,0);
set(#fileiras,0);
break;
endif;
endif;
endif;
wait(10t);
gui();
unsafe;
do;
if(GUI != "GUICHEST");
if(guardar);
if((#fileiras == 0)&&(#baus == 0));
inc(#baus,1);
endif;
look(0,%&baus[%#baus%]%);
else;
look(0,310);
endif;
wait(5t);
key(use);
wait(5t);
else;
if(guardar);
foreach(&itens_guardar,&item_utilizar,#n);
set(#slot_final,89);
getslot(%&item_utilizar%,#slot_item,54);
if(#slot_item != -1);
break;
endif;
next;
else;
foreach(&ferramentas[],&match,#n);
match("%&match%","^([a-z_]+)\.([a-z_]+)$",{&ferramenta_getslot,&material_rep_getslot});
set(#slot_final,53);
if(!tem_ferramenta);
set(&item_getslot,%&ferramenta_getslot%);
elseif(!tem_material_rep);
set(&item_getslot,%&material_rep_getslot%);
endif;
getslot(%&item_getslot%,#slot_item);
if((#slot_item != -1)&&(#slot_item <= 53));
break;
endif;
next;
endif;
if((#slot_item == -1)||(#slot_item > #slot_final));
set(fim);
else;
slotclick(%#slot_item%,l,true);
if(guardar);
getslotitem(%#slot_item%,&vf_slot);
if(&vf_slot != "air");
inc(#baus,1);
inc(#baus_total,1);
break;
endif;
else;
set(fim);
endif;
endif;
endif;
until(fim);
endunsafe;
wait(5t);
gui();
until(fim);
if(!fim);
set(#baus,0);
log("");
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oAlgo aconteceu de &f&oErrado&6&l, &f&oResolvendo&6&l...");
log("");
endif;
until(fim);
endif;
do;
set(&cord_teleporte,"%XPOS%.%YPOS%.%ZPOS%");
getidrel(0,-1,0,&vf);
if((&vf == "iron_block")&&(dei_home_mob));
unset(ok);
if(salvar_cord_mob);
unset(salvar_cord_mob);
set(&cord_mob,"%&cord_teleporte%");
set(ok);
elseif(&cord_teleporte == &cord_mob);
set(ok);
endif;
if(ok);
if(salvar_mira);
set(#pitch_mob,%PITCH%);
set(#yaw_mob,%YAW%);
if(#yaw_mob > 180);
dec(#yaw_mob,180);
else;
inc(#yaw_mob,180);
endif;
unset(salvar_mira);
endif;
break;
endif;
endif;
echo("/home %&home_mob%");
do(25);
set(&cord_teleporte2,"%XPOS%.%YPOS%.%ZPOS%");
wait(100ms);
until(&cord_teleporte2 != &cord_teleporte);
set(dei_home_mob);
wait(15t);
loop;
log("&6&l[&f&oMobKill&3&lCH&6&l] &a&oTudo certo&6&l, &f&oContinuando&6&l...");
unset(reparar);
set(tem_material_rep);
do(%#segundos_vf_inv2%);
set(&cord_atual,"%XPOS%.%YPOS%.%ZPOS%");
look(%#yaw_mob%,%#pitch_mob%);
if(&cord_atual != &cord_mob);
log("&6&l[&f&oMobKill&3&lCH&6&l] &c&oAlgo aconteceu de &f&oErrado&6&l, &c&otentando corrigir&6&l...");
break;
elseif(GUI != "NONE");
if(GUI == "GUICHAT");
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oMacro &a&opausada&6&l!");
do;
achievementget("Feche para continuar!","diamond_sword");
wait(500ms);
until(GUI != "GUICHAT");
elseif(GUI != "NONE");
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oJanela &c&odetectada&6&l, &c&ofechando&6&l...");
wait(2);
endif;
gui();
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oContinuando&6&l...");
else;
getslot(%&ferramenta%,#slot_ferramenta);
pick(%&ferramenta%);
if(#slot_ferramenta != -1);
if(DURABILITY <= #durabilidade_minima);
log("&6&l[&f&oMobKill&3&lCH&6&l] &f&oReparando&6&l...");
unsafe;
do;
pick(%&ferramenta%);
if(GUI != "GUIINVENTORY");
gui(inventory);
wait(10t);
else;
getslot(%&material_rep%,#slot_material_rep);
if(#slot_material_rep == -1);
unset(tem_material_rep);
break;
else;
look(+0,90);
key(use);
wait(200ms);
endif;
endif;
until(DURABILITY > #durabilidade_minima);
endunsafe;
gui();
else;
key(attack);
wait(1ms);
endif;
else;
break;
endif;
endif;
until(!tem_material_rep);
loop;
endif;
loop;
}$$