Aqui está meu macro de reparação galera, este daqui tem menos chance de quando o server causa delay/lag a enxada quebrar... 
if(teste);
unset(teste);
LOG(&4[OFF] &8Macro Encerrado!);
stop();
else;
set(teste);
LOG(&2[ON] &3Macro Iniciado!);
#item = 291;
Do();
PICK(#item);
IF(DURABILITY < 32);
LOOK(0,90);
KEY(use);
WAIT(400ms);
ELSE;
LOOK(0,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(45,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(90,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(135,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(180,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(225,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(270,0);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(315,0);
PICK(#item);
KEY(use);
WAIT(14ms);
IF(DURABILITY < 32);
LOOK(0,90);
KEY(use);
WAIT(400ms);
EndIf;
LOOK(0,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(45,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(90,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(135,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(180,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(225,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(270,30);
PICK(#item);
KEY(use);
WAIT(14ms);
LOOK(315,30);
PICK(#item);
KEY(use);
WAIT(14ms);
ENDIF;
Loop;
ENDIF;
}$$
@Observação: Quando Digo MEU quero dizer qual eu uso, não de minha autoria!! (Autoria: [member='ShaDoWBR190])
@Observação²: Este macro é editado do original!