msalucci aqui, depois de muito tempo sem jogar minecraft to voltando aos poucos e estou aprendendo syntaxe das macros, faço faculdade na área de programação, por isso acho que é mais uma oportunidade de aprendizado. vamos ao que interessa:
percebi que GRANDE parte das macros postadas aqui no fórum utilizam poucos baús e quando tem disponibilidade de uma grande quantidade você deve dar um sethome para cada baú ou conjunto que além de poluir seu listhomes praticamente impossibilita a utilização por quem não é vip, pensando nisso eu desenvolvi um pequeno projeto chamado Mstorage (Multi-storage) que sim, foi inspirado no meu nick.
Basicamente com apenas 1 sethome é possivel ter TONELADAS de baús, porem não recomendo quantidades acimas de 400 baús por exemplo que tornaria lento o processo de andar até o baú.
Basicamente esta macro sozinha não faz nada, é um mini-projeto muito simples e pode ser importado para a maioria das macros que utilizam baús para guardar ou recolher items.
Atualmente é possivel apenas testa-la setando a home mstorage no primeiro baú do conjunto, a macro irá andar para a direita e abrir o baú de acordo com o numero informado, a contagem é feita de cima para baixa depois da esquerda para a direita, deve ser empilhados 4 baús (duplos) com a menor face para fora.
deixem links com sugestões de que macro eu devo implantar o multi-storage, o(s) mais votado(s) eu mesmo irei importar.
forte abraço , flw.
macro code:
$${
if(mstorage);
log("&4[Macro] Mstorage [OFF]");unset(mstorage);keyup(RIGHT);stop();
else;
log("&2[Macro] Mstorage [ON]");set(mstorage);
do();
PROMPT(#nbau,$$?,"Digite o numero do baú:");
wait(100ms);#msxpos=%XPOS%;#mszpos=%ZPOS%;}$$/home mstorage$${do();wait(100ms);until((%#msxpos%!=%XPOS%)|(%#mszpos%!=%ZPOS%));wait(200ms);keydown(jump);wait(100ms);keyup(jump);wait(1);
log("&2[Macro] Cheguei na home!");#msxpos=%XPOS%;#mszpos=%ZPOS%;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
if(%#nbau%<5);#calctemp=0;
else;#calctemp=(%#nbau%-1)/4;endif;
//procura fileira
keydown(RIGHT);do();wait(10ms);until((%#mszpos%=%ZPOS%+%#calctemp%)|(%#mszpos%=%ZPOS%-%#calctemp%)|(%#msxpos%=%XPOS%+%#calctemp%)|(%#msxpos%=%XPOS%-%#calctemp%));keyup(RIGHT);
#calctemp=(%#nbau%-(%#calctemp%*4))-1;
//procura baú
if(%#calctemp%=0);look(+0,-45);endif;
if(%#calctemp%=1);look(+0,-35);endif;
if(%#calctemp%=2);look(+0,+0);endif;
if(%#calctemp%=3);look(+0,+35);endif;
gui();wait(1);key(use);wait(3);gui();
PROMPT(&return,$$?,"Acertei? S ou N");
ifmatches(%&return%,^[S|s]);wait(200ms);keydown(jump);wait(3);keyup(jump);wait(1);else;log("&2[Macro] Reporte o mal funcionamento no fórum!");unset(mstorage);stop();endif();
loop();
endif;
}$$
(BETA) - homes mstorage e upespada
$${
IF(espada);
log("&d[Phodalao-MS]&6Espadas 2.0 &4Off");
unset(espada);
stop();
else;
log("&d[Phodalao-MS]&6Espadas 2.0 &aOn");
log("&6[Ediçao 2.1 do macro, script melhorado]");
set(espada);
PROMPT(#nmax,$$?,"Digite o quantidade de baús:");#nbau=1;
IFMATCHES(%DIRECTION%,N);
&frente = NORTH;
ENDIF;
IFMATCHES(%DIRECTION%,S);
&frente = SOUTH;
ENDIF;
IFMATCHES(%DIRECTION%,W);
&frente = WEST;
ENDIF;
IFMATCHES(%DIRECTION%,E);
&frente = EAST;
ENDIF;
}$$/g #msalucci &4s2$${
do;
if(%DURABILITY%<100);
look(,90);
wait(10ms);
key(use);
wait(10ms);
key(use);
endif;
look(%&frente%);
look(,0);
do(40)
key(attack);
wait(150ms);
loop;
gui(inventory);getslotitem(35,#id,#stackq);
if(%#stackq%!=0);gui();
#li[] = 276;
#li[] = 279;
#li[] = 267;
do()
wait(100ms);#msxpos=%XPOS%;#mszpos=%ZPOS%;}$$/home mstorage$${do();wait(100ms);until((%#msxpos%!=%XPOS%)|(%#mszpos%!=%ZPOS%));wait(200ms);keydown(jump);wait(100ms);keyup(jump);wait(1);
log("&2[Macro] Cheguei na home!");#msxpos=%XPOS%;#mszpos=%ZPOS%;
&dir=%DIRECTION%;
ifmatches(%&dir%,N);&dir=NORTH;endif;
ifmatches(%&dir%,S);&dir=SOUTH;endif;
ifmatches(%&dir%,E);&dir=EAST;endif;
ifmatches(%&dir%,W);&dir=WEST;endif;
look(%&dir%);
if(%#nbau%<5);#calctemp=0;
else;#calctemp=(%#nbau%-1)/4;endif;
//procura fileira
keydown(RIGHT);do();wait(10ms);until((%#mszpos%=%ZPOS%+%#calctemp%)|(%#mszpos%=%ZPOS%-%#calctemp%)|(%#msxpos%=%XPOS%+%#calctemp%)|(%#msxpos%=%XPOS%-%#calctemp%));keyup(RIGHT);
#calctemp=(%#nbau%-(%#calctemp%*4))-1;
//procura baú
if(%#calctemp%=0);look(+0,-45);endif;
if(%#calctemp%=1);look(+0,-35);endif;
if(%#calctemp%=2);look(+0,+0);endif;
if(%#calctemp%=3);look(+0,+35);endif;
gui();wait(1);key(use);wait(3);
for(#i,54,89);
getslotitem(%#i%,#ide,#stack);INDEXOF(#li,#index,%#ide%);
if((#index = -1)&&(%#ide% != 0));
slotclick(%#i%,l,true);
wait(30ms);
endif;
next;
wait(250ms);
getslotitem(53,#id,#stack);
wait(250ms);
if(%#stack%!=0);
#nbau=%#nbau%+1;
if(%#nbau%=%nmax%-1);
unset(espada);
log("&d» &6Baús cheios?");log("&d» &6Espadas &c[OFF]");stop();
endif;
endif;
gui();
getslotitem(80,#id,#stackq);
until(%#stackq%!=0);
wait(100ms);#msxpos=%XPOS%;#mszpos=%ZPOS%;}$$/home upespada$${do();wait(100ms);until((%#msxpos%!=%XPOS%)|(%#mszpos%!=%ZPOS%));wait(200ms);keydown(jump);wait(100ms);keyup(jump);wait(1);
endif;
loop;
}$$