Então Essa macro é baseada na macro de reparação do Jimmyfilips, porque a dele não estava funcionando no server propano.
O que a macro faz?
Ela gasta enxadas de Pedra, vai /home e repara elas, só isso.Se ela identifica que está faltando pedras ou faltando enxadas ela pega mais no bau!
Como utilizar a macro:
Você vai ter que fazer as traps de rep do exato modo que está aqui demonstrado, com as mesmas orientações norte/sul.
Você precisará de 2 homes a /home rep e uma /home 1
A trap de Rep é igual a da macro do Jimmyfilips, para fazer ela é simples:
Estando pronta as traps você precisa do código:
Código macro de reparação:
Lembre-se na 13º linha altere 2057 para as coordenadas do X do final do seu túnel de rep. (está #posfinal=2057; )
Essa macro usa o OnChat para saber que acabaram as pedras então coloque isso na sua macro de onchat:
Informações:
O que a macro faz?
Ela gasta enxadas de Pedra, vai /home e repara elas, só isso.Se ela identifica que está faltando pedras ou faltando enxadas ela pega mais no bau!
Como utilizar a macro:
Você vai ter que fazer as traps de rep do exato modo que está aqui demonstrado, com as mesmas orientações norte/sul.
Você precisará de 2 homes a /home rep e uma /home 1
A trap de Rep é igual a da macro do Jimmyfilips, para fazer ela é simples:
Você vai fazer um túnel desse jeito:
Lembrando de sempre deixar ar em cima dos blocos de terra (se tiver um bloco em cima da terra ela não vai ser arada, nem gastará a enxada).
A orientação desse túnel tem que ser Leste/oeste:
E terá que dar sethome rep na ponta leste do túnel (dê sethome olhando para o oeste).
O comprimento do túnel você que decide, eu recomendo não usar um menor que 50 (porque perderia muito tempo teleportado de volta ao início), usando 100 já está bom!
Você precisará das Coordenadas do final do seu túnel:
Na ponta Oeste dele, no final você precisa da Coordenadas do X: No meu caso ela é 2057. isso você terá que alterar na macro.
Já o local de reparação tem que ser assim:
Os blocos de ferro no lado Oeste, e os baus ao sul e ao leste.(dê sethome em cima do ponto roxo olhando para os blocos de ferro).
Seus baus terão que ser organizados da seguinte maneira:
Lembrando de sempre deixar ar em cima dos blocos de terra (se tiver um bloco em cima da terra ela não vai ser arada, nem gastará a enxada).
A orientação desse túnel tem que ser Leste/oeste:
E terá que dar sethome rep na ponta leste do túnel (dê sethome olhando para o oeste).
O comprimento do túnel você que decide, eu recomendo não usar um menor que 50 (porque perderia muito tempo teleportado de volta ao início), usando 100 já está bom!
Você precisará das Coordenadas do final do seu túnel:
Na ponta Oeste dele, no final você precisa da Coordenadas do X: No meu caso ela é 2057. isso você terá que alterar na macro.
Já o local de reparação tem que ser assim:
Os blocos de ferro no lado Oeste, e os baus ao sul e ao leste.(dê sethome em cima do ponto roxo olhando para os blocos de ferro).
Seus baus terão que ser organizados da seguinte maneira:
Estando pronta as traps você precisa do código:
Código macro de reparação:
Lembre-se na 13º linha altere 2057 para as coordenadas do X do final do seu túnel de rep. (está #posfinal=2057; )
$${
IF(repair);
LOG("&d{MACRO} &6Macro Reparação &4Off");
UNSET(repair);
KEYUP(LEFT):
keyup(RIGHT);
STOP();
ELSE;
LOG("&d{MACRO} &6Macro Reparação &2On");
SET(repair);
ENDIF;
#repslot=1;
#posfinal=2057;
#baurep=1;
#slothoe=0;
do;
do;
slot(%#repslot%);
if(%DURABILITY%<20);
if(%#repslot%=9);
#repslot=1;
}$$/home 1$${
wait( 8);
#posx=%XPOS%;
#posz=%ZPOS%;
slot(1);do(4);key(use);wait(250ms);loop();
slot(2);do(4);key(use);wait(250ms);loop();
slot(3);do(4);key(use);wait(250ms);loop();
slot(4);do(4);key(use);wait(250ms);loop();
slot(5);do(4);key(use);wait(250ms);loop();
slot(6);do(4);key(use);wait(250ms);loop();
slot(7);do(4);key(use);wait(250ms);loop();
slot( 8);do(4);key(use);wait(250ms);loop();
slot(9);do(4);key(use);wait(250ms);loop();
for(#i,1,9);
getslotitem(%#i%,&id,);
if(%&id%="air");
set(hoe);
inc(#slothoe);
endif();
next;
if(hoe);
look(north);
#posx=%XPOS%;
#posz=%ZPOS%;
do();
keydown(RIGHT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(RIGHT);
keyup(RIGHT);
loop;
log(faltando enxadas! pegando mais.);
log(faltam %#slothoe% enxadas!);
if(%#bauhoe%=1);wait(100ms);look(150,0);endif();
if(%#bauhoe%=2);wait(100ms);look(150,345);endif();
wait(1);
key(use);
wait(2);
for(#i,0,53);
getslotitem(%#i%,&id,#stack);
if(%#slothoe%>0);
if(%#stack%!=0);
wait(35ms);
slotclick(%#i%,l,true);
dec(#slothoe);
endif;
endif;
next;
wait(300ms);
getslotitem(53,&id,#stack);
wait(55ms);
if(%#stack%=0);
inc(#bauhoe);
endif();
gui();
unset(hoe);
endif;
gui();
if(@semcoble);
if(%XPOS%=%#posx%);
look(north);
do();
keydown(RIGHT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(RIGHT);
keyup(RIGHT);
loop;
endif;
if(%#baurep%=1);wait(100ms);look(90,330);log(bau 1);endif();
if(%#baurep%=2);wait(100ms);look(90,0);log(bau 2);endif();
if(%#baurep%=3);wait(100ms);look(90,30);log(bau 3);endif();
if(%#baurep%=4);wait(100ms);look(150,30);log(bau 4);endif();
do(1);
wait(1);
key(use);
wait(2);
loop;
for(#slotss,0,53);
wait(35ms);
slotclick(%#slotss%,l,true);
next;
wait(300ms);
getslotitem(53,#id,#stack);
wait(55ms);
if(%#stack%=0);
inc(#baurep);
endif();
unset(@semcoble);
endif;
gui();
wait(1t);
look(west);
wait(500ms);
gui();
slot(1);do(4);key(use);wait(1t);loop();
slot(2);do(4);key(use);wait(1t);loop();
slot(3);do(4);key(use);wait(1t);loop();
slot(4);do(4);key(use);wait(1t);loop();
slot(5);do(4);key(use);wait(1t);loop();
slot(6);do(4);key(use);wait(1t);loop();
slot(7);do(4);key(use);wait(1t);loop();
slot( 8);do(4);key(use);wait(1t);loop();
slot(9);do(4);key(use);wait(1t);loop();
}$$/home rep $${
wait( 8);
else;
inc(#repslot);
wait(1t);
slot(%#repslot%);
endif;endif;
if(%XPOS%=%#posfinal%);
slot(%#repslot%);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,300);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(,90);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(180,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,300);wait(1t);key(USE);wait(1t);
}$$/home rep $${
wait( 8);
endif;
slot(%#repslot%);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,300);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(,90);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(180,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,300);wait(1t);key(USE);wait(1t);
look(NORTH);wait(1t);
#posx=%XPOS%;
#posz=%ZPOS%;
do();
keydown(LEFT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(LEFT);
keyup(LEFT);
loop;
loop;
}$$
IF(repair);
LOG("&d{MACRO} &6Macro Reparação &4Off");
UNSET(repair);
KEYUP(LEFT):
keyup(RIGHT);
STOP();
ELSE;
LOG("&d{MACRO} &6Macro Reparação &2On");
SET(repair);
ENDIF;
#repslot=1;
#posfinal=2057;
#baurep=1;
#slothoe=0;
do;
do;
slot(%#repslot%);
if(%DURABILITY%<20);
if(%#repslot%=9);
#repslot=1;
}$$/home 1$${
wait( 8);
#posx=%XPOS%;
#posz=%ZPOS%;
slot(1);do(4);key(use);wait(250ms);loop();
slot(2);do(4);key(use);wait(250ms);loop();
slot(3);do(4);key(use);wait(250ms);loop();
slot(4);do(4);key(use);wait(250ms);loop();
slot(5);do(4);key(use);wait(250ms);loop();
slot(6);do(4);key(use);wait(250ms);loop();
slot(7);do(4);key(use);wait(250ms);loop();
slot( 8);do(4);key(use);wait(250ms);loop();
slot(9);do(4);key(use);wait(250ms);loop();
for(#i,1,9);
getslotitem(%#i%,&id,);
if(%&id%="air");
set(hoe);
inc(#slothoe);
endif();
next;
if(hoe);
look(north);
#posx=%XPOS%;
#posz=%ZPOS%;
do();
keydown(RIGHT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(RIGHT);
keyup(RIGHT);
loop;
log(faltando enxadas! pegando mais.);
log(faltam %#slothoe% enxadas!);
if(%#bauhoe%=1);wait(100ms);look(150,0);endif();
if(%#bauhoe%=2);wait(100ms);look(150,345);endif();
wait(1);
key(use);
wait(2);
for(#i,0,53);
getslotitem(%#i%,&id,#stack);
if(%#slothoe%>0);
if(%#stack%!=0);
wait(35ms);
slotclick(%#i%,l,true);
dec(#slothoe);
endif;
endif;
next;
wait(300ms);
getslotitem(53,&id,#stack);
wait(55ms);
if(%#stack%=0);
inc(#bauhoe);
endif();
gui();
unset(hoe);
endif;
gui();
if(@semcoble);
if(%XPOS%=%#posx%);
look(north);
do();
keydown(RIGHT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(RIGHT);
keyup(RIGHT);
loop;
endif;
if(%#baurep%=1);wait(100ms);look(90,330);log(bau 1);endif();
if(%#baurep%=2);wait(100ms);look(90,0);log(bau 2);endif();
if(%#baurep%=3);wait(100ms);look(90,30);log(bau 3);endif();
if(%#baurep%=4);wait(100ms);look(150,30);log(bau 4);endif();
do(1);
wait(1);
key(use);
wait(2);
loop;
for(#slotss,0,53);
wait(35ms);
slotclick(%#slotss%,l,true);
next;
wait(300ms);
getslotitem(53,#id,#stack);
wait(55ms);
if(%#stack%=0);
inc(#baurep);
endif();
unset(@semcoble);
endif;
gui();
wait(1t);
look(west);
wait(500ms);
gui();
slot(1);do(4);key(use);wait(1t);loop();
slot(2);do(4);key(use);wait(1t);loop();
slot(3);do(4);key(use);wait(1t);loop();
slot(4);do(4);key(use);wait(1t);loop();
slot(5);do(4);key(use);wait(1t);loop();
slot(6);do(4);key(use);wait(1t);loop();
slot(7);do(4);key(use);wait(1t);loop();
slot( 8);do(4);key(use);wait(1t);loop();
slot(9);do(4);key(use);wait(1t);loop();
}$$/home rep $${
wait( 8);
else;
inc(#repslot);
wait(1t);
slot(%#repslot%);
endif;endif;
if(%XPOS%=%#posfinal%);
slot(%#repslot%);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,300);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(,90);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(180,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,300);wait(1t);key(USE);wait(1t);
}$$/home rep $${
wait( 8);
endif;
slot(%#repslot%);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,300);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(0,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(,90);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,30);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(180,0);wait(1t);key(USE);wait(1t);
IF(%DURABILITY%<20);BREAK();ENDIF();
look(200,300);wait(1t);key(USE);wait(1t);
look(NORTH);wait(1t);
#posx=%XPOS%;
#posz=%ZPOS%;
do();
keydown(LEFT);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%- 1));
keyup(LEFT);
keyup(LEFT);
loop;
loop;
}$$
Essa macro usa o OnChat para saber que acabaram as pedras então coloque isso na sua macro de onchat:
Se você já tem alguma macro no onchat simplesmente coloque isso antes do final:
Se você não tem nenhuma macro no onchat use esse código:
IFMATCHES(%CHATCLEAN%,"Você precisa de mais Cobblestone");
set(@semcoble);
ENDIF;
set(@semcoble);
ENDIF;
$${IFMATCHES(%CHATCLEAN%,"Você precisa de mais Cobblestone");
set(@semcoble);
ENDIF;}$$
set(@semcoble);
ENDIF;}$$
Informações:
Essa macro é para não vips, por isso o delay depois do /home é grande, como eu não sou vip ainda no propano não pude testar um código para vips, caso você seja vip e tenha alterado o delay do /home e tenha dado certo por favor me avise para mim poder postar esse código aqui também.
Macro do Jimmyfilips:
http://forum.craftlandia.com.br/ipb/index.php?/topic/282756-172-repara%C3%A7%C3%A3o-20/
Macro do Jimmyfilips:
http://forum.craftlandia.com.br/ipb/index.php?/topic/282756-172-repara%C3%A7%C3%A3o-20/