$${
//Macro Colhedor de cana para 1.8
//Desenvolvido por Nugou
if(cc);
log(&6[Macro]&b Colhedor de cana &4[Off]);
unset(cc);
keyup(sneak);
keyup(forward);
keyup(left);
keyup(right);
if(pos);
#xtemp=%XPOS%;#ytemp=%YPOS%;#ztemp=%ZPOS%;
}$$/sethome canatemp$${
set(reload);
log(&6[Macro]&b Posição salva!);
elseif(reload);
log(&6[Macro]&b Posição não reconhecida);
log(&6[Macro]&b Posição não será salva!);
log(&6[Macro]&b Sua home foi atualizada para antiga posição);
endif;
stop;
else;
set(cc);
if(reload);
unset(reset);set(&cor[1],&6&l»);set(&cor[2],&0);unset(p1);set(repos);
do;
clearchat;
log(&b====&6Continuar de onde paro?&b====);
log( &61 &b- %&cor[1]%Sim &f--- %&cor[2]%Não );
log( &60 &b- &fContinuar);
if(KEY_1);wait(1t);if(!p1);set(&cor[1],&6&l»);set(&cor[2],&0);unset(reset);set(repos);set(p1);set(reload);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(reload);set(reset);unset(repos);endif;endif;
if(KEY_0);break;endif;
loop;
endif;
if(reset);
wait(500ms);
set(&cor[1],&6&l»);set(&cor[2],&0);unset(p1);set(vender);
do;
clearchat;
log(&b====&6Vender na warp loja&b====);
log( &61 &b- %&cor[1]%Sim &f--- %&cor[2]%Não );
log( &60 &b- &fContinuar);
if(KEY_1);wait(1t);if(!p1);set(&cor[1],&6&l»);set(&cor[2],&0);set(vender);set(p1);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(vender);endif;endif;
if(KEY_0);break;endif;
loop;
prompt(#andar,$$?,Quantos andares?(ate 6));
if(%#andar%=0);
log(&6[Macro]&b A quantidade de andar é igual a zero !!!);
log(&6[Macro]&b Finalizando macro ....);
unset(cc);
set(reload);
unset(pos);
stop;
endif;
if(%#anda%>6);
log(&6[Macro]&b A quantidade de andar é maior que 6 !!!);
log(&6[Macro]&b Finalizando macro ....);
unset(cc);
set(reload);
unset(pos);
stop;
endif;
if(%#andar%>1);
prompt(#nt,$$?,Deseja começar por qual andar?);
else;
#nt=1;
endif;
if(%#nt%>%#andar%);
log(&6[Macro]&b O andar selecionado é maior que a quantidade de andar !!!);
log(&6[Macro]&b Finalizando macro ....);
unset(cc);
set(reload);
unset(pos);
stop;
endif;
if(%#nt%=0);
log(&6[Macro]&b O andar selecionado é igual a zero !!!);
log(&6[Macro]&b Finalizando macro ....);
unset(cc);
set(reload);
unset(pos);
stop;
endif;
#rod=1;
endif;
set(pos);
#fil=1;
#bau=0;
#temp=0;
&det="air|stone_slab|wooden_slab|sandstone_slab|cobblestone_slab|brick_slab|stone_brick_slab|nether_brick_slab|quartz_slab";
&terrain="grass|sand|soul_sand|dirt|farmland";
}$$/g Colhendo com a macro do #nugou$${
log(&6[Macro]&b Colhedor de cana &2[On]);
do;
do;
#x=%XPOS%;#z=%ZPOS%;wait(100ms);
if(repos);
do;
}$$/home canatemp$${
wait(10);
until((%XPOS%=%#xtemp%)&&(%YPOS%=%#ytemp%)&&(%ZPOS%=%#ztemp%));
unset(repos);
else;
if(%#nt%=1);}$$/home cana1$${endif;
if(%#nt%=2);}$$/home cana2$${endif;
if(%#nt%=3);}$$/home cana3$${endif;
if(%#nt%=4);}$$/home cana4$${endif;
if(%#nt%=5);}$$/home cana5$${endif;
if(%#nt%=6);}$$/home cana6$${endif;
do(2);log(&6[Macro]&b Teleportando....);wait(5);until((%XPOS%!=%#x%)|(%ZPOS%!=%#z%));
endif;
wait(2);
if(!reload);
ifmatches(%DIRECTION%,N);&dir=NORTH;#frente_z[1]=-1;#frente_x[1]=0;#frente_z[2]=1;#frente_x[2]=0;endif;
ifmatches(%DIRECTION%,S);&dir=SOUTH;#frente_z[1]=1;#frente_x[1]=0;#frente_z[2]=-1;#frente_x[2]=0;endif;
ifmatches(%DIRECTION%,W);&dir=WEST;#frente_z[1]=0;#frente_x[1]=-1;#frente_z[2]=0;#frente_x[2]=1;endif;
ifmatches(%DIRECTION%,E);&dir=EAST;#frente_z[1]=0;#frente_x[1]=1;#frente_z[2]=0;#frente_x[2]=-1;endif;
look(%&dir%);
//condição primaria
//norte
ifmatches(%&dir%,NORTH);
getidrel(+1,0,0,&bl1);//direita
getidrel(-1,0,0,&bl2);//esquerda
ifmatches(%&bl1%,%&det%);
&ld[1]=left;
&ld[2]=right;
endif;
ifmatches(%&bl2%,%&det%);
&ld[1]=right;
&ld[2]=left;
endif;
&lok[1]=NORTH;
&lok[2]=SOUTH;
endif;
//sul
ifmatches(%&dir%,SOUTH);
getidrel(-1,0,0,&bl1);//direita
getidrel(+1,0,0,&bl2);//esquerda
ifmatches(%&bl1%,%&det%);
&ld[1]=left;
&ld[2]=right;
endif;
ifmatches(%&bl2%,%&det%);
&ld[1]=right;
&ld[2]=left;
endif;
&lok[1]=SOUTH;
&lok[2]=NORTH;
endif;
//leste
ifmatches(%&dir%,WEST);
getidrel(0,0,-1,&bl1);//direita
getidrel(0,0,+1,&bl2);//esquerda
ifmatches(%&bl1%,%&det%);
&ld[1]=left;
&ld[2]=right;
endif;
ifmatches(%&bl2%,%&det%);
&ld[1]=right;
&ld[2]=left;
endif;
&lok[1]=WEST;
&lok[2]=EAST;
endif;
//oeste
ifmatches(%&dir%,EAST);
getidrel(0,0,+1,&bl1);//direita
getidrel(0,0,-1,&bl2);//esquerda
ifmatches(%&bl1%,%&det%);
&ld[1]=left;
&ld[2]=right;
endif;
ifmatches(%&bl2%,%&det%);
&ld[1]=right;
&ld[2]=left;
endif;
&lok[1]=EAST;
&lok[2]=WEST;
endif;
endif;
///////////////////////////////////////////////
///////////////////////////////////////////////
do;
do;
getidrel(0,-1,0,&piso);
ifmatches(%&piso%,%&terrain%);
else;
do;
keyup(forward);
log(&6[Macro]&b Teleportando....);
}$$/home canatemp$${
wait(10);
until((%XPOS%=%#xtemp%)&&(%YPOS%=%#ytemp%)&&(%ZPOS%=%#ztemp%));
endif;
look(%&lok[%#rod%]%);
ifmatches(%GUI%,CHAT|INVENTORY);
keyup(forward);
log(&6[Macro]&b Chat ou inventario aberto !!!&6 Feche-o para continuar);
do;until(%GUI%="NONE");
endif;
keydown(forward);
getidrel(0,0,0,&blc);if((%&blc%!="reeds"));look(,90);wait(50ms);key(use);wait(10ms);else;if(%HITID%="reeds");key(attack);endif;endif;
if(KEY_P);
keyup(forward);
wait(1);
if(KEY_P);
unset(pos);set(reload);
keyup(forward);
#xtemp=%XPOS%;#ytemp=%YPOS%;#ztemp=%ZPOS%;
}$$/sethome canatemp$${
log(&6[Macro]&b Macro Pausado ....);
log(&6[Macro]&b Aperte &6P &bnovamente para voltar a macro....);
wait(2);
do;
if(KEY_P);
wait(1);
if(KEY_P);
if((%XPOS%=%#xtemp%)|(%YPOS%=%#ytemp%)|(%ZPOS%=%#ztemp%));
log(&6[Macro]&b Voltando a funcionar !!!);
else;
do;
log(&6[Macro]&b Teleportando....);
}$$/home canatemp$${
wait(5);
until((%XPOS%=%#xtemp%)&&(%YPOS%=%#ytemp%)&&(%ZPOS%=%#ztemp%));
endif;
wait(1);
set(pos);unset(reload);
break;
endif;
endif;
loop;
endif;
endif;
getidrel(%#frente_x[%#rod%]%,0,%#frente_z[%#rod%]%,&block);
while(%&block%="reeds");
keyup(forward);
look(+180,);
do;
#x=%XPOS%;#z=%ZPOS%;
do;
inc(#temp);
if(%#temp%=50);
break;
endif;
keydown(%&ld[%#rod%]%);
keydown(sneak);
look(,90);
ifmatches(%HITID%,%&terrain%);key(use);endif;
pick(%&item%);
until((%XPOS%=%#x%+1)|(%XPOS%=%#x%-1)|(%ZPOS%=%#z%+1)|(%ZPOS%=%#z%-1));
getidrel(0,-1,0,&block);
if(%#temp%=50);
break;
else;
#temp=0;
endif;
until((%&block%="dirt")|(%&block%="grass")|(%&block%="sand"));
wait(100ms);
keyup(%&ld[%#rod%]%);
keyup(sneak);
}$$/sethome canatemp$${
do;gui(inventory);wait(1);until(%GUI%="GUIINVENTORY");
#vazio=0;
for(#i,9,44);
getslotitem(%#i%,&id);
ifmatches(%&id%,"air");
inc(#vazio);
endif;
next;
if(%#vazio%<4);
do;gui();until(%GUI%="NONE");
#x=%XPOS%;#z=%ZPOS%;
#xtemp=%XPOS%;#ytemp=%YPOS%;#ztemp=%ZPOS%;
if(vender);
}$$/sethome canatemp$${wait(50ms);
log(&6[Macro]&b %#vazio% slot disponivel -- Indo vender);
do;log(&6[Macro]&b Teleportando....);
}$$/home vendercana$${
wait(10);
until((%XPOS%!=%#x%)&&(%ZPOS%!=%#z%));
wait(3);
do;
if(%HITID%="wall_sign");
key(attack);
wait(1);
break;
endif;
loop;
else;
log(&6[Macro]&b %#vazio% slot disponivel -- Indo guarda);
do;
log(&6[Macro]&b Teleportando....);
}$$/home canabau$${
wait(10);
until((%XPOS%!=%#x%)&&(%ZPOS%!=%#z%));
unset(pos);set(reload);
do(3);keydown(jump);wait(5t);loop;
keyup(jump);
wait(1);
#x = %XPOS%;
#z = %ZPOS%;
wait(1);
do;
#exit = 0;
do;
ifmatches(%DIRECTION%,N);getidrel(0,%#bau%,-2,&vbau);&dir_bau=North;#pos = %XPOS%;#posf = %#x% + (%#fil% - 1);endif;
ifmatches(%DIRECTION%,S);getidrel(0,%#bau%,2,&vbau);&dir_bau=South;#pos = %XPOS%;#posf = %#x% - (%#fil% - 1);endif;
ifmatches(%DIRECTION%,W);getidrel(-2,%#bau%,0,&vbau);&dir_bau=West;#pos = %ZPOS%;#posf = %#z% - (%#fil% - 1);endif;
ifmatches(%DIRECTION%,E);getidrel(2,%#bau%,0,&vbau);&dir_bau=East;#pos = %ZPOS%;#posf = %#z% + (%#fil% - 1);endif;
look(%&dir_bau%);
if(%#bau% = 0);look(,-62);endif;
if(%#bau% = 1);look(,-50);endif;
if(%#bau% = 2);look(,-25);endif;
if(%#bau% = 3);look(,0);endif;
if(%#bau% = 4);look(,35);endif;
if(%#pos% != %#posf%);keydown(right);keydown(sneak);endif;
until(%#pos% = %#posf%);
wait(100ms);
keyup(right);
keyup(sneak);
if((%&vbau%="chest")|(%&vbau%="trapped_chest"));
do;key(use);wait(1);until(%GUI% = "GUICHEST");
wait(1);
#sbv = 0;
for(#i,0,53);
getslotitem(%#i%,&id);
if(%&id% = "air");
#sbv = 1;
break;
endif;
next;
if(%#sbv% = 1);
for(#i,54,89);
getslotitem(%#i%,&id);
ifmatches(%&id%,%&item%);
slotclick(%#i%,l,true);
wait(150ms);
endif;
next;
#exit = 0;
for(#i,0,53);
getslotitem(%#i%,&id);
if(%&id% = "air");
#exit = 1;
break;
endif;
next;
if(%#exit% = 0);
inc(#bau);
gui();
if(%#bau% = 5);
#bau = 0;
inc(#fil);
endif;
endif;
gui();
else;
inc(#bau);
if(%#bau% = 5);
#bau = 0;
inc(#fil);
endif;
gui();
endif;
else;
log(&6[Macro] &bAcabo os baus!!!);
log(&6[Macro]&b Colhedor de cana &4[Off]);
unset(cc);
stop;
endif;
until(%#exit% = 1);
do;
log(&6[Macro]&b Teleportando....);
}$$/home canatemp$${
wait(10);
until((%#xtemp%=%XPOS%)&&(%#ytemp%=%YPOS%)&&(%#ztemp%=%ZPOS%));
wait(1);
set(pos);unset(reload);
endif;
else;
do;gui();wait(1);until(%GUI%="NONE");
log(&6[Macro]&b %#vazio% slot disponivel -- continuando a colheita);
endif;
if(%#rod%=1);#rod=2;else;#rod=1;endif;
until(%#temp%=50);
inc(#nt);
until(%#nt%>%#andar%);
unset(reload);
log(&6[Macro]&b Fim do ultimo andar !!!);
log(&6[Macro]&b Voltando ao primeiro andar !!!);
#nt=1;
loop;
endif;
}$$