Código:
$${
////////////////////////////////////////////////////////////
////////////////////////////// by MUR4I#0409
////////////////////////////// Macro - Reparar Arcos TRAP INFINITA MKB (v2)
////////////////////////////////////////////////////////////
LOG(" ");TOGGLE(blues);IF(!blues);LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cOFF&4!");STOP;ENDIF;
PLAYSOUND(tile.piston.in);LOG("&b&l[MACRO] &6Reparar Arcos (v2): &aON&2!");
////////////////////////////////////////////////////////////
////////////////////////////// CONFIG
////////////////////////////////////////////////////////////
SET(&homelinha,"linha"); //----------- Home olhando para uma placa que vende linha
SET(&hometemp,"bluestemp"); //-------- Home temporária para voltar depois de ir comprar linhas
SET(#bau_atual,"1"); //----------- Começar sempre pelo baú 1 (de cima pra baixo)
////////////////////////////////////////////////////////////
////////////////////////////// VARIÁVEIS
////////////////////////////////////////////////////////////
SET(#player_xpos,"%XPOS%");SET(#player_ypos,"%YPOS%");SET(#player_zpos,"%ZPOS%");
SET(#bau_n_abre,0);SET(#tentativas,0);SET(#qtdarco,0);SET(#qtdlinha,0);SET(#ultimo_slot,0);
UNSET(parar);UNSET(pegou_arco);UNSET(limpeza);NSET(@sleeplack);UNSET(#yawblocoferro);UNSET(#pitchblocoferro);UNSET(trocarfila);
IF(%DIRECTION% = "N"); SET(&frente,"NORTH"); SET(&atras,"SOUTH"); SET(&direita,"EAST"); SET(&esquerda,"WEST"); ENDIF;
IF(%DIRECTION% = "S"); SET(&frente,"SOUTH"); SET(&atras,"NORTH"); SET(&direita,"WEST"); SET(&esquerda,"EAST"); ENDIF;
IF(%DIRECTION% = "E"); SET(&frente,"EAST"); SET(&atras,"WEST"); SET(&direita,"SOUTH"); SET(&esquerda,"NORTH"); ENDIF;
IF(%DIRECTION% = "W"); SET(&frente,"WEST"); SET(&atras,"EAST"); SET(&direita,"NORTH"); SET(&esquerda,"SOUTH"); ENDIF;
GETIDREL(0,-1,0,#blocoferro1);IF(%#blocoferro1%=42);SET(#yawblocoferro,"0");SET(#pitchblocoferro,"90");ENDIF;
GETIDREL(-1,0,0,#blocoferro2);IF(%#blocoferro2%=42);SET(#yawblocoferro,"270");SET(#pitchblocoferro,"64");ENDIF;
GETIDREL(1,0,0,#blocoferro3);IF(%#blocoferro3%=42);SET(#yawblocoferro,"90");SET(#pitchblocoferro,"64");ENDIF;
GETIDREL(0,0,-1,#blocoferro4);IF(%#blocoferro4%=42);SET(#yawblocoferro,"0");SET(#pitchblocoferro,"64");ENDIF;
GETIDREL(0,0,1,#blocoferro5);IF(%#blocoferro5%=42);SET(#yawblocoferro,"180");SET(#pitchblocoferro,"64");ENDIF;
SET(&verificar_baus,"");
GETIDREL(0,-1,-2,#bau1);GETIDREL(0,0,-2,#bau2);GETIDREL(0,1,-2,#bau3);GETIDREL(0,2,-2,#bau4);GETIDREL(0,3,-2,#bau5);
GETIDREL(0,-1,-3,#bau6);GETIDREL(0,0,-3,#bau7);GETIDREL(0,1,-3,#bau8);GETIDREL(0,2,-3,#bau9);GETIDREL(0,3,-3,#bau10);
SET(&setbau,"23482348/2348g 2348&62348r2348e2348p2348a2348r2348a2348n2348d2348o2348 a2348r2348c2348o2348s2348 2348e2348m2348 2348b2348a2348ú2348s2348 2348i2348n2348f2348i2348n2348i23482348t2348o2348s 2348(2348m23482348k2348b2348) 23482348co2348m2348 2348a2348 2348m2348a2348c2348r2348o2348 2348d2348o2348 2348&f#2348&234882348m2348r2348&234832348b2348l2348u2348e2348ee23482348s 23482348&234842348<32348");
SET(&verificar_baus,"%#bau1%-%#bau2%-%#bau3%-%#bau4%-%#bau5%-%#bau6%-%#bau7%-%#bau8%-%#bau9%-%#bau10%");
IFMATCHES("%&verificar_baus%","^(54|146)-(54|146)-(54|146)-(54|146)-(54|146)-(54|146)-(54|146)-(54|146)-(54|146)-(54|146)$");
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &aBaús posicionados corretamente!");
LOG("&bIniciando a macro...");
LOG("");
ELSE;
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cOs baús não estão conforme a trap MKB!");
LOG("&bFinalizando...");
LOG("");
TOGGLE(blues);
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cOFF&4!");
STOP;
ENDIF;
REPLACE(&setbau,"2348","");
ECHO("%&setbau%")
IF(#pitchblocoferro);
DO();
GUI();
LOOK(NORTH);
IF(trocarfila);
#pos_next_chest = (%XPOS% + 1);
DO;
LOOK(NORTH);
IF(%XPOS%==%#pos_next_chest%);
WAIT(20MS);
BREAK;
ELSEIF((%XPOS%>%#pos_next_chest%)||(%YPOS%!=%#baus_ypos%)||(%ZPOS%!=%#baus_zpos%));
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cAconteceu algum problema.");
LOG("&bFinalizando a macro...");
LOG("");
SET(parar);
BREAK;
ELSE;
GUI(INVENTORY);
KEYDOWN(RIGHT);
IF(%XPOS%==%#pos_next_chest%);
KEYUP(SNEAK);
BREAK;
ELSE;
KEYDOWN(SNEAK);
ENDIF;
ENDIF;
LOOP;
KEYUP(SNEAK);
KEYUP(RIGHT);
UNSET(trocarfila);
ENDIF;
IF(parar);
BREAK;
ENDIF;
IF((%#bau_atual%=1));
LOOK(+0,+312);
ELSEIF((%#bau_atual%=2));
LOOK(+0,+328);
ELSEIF((%#bau_atual%=3));
LOOK(+0,+0);
ELSEIF((%#bau_atual%=4));
LOOK(+0,+33);
ELSEIF((%#bau_atual%=5));
LOOK(+0,+50);
ENDIF;
LOOK(+0,+1,1);
DO(3);
IF((HITID == 54)||(HITID == 146));
KEY(use);
DO(200);
UNTIL(%GUI%="GUICHEST");
ENDIF;
UNTIL(%GUI%="GUICHEST");
WAIT(1T);
IF(%GUI%="GUICHEST");
FOR(#slot,%#ultimo_slot%,53);
GETSLOTITEM(%#slot%,#id,#stack,#data);
IF(%#id%=261);
SLOTCLICK(%#slot%,L,TRUE);
INC(#qtdarco,1);
ENDIF;
INC(#tentativas,1);
IF(%#qtdarco%>=9);
SET(pegou_arco);
SET(#qtdarco,0);
SET(#ultimo_slot,"%#slot%");
GUI();
BREAK;
ELSEIF(%#tentativas%>=54);
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cNão foram encontrados 9 arcos!");
LOG("&bVerificando no próximo baú...");
IF(%#bau_atual% < 5);
INC(#bau_atual,1)
ELSEIF;
SET(#bau_atual,"1");
SET(trocarfila);
ENDIF;
SET(#ultimo_slot,0);
SET(#tentativas,0);
GUI();
BREAK;
ENDIF;
NEXT;
ELSEIF((HITID == 54)||(HITID == 146));
INC(#bau_n_abre,1);
IF(%#bau_n_abre%<=3);
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cO baú não está abrindo! Tentando novamente... &7&o#MR&3&oBLUEEES");
LOG("");
ELSE;
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cAconteceu algum problema.");
LOG("&bFinalizando a macro...");
LOG("");
SET(parar);
BREAK;
ENDIF;
ELSE;
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cVocê não está olhando para um baú.");
LOG("&bFinalizando a macro...");
LOG("");
SET(parar);
BREAK;
ENDIF;
IF(pegou_arco);
WAIT(1);
GUI();
DO(2);
FOR(#slot,1,9);
SLOT(%#slot%);
DO();
LOOK(%#yawblocoferro%,%#pitchblocoferro%);
KEY(use);
WAIT(100ms);
IF(@sleeplack);
BREAK;
ENDIF;
UNTIL((%DURABILITY%=384)||(@sleeplack));
IF(@sleeplack);
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cAcabaram as linhas!");
LOG("&bTentando realizar a compra...");
LOG("");
// UNSET(pegou_arco);
// SET(parar);
// BREAK;
ECHO("/sethome %&hometemp%");
WAIT(200ms);
ECHO("/sethome %&hometemp%");
WAIT(1);
DO(2);
ECHO("/home %&homelinha%");
WAIT(3);
LOOP;
WAIT(100ms)
ECHO("/menuloja on")
WAIT(100ms)
ECHO("/esconder")
DO;
KEY(use);
WAIT(500ms);
UNTIL(%GUI% = "GUICHEST");
WAIT(1);
DO(10);
SLOTCLICK(2,l,false)
WAIT(1)
LOOP;
DO(2);
ECHO("/home %&hometemp%");
KEYDOWN(JUMP);
WAIT(3);
LOOP;
KEYUP(JUMP);
UNSET(@sleeplack);
ENDIF;
NEXT;
LOOP;
IF(!parar);
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &aReparei toda hotbar!");
LOG("&bIniciando limpeza...");
LOG("");
UNSET(pegou_arco);
SET(limpeza);
ENDIF;
ENDIF;
IF(limpeza);
WAIT(1);
GUI();
DO(2)
FOR(#slot,1,9);
LOOK(%&frente%);
SLOT(%#slot%);
DO();
KEY(DROP);
WAIT(100ms);
UNTIL(%DURABILITY%=0);
NEXT;
LOOP;
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &aLimpeza finalizada!");
LOG("");
UNSET(limpeza);
ENDIF;
UNTIL(parar);
ELSE;
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cNão foi encontrado nenhum bloco de ferro por perto!");
LOG("");
ENDIF;
TOGGLE(blues);
PLAYSOUND(tile.piston.out);
LOG("");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &aFinalizado! &7&o#MR&3&oBLUEEES");
LOG("&b&l[MACRO] &6Reparar Arcos (v2): &cOFF&4!");
LOG("");
STOP;
}$$