A pedidos havia feito uma simples macro de upar espada na mobvip, mas o projeto foi evoluindo e... Acabou virando um macro que é praticamente autossuficiente, mesmo se o mob se mexer, ele acha!!
A macro pode ser utilizada para upar tanto espada, quanto machado, quanto arco (ou da para usar qualquer outro item).
Ela tem uma função de procurar 360 pelo mob (o que pode ser desativado), além de possuir uma função de procurar em outras homes, caso não ache na atual. (O que é muito prático caso ele se mexa, e que também pode ser desativado).
Quando você inicia a macro ela pede o ID do item que irá se utilizado (e lista os 3 principais), pergunta se você quer utilizador o buscador de mobs (que gira 360 até encontrar), e caso queira, pergunta se quer utilizar as homes, para ampliar a busca.
A home qual ele vai quando inicia a macro é a gmob1 (independente se usar a função de homes). E caso queira utilizar a busca com homes, as outras 4 são gmob2 ; gmob3 ; gmo4 ; gmob5 ; caso não ache, para não ficar parado ali no mob, ele da /home.
Pode ser tanto utilizado no mobvip, quanto em algum mob privado, por tanto que seja configurado direito.
O inventario tem que ser com comida no Slot 9 e itens para reparar a ferramenta que você estiver usando.
Ela repara e come sozinha!
Acho que é isso, caso conheça a programação e ache que de para melhorar a macro, pode melhorar que atualizarei e darei os créditos!! Ou caso queira utilizar o projeto de base, também pode
é open source. Caso ache um bug, reporte!!
Edit: Adicionei um segundo codigo da macro, com delay de 0ms, que mata mob muito mais rapido que a com delay de 200ms. Vou manter a segunda caso alguem tenha problema com a primeira.
Algumas imagens da Macro:
Código da macro com delay de 0ms:
Código da macro com delay de 200ms:
Caso queiram a macro com loop infinito em vez de /home (me pediram):
A macro pode ser utilizada para upar tanto espada, quanto machado, quanto arco (ou da para usar qualquer outro item).
Ela tem uma função de procurar 360 pelo mob (o que pode ser desativado), além de possuir uma função de procurar em outras homes, caso não ache na atual. (O que é muito prático caso ele se mexa, e que também pode ser desativado).
Quando você inicia a macro ela pede o ID do item que irá se utilizado (e lista os 3 principais), pergunta se você quer utilizador o buscador de mobs (que gira 360 até encontrar), e caso queira, pergunta se quer utilizar as homes, para ampliar a busca.
A home qual ele vai quando inicia a macro é a gmob1 (independente se usar a função de homes). E caso queira utilizar a busca com homes, as outras 4 são gmob2 ; gmob3 ; gmo4 ; gmob5 ; caso não ache, para não ficar parado ali no mob, ele da /home.
Pode ser tanto utilizado no mobvip, quanto em algum mob privado, por tanto que seja configurado direito.
O inventario tem que ser com comida no Slot 9 e itens para reparar a ferramenta que você estiver usando.
Ela repara e come sozinha!
Acho que é isso, caso conheça a programação e ache que de para melhorar a macro, pode melhorar que atualizarei e darei os créditos!! Ou caso queira utilizar o projeto de base, também pode

Edit: Adicionei um segundo codigo da macro, com delay de 0ms, que mata mob muito mais rapido que a com delay de 200ms. Vou manter a segunda caso alguem tenha problema com a primeira.
Algumas imagens da Macro:
Código da macro com delay de 0ms:
Código:
$${
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
Else;
Log(&6MACRO &3Mobs &aON");
Set(x);
Endif;
unset(arco)
unset(normal)
unset(resposta_incorreta)
unset(arco2)
Do(2);
clearchat()
log(&c Para Espada de Diamante, Digite 276)
log(&c Para Machado de Diamante, Digite 279)
log(&c Para Arco, Digite 261)
log(&c Para outro item, Digite o ID)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#it,$$?,Digite: )
if(%#it%=3)
set(resposta_incorreta)
endif
Do(2);
clearchat()
log(&c Para usar o buscador de mobs Digite 1)
log(&c Para não utilizar o buscador, Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#itt,$$?,Digite: )
if(%#itt%=3)
set(resposta_incorreta)
endif
if(%#it% = 261)
set(arco)
else;
set(normal)
endif
if(%#itt%=1)
set(buscar)
Do(2);
clearchat()
log(&c Para usar as homes Digite 1)
log(&c Para não utilizar as homes Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#ittt,$$?,Digite: )
if(%#ittt%=1)
set(homes)
else;
unset(homes)
endif;
else;
unset(buscar)
endif;
if(%#ittt%=3)
set(resposta_incorreta)
endif
if(resposta_incorreta)
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
endif;
endif;
#i=0
#olhar=0
#vr=0
#home=0
}$$
/home gmob1
$${
wait(8000ms)
set(mob)
Do();
pick(%#it%);
if(normal);
if(%DURABILITY% < 70);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 50);
break;
endif;
elseif(arco);
if(%DURABILITY% < 20);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 10);
break;
endif;
elseif(%HUNGER% < 14);
slot(9)
wait(200ms)
Do;
key(use)
while(%HUNGER% != 20)
wait(200ms)
endif;
if(normal)
if(%HIT%="ENTITY");
key(attack);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
endif;
endif;
if(arco)
if(%HIT%="ENTITY");
set(arco2)
elseif(%HIT%!="ENTITY");
unset(arco2)
endif;
endif;
if(arco2)
if(%HIT%="ENTITY");
Do(40);
Do(23);
key(use);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
while(%DURABILITY% > 20)
loop;
do(1)
key(attack)
loop;
while(%DURABILITY% > 20)
loop;
unset(arco2)
wait(500ms)
keydown(back)
wait(100ms)
keyup(back)
keydown(forward)
wiat(100ms)
keyup(forward)
wait(100ms)
keydown(right)
wait(100ms)
keyup(right)
wait(100ms)
keydown(left)
wait(100ms)
keyup(left)
wait(1000ms)
endif;
endif;
if(buscar)
unsafe;
if(%HIT%!="ENTITY");
look(0,0);
Do(38);
look(%#olhar%,%#i%);
inc(#olhar,10)
until(%HIT%="ENTITY");
loop;
inc(#i,10)
endif
if(%#i%>91)
set(#i,0)
set(#olhar,0)
inc(#vr,1)
endif
if(%#vr% = 1)
log(Procurando o mob)
endif;
if(%#vr% = 2)
log(Procurando em outra home)
set(#vr,0)
inc(#home,1)
inc(#vb,1)
endif;
if(%#vb=2)
break;
endif;
endunsafe;
if(homes);
if(%#home%=1);wait(1000ms);Echo(/home gmob2);wait(2000ms);inc(#home,1);endif;
if(%#home%=3);wait(1000ms);Echo(/home gmob3);wait(2000ms);inc(#home,1);endif;
if(%#home%=5);wait(1000ms);Echo(/home gmob4);wait(2000ms);inc(#home,1);endif;
if(%#home%=7);wait(1000ms);Echo(/home gmob5);wait(2000ms);inc(#home,1);endif;
if(%#home%=9);wait(1000ms);Echo(/home);wait(2000ms);break;endif;
endif;
endif;
loop;
}$$
Código da macro com delay de 200ms:
Código:
$${
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
Else;
Log(&6MACRO &3Mobs &aON");
Set(x);
Endif;
unset(arco)
unset(normal)
unset(resposta_incorreta)
unset(arco2)
Do(2);
clearchat()
log(&c Para Espada de Diamante, Digite 276)
log(&c Para Machado de Diamante, Digite 279)
log(&c Para Arco, Digite 261)
log(&c Para outro item, Digite o ID)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#it,$$?,Digite: )
if(%#it%=3)
set(resposta_incorreta)
endif
Do(2);
clearchat()
log(&c Para usar o buscador de mobs Digite 1)
log(&c Para não utilizar o buscador, Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#itt,$$?,Digite: )
if(%#itt%=3)
set(resposta_incorreta)
endif
if(%#it% = 261)
set(arco)
else;
set(normal)
endif
if(%#itt%=1)
set(buscar)
Do(2);
clearchat()
log(&c Para usar as homes Digite 1)
log(&c Para não utilizar as homes Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#ittt,$$?,Digite: )
if(%#ittt%=1)
set(homes)
else;
unset(homes)
endif;
else;
unset(buscar)
endif;
if(%#ittt%=3)
set(resposta_incorreta)
endif
if(resposta_incorreta)
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
endif;
endif;
#i=0
#olhar=0
#vr=0
#home=0
}$$
/home gmob1
$${
wait(8000ms)
set(mob)
Do();
pick(%#it%);
if(normal);
if(%DURABILITY% < 70);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 50);
break;
endif;
elseif(arco);
if(%DURABILITY% < 20);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 10);
break;
endif;
elseif(%HUNGER% < 14);
slot(9)
wait(200ms)
Do;
key(use)
while(%HUNGER% != 20)
wait(200ms)
endif;
if(normal)
if(%HIT%="ENTITY");
wait(200ms)
key(attack);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
endif;
endif;
if(arco)
if(%HIT%="ENTITY");
set(arco2)
elseif(%HIT%!="ENTITY");
unset(arco2)
endif;
endif;
if(arco2)
if(%HIT%="ENTITY");
Do(40);
Do(23);
key(use);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
while(%DURABILITY% > 20)
loop;
do(1)
key(attack)
loop;
while(%DURABILITY% > 20)
loop;
unset(arco2)
wait(500ms)
keydown(back)
wait(100ms)
keyup(back)
keydown(forward)
wiat(100ms)
keyup(forward)
wait(100ms)
keydown(right)
wait(100ms)
keyup(right)
wait(100ms)
keydown(left)
wait(100ms)
keyup(left)
wait(1000ms)
endif;
endif;
if(buscar)
unsafe;
if(%HIT%!="ENTITY");
look(0,0);
Do(38);
look(%#olhar%,%#i%);
inc(#olhar,10)
until(%HIT%="ENTITY");
loop;
inc(#i,10)
endif
if(%#i%>91)
set(#i,0)
set(#olhar,0)
inc(#vr,1)
endif
if(%#vr% = 1)
log(Procurando o mob)
endif;
if(%#vr% = 2)
log(Procurando em outra home)
set(#vr,0)
inc(#home,1)
inc(#vb,1)
endif;
if(%#vb=2)
break;
endif;
endunsafe;
if(homes);
if(%#home%=1);wait(1000ms);Echo(/home gmob2);wait(2000ms);inc(#home,1);endif;
if(%#home%=3);wait(1000ms);Echo(/home gmob3);wait(2000ms);inc(#home,1);endif;
if(%#home%=5);wait(1000ms);Echo(/home gmob4);wait(2000ms);inc(#home,1);endif;
if(%#home%=7);wait(1000ms);Echo(/home gmob5);wait(2000ms);inc(#home,1);endif;
if(%#home%=9);wait(1000ms);Echo(/home);wait(2000ms);break;endif;
endif;
endif;
loop;
}$$
Caso queiram a macro com loop infinito em vez de /home (me pediram):
Código:
$${
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
Else;
Log(&6MACRO &3Mobs &aON");
Set(x);
Endif;
unset(arco)
unset(normal)
unset(resposta_incorreta)
unset(arco2)
Do(2);
clearchat()
log(&c Para Espada de Diamante, Digite 276)
log(&c Para Machado de Diamante, Digite 279)
log(&c Para Arco, Digite 261)
log(&c Para outro item, Digite o ID)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#it,$$?,Digite: )
if(%#it%=3)
set(resposta_incorreta)
endif
Do(2);
clearchat()
log(&c Para usar o buscador de mobs Digite 1)
log(&c Para não utilizar o buscador, Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#itt,$$?,Digite: )
if(%#itt%=3)
set(resposta_incorreta)
endif
if(%#it% = 261)
set(arco)
else;
set(normal)
endif
if(%#itt%=1)
set(buscar)
Do(2);
clearchat()
log(&c Para usar as homes Digite 1)
log(&c Para não utilizar as homes Digite 2)
log(&c Para sair, Digite 3)
log( )
loop;
Prompt(#ittt,$$?,Digite: )
if(%#ittt%=1)
set(homes)
else;
unset(homes)
endif;
else;
unset(buscar)
endif;
if(%#ittt%=3)
set(resposta_incorreta)
endif
if(resposta_incorreta)
If(x);
Log("&6MACRO&3 Mobs &4OFF");
Unset(x);
Unset(arco)
unset(normal)
Stop();
endif;
endif;
#i=0
#olhar=0
#vr=0
#home=0
}$$
/home gmob1
$${
wait(8000ms)
set(mob)
Do();
pick(%#it%);
if(normal);
if(%DURABILITY% < 70);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 50);
break;
endif;
elseif(arco);
if(%DURABILITY% < 20);
log(Reparando)
wait(1000ms)
}$$
/reparar
$${
wait(1000ms)
endif
if(%DURABILITY% < 10);
break;
endif;
elseif(%HUNGER% < 14);
slot(9)
wait(200ms)
Do;
key(use)
while(%HUNGER% != 20)
wait(200ms)
endif;
if(normal)
if(%HIT%="ENTITY");
key(attack);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
endif;
endif;
if(arco)
if(%HIT%="ENTITY");
set(arco2)
elseif(%HIT%!="ENTITY");
unset(arco2)
endif;
endif;
if(arco2)
if(%HIT%="ENTITY");
Do(40);
Do(23);
key(use);
until(%HIT%!="ENTITY");
set(#vr,0)
set(#home,0)
while(%DURABILITY% > 20)
loop;
do(1)
key(attack)
loop;
while(%DURABILITY% > 20)
loop;
unset(arco2)
wait(500ms)
keydown(back)
wait(100ms)
keyup(back)
keydown(forward)
wiat(100ms)
keyup(forward)
wait(100ms)
keydown(right)
wait(100ms)
keyup(right)
wait(100ms)
keydown(left)
wait(100ms)
keyup(left)
wait(1000ms)
endif;
endif;
if(buscar)
unsafe;
if(%HIT%!="ENTITY");
look(0,0);
Do(38);
look(%#olhar%,%#i%);
inc(#olhar,10)
until(%HIT%="ENTITY");
loop;
inc(#i,10)
endif
if(%#i%>91)
set(#i,0)
set(#olhar,0)
inc(#vr,1)
endif
if(%#vr% = 1)
log(Procurando o mob)
endif;
if(%#vr% = 2)
log(Procurando em outra home)
set(#vr,0)
inc(#home,1)
inc(#vb,1)
endif;
if(%#vb=2)
break;
endif;
endunsafe;
if(homes);
if(%#home%=1);wait(1000ms);Echo(/home gmob2);wait(2000ms);inc(#home,1);endif;
if(%#home%=3);wait(1000ms);Echo(/home gmob3);wait(2000ms);inc(#home,1);endif;
if(%#home%=5);wait(1000ms);Echo(/home gmob4);wait(2000ms);inc(#home,1);endif;
if(%#home%=7);wait(1000ms);Echo(/home gmob5);wait(2000ms);inc(#home,1);endif;
if(%#home%=9);wait(1000ms);Echo(/home gmob1);wait(2000ms);set(#home,1);endif;
endif;
endif;
loop;
}$$
Última edição: