Depois de milhares(Dezenas) de pedidos ai uma versão publica da minha macro de herba.
Trap + Video
Funcionalidades:
+ 1.7+
+ Upa rápido e infinitamente, só para de upar se for guardar livro, morrer ou desconectar.
+ Se morrer volta para a trap e pega canas e continua o up.
+ Se identificar no chat que encontrou um livro guarda bem rápido, se lagar espera o bau abrir.
+ Se ficar sem canas ou itens para up por certo tempo pega mais no bau.
+ Como as canas não dropam no chão não fica verificando inventário para pegar mais canas, assim upando mais.
+ Só abre inventário/bau se pegar livro ou ficar sem cana.
+ Mais funcionalidades em breve, ao longo que eu for implementando modificações na minha versão fechada eu atualizo aqui.
A Macro tem três partes:
Leia com atenção onde botar cada parte para não se enrolar.
Instalação:
Adicionar na OnChat.
Essa macro irá "dizer" a macro principal que você pegou um livro e adicionar a espera para guardar.
Macro Principal. Botar em uma tecla.
Macro para religar se cair ou servidor reiniciar.
Adicionar na OnJoinGame ou na sua onchat se usar uma onchat que religa macros.
Provavelmente esqueci de alguma coisa, atualizo aqui depois.
Pode ter alguns bugs que eu não arrumei, qualquer coisa me mande MP.
Versão Atual: v8.7-s-a
Fev 28, 2018 01:23
Quando atualizar de outra versão, atualize todas as partes da macro!

Video da trap: Tutorial em texto abaixo.
[video]https://www.youtube.com/watch?v=idUwqywfuXM[/video]
Faça a trap com a frente para a direção: WEST
Dois baus atrás para a direção: EAST
Um bau para qualquer um dos lados de reserva com canas ou outro item que upe herbalismo (não bote outros itens).
Feche em cima se necessário, cuidado para não botar blocos sólidos em cima dos baus.
Salve a home Herbalismo. (Não precisa mas é bom salvar olhando para a frente [West].)
[video]https://www.youtube.com/watch?v=idUwqywfuXM[/video]
Faça a trap com a frente para a direção: WEST
Dois baus atrás para a direção: EAST
Um bau para qualquer um dos lados de reserva com canas ou outro item que upe herbalismo (não bote outros itens).
Feche em cima se necessário, cuidado para não botar blocos sólidos em cima dos baus.
Salve a home Herbalismo. (Não precisa mas é bom salvar olhando para a frente [West].)
Funcionalidades:
+ 1.7+
+ Upa rápido e infinitamente, só para de upar se for guardar livro, morrer ou desconectar.
+ Se morrer volta para a trap e pega canas e continua o up.
+ Se identificar no chat que encontrou um livro guarda bem rápido, se lagar espera o bau abrir.
+ Se ficar sem canas ou itens para up por certo tempo pega mais no bau.
+ Como as canas não dropam no chão não fica verificando inventário para pegar mais canas, assim upando mais.
+ Só abre inventário/bau se pegar livro ou ficar sem cana.
+ Mais funcionalidades em breve, ao longo que eu for implementando modificações na minha versão fechada eu atualizo aqui.
A Macro tem três partes:
Leia com atenção onde botar cada parte para não se enrolar.
Instalação:
[video]https://www.youtube.com/watch?v=o4zHnmFJ9Lo[video]
Adicionar na OnChat.
Essa macro irá "dizer" a macro principal que você pegou um livro e adicionar a espera para guardar.
$${
strip(&xylichat1,%CHATCLEAN%);
ifmatches(%&xylichat1%,"^\[Tesouro] (.+) encontrou um livro: Tesouro Nível (.+)");
match(%&xylichat1%,"^\[Tesouro] (.+) encontrou um livro: Tesouro Nível (.+)",{&xylplayer1,#xylevel1});
ifmatches(%PLAYER%,%&xylplayer1%);
set(@guardalivro);
LOG(" ");
endif;
endif;
}$$
strip(&xylichat1,%CHATCLEAN%);
ifmatches(%&xylichat1%,"^\[Tesouro] (.+) encontrou um livro: Tesouro Nível (.+)");
match(%&xylichat1%,"^\[Tesouro] (.+) encontrou um livro: Tesouro Nível (.+)",{&xylplayer1,#xylevel1});
ifmatches(%PLAYER%,%&xylplayer1%);
set(@guardalivro);
LOG(" ");
endif;
endif;
}$$
Macro Principal. Botar em uma tecla.
$${
&version="v8.7-s-a";
#####################################
#####################################
##############**Xylic**##############
#############Herbalismo##############
#################v8##################
#####################################
#####################################
# ssssssy:
# +++++hhhhdddy++
# -----ddddmhhhyyhhddd--`
# mmmmmyyyyyddhyyyyyyydd+
# mmmmmyyyyyyyyyyhhhhhyyysssshdd
#yyyyyhhhhhyyyyyyyyyyyyyyyhyyyysssssss:
#dddhhyyyyyyysssssssssssssyyyssooosshhsss
#ddhyyssssssssssssssssssssyysoosssssooyhh
#ddhyyyyssssssyyooooosssoooosssyyyyy..:++
#hhyss../sssssooyysssoooooyyyyy--.``--/oo
#hhyss``.--sssoosssooyyyys--:::...--ssyhh
#//oyy::-``/+sssssss /+++.----+++++hhddd
# :ssyy/..``:++ooooo..--- /:::hyyyysssss
# ddyss `.......--..`yyyyyhhhhh
# +ddss: -----yyyyyhhhhh
# `--hhs++ooooohhhhh-----
# //oyyyyyyyyyyy
# :sssssso
match(%&version%,"v(.+).(.+)-(.+)-(.+)",{#herbuild,#herminor,&heralbest,&abefec});
@#herbuild=%#herbuild%;
@#herminor=%#herminor%;
@&heralbest=%&heralbest%;
ifmatches(%&heralbest%,"-");&stability="Bleeding Edge";endif;
ifmatches(%&heralbest%,"a");&stability="Fase Alpha";endif;
ifmatches(%&heralbest%,"b");&stability="Fase Beta";endif;
ifmatches(%&heralbest%,"s");&stability="Estável";endif;
ifmatches(%&abefec%,"a");&liber="&3Publica";endif;
ifmatches(%&abefec%,"f");&liber="&4Fechada";endif;
@&stability=%&stability%;
@&liber=%&liber%;
&hertecla=%KEYNAME%;
@&hertecla=%&hertecla%;
if(@herbax);
unset(@herbax);
unset(@guardalivro);
log(" ");
log("&6%PLAYER% &cDesligou a &4[Xylic] &6Herbalismo &4OFF");
log(" ");
stop();
else;
set(@herbax);
log(" ");
log("&6%PLAYER% &2Ligou a &4[Xylic] &6Herbalismo");
log(" ");
log("&4[Xylic] &6Herbalismo na Tecla &5&l%&hertecla%");
log(" ");
log("&9&lVersão: &5%#herbuild%.%#herminor% - &6&l%&stability% %&liber%");
log(" ");
echo("/g &b gg&5 #xylic &bherbalismo &5v%#herbuild%.%#herminor%");
wait(20ms);
// echo("/chat global");
//Vars
#bau=1;
#mao=0;
&baucana="sem";
@&baucana=%&baucana%;
&bau="chest";
&home="herbalismo";
wait(200ms);
look(west);
keydown(jump);
wait(100ms);
keyup(jump);
//Verificar se tenho livros pra guardar
gui(inventory);
#livg=0;
wait(500ms);
for(#slt,9,26);
getslotitem(%#slt%,&ta);
ifmatches(%&ta%,air);
else;
inc(#livg,1);
endif;
wait(100ms);
next;
if(%#livg%>0);
set(@guardalivro);
log("&2%#livg% &9livros para guardar &f- &cQueued");
else;
unset(@guardalivro);
log("&4%#livg% &9livros para guardar &f- &bComeçando Up");
endif;
wait(100ms);
gui();
//Upando
do;
do(10);
look(west);
look(,90);
do(100);
pick(red_mushroom,reeds);
key(use);
wait(1t);
key(attack);
//Bug sem cana na mão
ifmatches(%ITEM%,"air");
if(@pegacana);
else;
if(%#mao%>40);
set(@pegacana);
#mao=0;
else;
inc(#mao,1);
//log("%#mao%");
endif;
endif;
endif;
//log(100);
loop;
//Se Morrer
if(%HEALTH%<1);
set(@morri);
set(@pegacana);
do(1);
ifmatches(%GUI%,"GUIGAMEOVER");
respawn();
endif;
do();
wait(100ms);
until((%HEALTH%>1)&&(%GUI%="NONE"));
wait(1);
//home
echo("/home %&home%");
wait(6);
keydown(jump);
wait(150ms);
keyup(jump);
loop;
endif;
if(@pegacana);
//Procurar bau para pegar Cana
wait(600ms);
do();
ifmatches(%&baucana%,"sem");
look(south);
wait(600ms);
ifmatches(%HITID%,%&bau%);
&baucana=south;
@&baucana=%&baucana%;
//log(%&baucana%);
else;
endif;
endif;
ifmatches(%&baucana%,"sem");
look(north);
wait(600ms);
ifmatches(%HITID%,%&bau%);
&baucana=north;
@&baucana=%&baucana%;
//log(%&baucana%);
else;
endif;
endif;
until(%&baucana%!="sem");
//Abrindo Bau de cana
wait(500ms);
look(%@&baucana%);
do();
wait(20ms);
until(%HITID%="chest");
key(use);
do();
wait(20ms);
until(%GUI%="GUICHEST");
wait(600ms);
//Pegando Canas
#slot=0;
do();
getslotitem(53,&id,#quant);
slotclick(%#slot%,l,true);
wait(80ms);
if(%#slot%>53);
#slot=0;
else;
#slot=%#slot%+1;
endif;
getslotitem(81,&id,#quant);
until(%&id%!="air");
unset(@pegacana);
gui();
do();
wait(10ms);
until(%GUI%="NONE");
endif;
loop;
//Guardar se pegou livro (Adicionar a outra na onchat para guardar)
if(@guardalivro);
wait(200ms);
keydown(jump);
wait(150ms);
keyup(jump);
wait(200ms);
if(#bau<2);
look(east);
endif;
if(#bau=2);
look(east);
look(,60);
endif;
if(#bau>2);
look(east);
endif;
do();
wait(20ms);
until(%HITID%="chest");
wait(200ms);
key(use);
#baucount=0;
do();
if(%#baucount%>200);
keydown(jump);
wait(150ms);
keyup(jump);
do();
wait(20ms);
until(%HITID%="chest");
wait(80ms);
key(use);
wait(250ms);
//#baucount=0;
else;
wait(20ms);
inc(#baucount,1);
log(%#baucount%);
endif;
until(%GUI%="GUICHEST");
//Zerar o contador pós-aberto para não bugar com soma de 'mini-esperas'
if(%GUI%="GUICHEST");
#baucount=0;
//log(%#baucount%);
endif;
wait(200ms);
//Guardando
for(#slt,54,71);
slotclick(%#slt%,l,true);
wait(50ms);
next;
getslotitem(53,&idli);
ifmatches(%&idli%,"air");
else;
if(%#bau%>2);
log("&5&l%Fim dos Baus");
#bau=1;
else;
inc(#bau,1);
log("&5&l%Novo Bau - &4%#bau%");
endif;
endif;
wait(100ms);
gui();
wait(100ms);
keydown(jump);
wait(150ms);
keyup(jump);
wait(200ms);
look(west);
unset(@guardalivro);
endif;
keydown(sneak);
wait(150ms);
keyup(sneak);
wait(50ms);
loop;
endif;
##################################
##################################
####End **Xylic's** Herbalismo####
##################################
##################################
##########Level 11 Mato##########
}$$
&version="v8.7-s-a";
#####################################
#####################################
##############**Xylic**##############
#############Herbalismo##############
#################v8##################
#####################################
#####################################
# ssssssy:
# +++++hhhhdddy++
# -----ddddmhhhyyhhddd--`
# mmmmmyyyyyddhyyyyyyydd+
# mmmmmyyyyyyyyyyhhhhhyyysssshdd
#yyyyyhhhhhyyyyyyyyyyyyyyyhyyyysssssss:
#dddhhyyyyyyysssssssssssssyyyssooosshhsss
#ddhyyssssssssssssssssssssyysoosssssooyhh
#ddhyyyyssssssyyooooosssoooosssyyyyy..:++
#hhyss../sssssooyysssoooooyyyyy--.``--/oo
#hhyss``.--sssoosssooyyyys--:::...--ssyhh
#//oyy::-``/+sssssss /+++.----+++++hhddd
# :ssyy/..``:++ooooo..--- /:::hyyyysssss
# ddyss `.......--..`yyyyyhhhhh
# +ddss: -----yyyyyhhhhh
# `--hhs++ooooohhhhh-----
# //oyyyyyyyyyyy
# :sssssso
match(%&version%,"v(.+).(.+)-(.+)-(.+)",{#herbuild,#herminor,&heralbest,&abefec});
@#herbuild=%#herbuild%;
@#herminor=%#herminor%;
@&heralbest=%&heralbest%;
ifmatches(%&heralbest%,"-");&stability="Bleeding Edge";endif;
ifmatches(%&heralbest%,"a");&stability="Fase Alpha";endif;
ifmatches(%&heralbest%,"b");&stability="Fase Beta";endif;
ifmatches(%&heralbest%,"s");&stability="Estável";endif;
ifmatches(%&abefec%,"a");&liber="&3Publica";endif;
ifmatches(%&abefec%,"f");&liber="&4Fechada";endif;
@&stability=%&stability%;
@&liber=%&liber%;
&hertecla=%KEYNAME%;
@&hertecla=%&hertecla%;
if(@herbax);
unset(@herbax);
unset(@guardalivro);
log(" ");
log("&6%PLAYER% &cDesligou a &4[Xylic] &6Herbalismo &4OFF");
log(" ");
stop();
else;
set(@herbax);
log(" ");
log("&6%PLAYER% &2Ligou a &4[Xylic] &6Herbalismo");
log(" ");
log("&4[Xylic] &6Herbalismo na Tecla &5&l%&hertecla%");
log(" ");
log("&9&lVersão: &5%#herbuild%.%#herminor% - &6&l%&stability% %&liber%");
log(" ");
echo("/g &b gg&5 #xylic &bherbalismo &5v%#herbuild%.%#herminor%");
wait(20ms);
// echo("/chat global");
//Vars
#bau=1;
#mao=0;
&baucana="sem";
@&baucana=%&baucana%;
&bau="chest";
&home="herbalismo";
wait(200ms);
look(west);
keydown(jump);
wait(100ms);
keyup(jump);
//Verificar se tenho livros pra guardar
gui(inventory);
#livg=0;
wait(500ms);
for(#slt,9,26);
getslotitem(%#slt%,&ta);
ifmatches(%&ta%,air);
else;
inc(#livg,1);
endif;
wait(100ms);
next;
if(%#livg%>0);
set(@guardalivro);
log("&2%#livg% &9livros para guardar &f- &cQueued");
else;
unset(@guardalivro);
log("&4%#livg% &9livros para guardar &f- &bComeçando Up");
endif;
wait(100ms);
gui();
//Upando
do;
do(10);
look(west);
look(,90);
do(100);
pick(red_mushroom,reeds);
key(use);
wait(1t);
key(attack);
//Bug sem cana na mão
ifmatches(%ITEM%,"air");
if(@pegacana);
else;
if(%#mao%>40);
set(@pegacana);
#mao=0;
else;
inc(#mao,1);
//log("%#mao%");
endif;
endif;
endif;
//log(100);
loop;
//Se Morrer
if(%HEALTH%<1);
set(@morri);
set(@pegacana);
do(1);
ifmatches(%GUI%,"GUIGAMEOVER");
respawn();
endif;
do();
wait(100ms);
until((%HEALTH%>1)&&(%GUI%="NONE"));
wait(1);
//home
echo("/home %&home%");
wait(6);
keydown(jump);
wait(150ms);
keyup(jump);
loop;
endif;
if(@pegacana);
//Procurar bau para pegar Cana
wait(600ms);
do();
ifmatches(%&baucana%,"sem");
look(south);
wait(600ms);
ifmatches(%HITID%,%&bau%);
&baucana=south;
@&baucana=%&baucana%;
//log(%&baucana%);
else;
endif;
endif;
ifmatches(%&baucana%,"sem");
look(north);
wait(600ms);
ifmatches(%HITID%,%&bau%);
&baucana=north;
@&baucana=%&baucana%;
//log(%&baucana%);
else;
endif;
endif;
until(%&baucana%!="sem");
//Abrindo Bau de cana
wait(500ms);
look(%@&baucana%);
do();
wait(20ms);
until(%HITID%="chest");
key(use);
do();
wait(20ms);
until(%GUI%="GUICHEST");
wait(600ms);
//Pegando Canas
#slot=0;
do();
getslotitem(53,&id,#quant);
slotclick(%#slot%,l,true);
wait(80ms);
if(%#slot%>53);
#slot=0;
else;
#slot=%#slot%+1;
endif;
getslotitem(81,&id,#quant);
until(%&id%!="air");
unset(@pegacana);
gui();
do();
wait(10ms);
until(%GUI%="NONE");
endif;
loop;
//Guardar se pegou livro (Adicionar a outra na onchat para guardar)
if(@guardalivro);
wait(200ms);
keydown(jump);
wait(150ms);
keyup(jump);
wait(200ms);
if(#bau<2);
look(east);
endif;
if(#bau=2);
look(east);
look(,60);
endif;
if(#bau>2);
look(east);
endif;
do();
wait(20ms);
until(%HITID%="chest");
wait(200ms);
key(use);
#baucount=0;
do();
if(%#baucount%>200);
keydown(jump);
wait(150ms);
keyup(jump);
do();
wait(20ms);
until(%HITID%="chest");
wait(80ms);
key(use);
wait(250ms);
//#baucount=0;
else;
wait(20ms);
inc(#baucount,1);
log(%#baucount%);
endif;
until(%GUI%="GUICHEST");
//Zerar o contador pós-aberto para não bugar com soma de 'mini-esperas'
if(%GUI%="GUICHEST");
#baucount=0;
//log(%#baucount%);
endif;
wait(200ms);
//Guardando
for(#slt,54,71);
slotclick(%#slt%,l,true);
wait(50ms);
next;
getslotitem(53,&idli);
ifmatches(%&idli%,"air");
else;
if(%#bau%>2);
log("&5&l%Fim dos Baus");
#bau=1;
else;
inc(#bau,1);
log("&5&l%Novo Bau - &4%#bau%");
endif;
endif;
wait(100ms);
gui();
wait(100ms);
keydown(jump);
wait(150ms);
keyup(jump);
wait(200ms);
look(west);
unset(@guardalivro);
endif;
keydown(sneak);
wait(150ms);
keyup(sneak);
wait(50ms);
loop;
endif;
##################################
##################################
####End **Xylic's** Herbalismo####
##################################
##################################
##########Level 11 Mato##########
}$$
Macro para religar se cair ou servidor reiniciar.
Adicionar na OnJoinGame ou na sua onchat se usar uma onchat que religa macros.
$${
if(@herbax);
wait(8);
echo("/home herbalismo");
wait(5);
unset(@herbax);
do();
gui(MACROPLAYBACK);
wait(100ms);
type(%@&hertecla%);
wait(1);
log("&bReativando a &4[Xylic] &6Herbalismo")
until(@herbax);
else;
endif;
}$$
if(@herbax);
wait(8);
echo("/home herbalismo");
wait(5);
unset(@herbax);
do();
gui(MACROPLAYBACK);
wait(100ms);
type(%@&hertecla%);
wait(1);
log("&bReativando a &4[Xylic] &6Herbalismo")
until(@herbax);
else;
endif;
}$$
Provavelmente esqueci de alguma coisa, atualizo aqui depois.
Pode ter alguns bugs que eu não arrumei, qualquer coisa me mande MP.