RupColf
Neutro
Gente, eu fiz a macro de reparação com espada de pedra que compra pedra e guarda arco, usei ela até chegar no 100 e depois que cheguei eu decidir fazer uma para upar com arco, ela é basicamente a mesma só que agora ela bate no esqueleto e usa os arcos para reparar, eu me baseei no video do Zmatheus (acho que é esse o nick) para tentar recriar a macro.
Mantem o home /mob e precisa do /ossos para vender ossos e /linha para comprar linhas para o arco
Ela faz um ciclo de 200 hits até começar o processo de descarte de flechas, venda de ossos, compra de linhas e reparação dos arcos, essa é a segunda macro que eu fiz, então não garanto que seja algo absurdo de bom.
Mantem o home /mob e precisa do /ossos para vender ossos e /linha para comprar linhas para o arco
Ela faz um ciclo de 200 hits até começar o processo de descarte de flechas, venda de ossos, compra de linhas e reparação dos arcos, essa é a segunda macro que eu fiz, então não garanto que seja algo absurdo de bom.
$${
IF(reparador_xp);
LOG("&f&l>>> &8&lXP REPAIR &4&l[OFF] &f&l<<<");
UNSET(reparador_xp); UNSET(@lock); STOP();
ELSE;
SET(reparador_xp);
LOG("&f&l>>> &8&lXP REPAIR &a&l[ON] &f&l<<<");
#combate_yaw = 359; #combate_pitch = 10;
#timer_sync = 0;
#limite_hits = 400;
DO;
INC(#timer_sync);
IF(#timer_sync >= #limite_hits);
SET(@lock);
#timer_sync = 0;
LOG("&e&l[!] Iniciando Ciclo Elite: Proteção Total de Suprimentos...");
GUI(inventory); WAIT(3s);
#total_linhas = 0; #total_arcos_quebrados = 0;
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id,#quant,#damage);
IFMATCHES("%&id%","(?i)string|linha|287"); #total_linhas = #total_linhas + #quant; ENDIF;
IFMATCHES("%&id%","(?i)bow|arco|261");
IF(#damage > 4); INC(#total_arcos_quebrados); ENDIF;
ENDIF;
IFMATCHES("%&id%","(?i)arrow|flecha|262");
SLOTCLICK(%#i%,"left",false); WAIT(100ms); SLOTCLICK(-999,"left",false); WAIT(100ms);
ENDIF;
NEXT;
GUI(); WAIT(10t);
#ciclos = (#total_arcos_quebrados + 8) / 9;
LOG("&b[!] Arcos para upar: %#total_arcos_quebrados%. Estoque: %#total_linhas% linhas.");
ECHO("/home ossos"); WAIT(180t);
KEY(use); WAIT(60t); SLOTCLICK(7,"left",false); WAIT(500ms); GUI(); WAIT(10t);
IF(#total_linhas < 192);
LOG("&6[!] Linha insuficiente. Comprando 2 packs...");
ECHO("/home linha"); WAIT(180t);
KEY(use); WAIT(60t);
SLOTCLICK(2,"left",false); WAIT(500ms); SLOTCLICK(2,"left",false); WAIT(500ms);
GUI(); WAIT(10t);
ENDIF;
IF(#ciclos > 0);
ECHO("/home mob"); WAIT(180t);
FOR(#c,1,%#ciclos%);
LOG("&6[!] Reparando Ciclo %#c% de %#ciclos%...");
GUI(inventory); WAIT(2s);
#h = 36;
FOR(#i,9,35);
GETSLOTITEM(%#i%,&id_arco,#q_a,#dmg_a);
IFMATCHES("%&id_arco%","(?i)bow|arco|261");
IF((#dmg_a > 4) && (#h <= 44));
SLOTCLICK(%#i%,0,false); WAIT(200ms); SLOTCLICK(%#h%,0,false); WAIT(200ms);
INC(#h);
ENDIF;
ENDIF;
NEXT;
GUI(); WAIT(15t);
LOOK(0,90); WAIT(250ms);
FOR(#slot_r,1,9);
SLOT(%#slot_r%); WAIT(150ms);
IFMATCHES(%ITEM%,"(?i)bow|arco|261");
#safety = 0;
DO;
IF(%DURABILITY% < 384);
IF(#safety < 40);
KEY(use); WAIT(100ms); INC(#safety);
ELSE;
LOG("&c[!] Linhas esgotadas durante o reparo! Indo buscar...");
ECHO("/home linha"); WAIT(180t);
KEY(use); WAIT(60t);
SLOTCLICK(2,"left",false); WAIT(500ms); SLOTCLICK(2,"left",false); WAIT(500ms);
GUI(); WAIT(10t);
ECHO("/home mob"); WAIT(180t);
LOOK(0,90); WAIT(250ms);
#safety = 0;
ENDIF;
ELSE;
BREAK;
ENDIF;
LOOP;
ENDIF;
NEXT;
NEXT;
LOG("&d[!] TODOS os ciclos concluídos. Iniciando descarga no West...");
LOOK(90,0); WAIT(25t);
GUI(inventory); WAIT(2s);
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id_drop,#q_d,#dmg_d);
IFMATCHES("%&id_drop%","(?i)bow|arco|261");
IF(#dmg_d <= 4);
SLOTCLICK(%#i%,"left",false); WAIT(80ms); SLOTCLICK(-999,"left",false); WAIT(80ms);
ENDIF;
ENDIF;
NEXT;
GUI(); WAIT(10t);
ENDIF;
LOG("&e[!] Reorganizando ferramentas para o combate...");
GUI(inventory); WAIT(3s);
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id_f);
IFMATCHES("%&id_f%","(?i)iron_sword|267"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(36,0,false); WAIT(150ms); ENDIF;
IFMATCHES("%&id_f%","(?i)iron_block|42"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(37,0,false); WAIT(150ms); ENDIF;
IFMATCHES("%&id_f%","(?i)string|linha|287"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(38,0,false); WAIT(150ms); ENDIF;
NEXT;
GUI(); WAIT(15t);
SLOT(1); PICK(iron_sword);
UNSET(@lock);
ENDIF;
LOOK(%#combate_yaw%,%#combate_pitch%);
IF(%DURABILITY% < 60);
LOOK(0,90); WAIT(600ms); KEY(use); WAIT(600ms);
LOOK(%#combate_yaw%,%#combate_pitch%);
ENDIF;
IFMATCHES(%ITEM%,"(?i)iron_sword|267");
KEY(attack); WAIT(150ms);
ELSE;
PICK(iron_sword); WAIT(2t);
ENDIF;
LOOP;
ENDIF;
}$$
IF(reparador_xp);
LOG("&f&l>>> &8&lXP REPAIR &4&l[OFF] &f&l<<<");
UNSET(reparador_xp); UNSET(@lock); STOP();
ELSE;
SET(reparador_xp);
LOG("&f&l>>> &8&lXP REPAIR &a&l[ON] &f&l<<<");
#combate_yaw = 359; #combate_pitch = 10;
#timer_sync = 0;
#limite_hits = 400;
DO;
INC(#timer_sync);
IF(#timer_sync >= #limite_hits);
SET(@lock);
#timer_sync = 0;
LOG("&e&l[!] Iniciando Ciclo Elite: Proteção Total de Suprimentos...");
GUI(inventory); WAIT(3s);
#total_linhas = 0; #total_arcos_quebrados = 0;
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id,#quant,#damage);
IFMATCHES("%&id%","(?i)string|linha|287"); #total_linhas = #total_linhas + #quant; ENDIF;
IFMATCHES("%&id%","(?i)bow|arco|261");
IF(#damage > 4); INC(#total_arcos_quebrados); ENDIF;
ENDIF;
IFMATCHES("%&id%","(?i)arrow|flecha|262");
SLOTCLICK(%#i%,"left",false); WAIT(100ms); SLOTCLICK(-999,"left",false); WAIT(100ms);
ENDIF;
NEXT;
GUI(); WAIT(10t);
#ciclos = (#total_arcos_quebrados + 8) / 9;
LOG("&b[!] Arcos para upar: %#total_arcos_quebrados%. Estoque: %#total_linhas% linhas.");
ECHO("/home ossos"); WAIT(180t);
KEY(use); WAIT(60t); SLOTCLICK(7,"left",false); WAIT(500ms); GUI(); WAIT(10t);
IF(#total_linhas < 192);
LOG("&6[!] Linha insuficiente. Comprando 2 packs...");
ECHO("/home linha"); WAIT(180t);
KEY(use); WAIT(60t);
SLOTCLICK(2,"left",false); WAIT(500ms); SLOTCLICK(2,"left",false); WAIT(500ms);
GUI(); WAIT(10t);
ENDIF;
IF(#ciclos > 0);
ECHO("/home mob"); WAIT(180t);
FOR(#c,1,%#ciclos%);
LOG("&6[!] Reparando Ciclo %#c% de %#ciclos%...");
GUI(inventory); WAIT(2s);
#h = 36;
FOR(#i,9,35);
GETSLOTITEM(%#i%,&id_arco,#q_a,#dmg_a);
IFMATCHES("%&id_arco%","(?i)bow|arco|261");
IF((#dmg_a > 4) && (#h <= 44));
SLOTCLICK(%#i%,0,false); WAIT(200ms); SLOTCLICK(%#h%,0,false); WAIT(200ms);
INC(#h);
ENDIF;
ENDIF;
NEXT;
GUI(); WAIT(15t);
LOOK(0,90); WAIT(250ms);
FOR(#slot_r,1,9);
SLOT(%#slot_r%); WAIT(150ms);
IFMATCHES(%ITEM%,"(?i)bow|arco|261");
#safety = 0;
DO;
IF(%DURABILITY% < 384);
IF(#safety < 40);
KEY(use); WAIT(100ms); INC(#safety);
ELSE;
LOG("&c[!] Linhas esgotadas durante o reparo! Indo buscar...");
ECHO("/home linha"); WAIT(180t);
KEY(use); WAIT(60t);
SLOTCLICK(2,"left",false); WAIT(500ms); SLOTCLICK(2,"left",false); WAIT(500ms);
GUI(); WAIT(10t);
ECHO("/home mob"); WAIT(180t);
LOOK(0,90); WAIT(250ms);
#safety = 0;
ENDIF;
ELSE;
BREAK;
ENDIF;
LOOP;
ENDIF;
NEXT;
NEXT;
LOG("&d[!] TODOS os ciclos concluídos. Iniciando descarga no West...");
LOOK(90,0); WAIT(25t);
GUI(inventory); WAIT(2s);
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id_drop,#q_d,#dmg_d);
IFMATCHES("%&id_drop%","(?i)bow|arco|261");
IF(#dmg_d <= 4);
SLOTCLICK(%#i%,"left",false); WAIT(80ms); SLOTCLICK(-999,"left",false); WAIT(80ms);
ENDIF;
ENDIF;
NEXT;
GUI(); WAIT(10t);
ENDIF;
LOG("&e[!] Reorganizando ferramentas para o combate...");
GUI(inventory); WAIT(3s);
FOR(#i,0,44);
GETSLOTITEM(%#i%,&id_f);
IFMATCHES("%&id_f%","(?i)iron_sword|267"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(36,0,false); WAIT(150ms); ENDIF;
IFMATCHES("%&id_f%","(?i)iron_block|42"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(37,0,false); WAIT(150ms); ENDIF;
IFMATCHES("%&id_f%","(?i)string|linha|287"); SLOTCLICK(%#i%,0,false); WAIT(150ms); SLOTCLICK(38,0,false); WAIT(150ms); ENDIF;
NEXT;
GUI(); WAIT(15t);
SLOT(1); PICK(iron_sword);
UNSET(@lock);
ENDIF;
LOOK(%#combate_yaw%,%#combate_pitch%);
IF(%DURABILITY% < 60);
LOOK(0,90); WAIT(600ms); KEY(use); WAIT(600ms);
LOOK(%#combate_yaw%,%#combate_pitch%);
ENDIF;
IFMATCHES(%ITEM%,"(?i)iron_sword|267");
KEY(attack); WAIT(150ms);
ELSE;
PICK(iron_sword); WAIT(2t);
ENDIF;
LOOP;
ENDIF;
}$$
Última edição: