ENTREGUE [Macro] Construtor de Muros

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Inscreva-se agora!
Status
Não está aberto para novas respostas.

Phodalao

Lendário
VIP
Entrou
Jan 14, 2013
Mensagens
3,933
Cubos
0
É um macro simples para construir muros.

Você precisa por ele no EDIT FILES!
Não abra o inventário durante a construção, recomendado deixar o inventário lotado de blocos.
É recomendado que você inicie ele olhando para o Norte, e do seu lado DIREITO.

Bom, vamos ver como ele funciona:
F7nDbxU.gif


Então, quando você ligar ele ele vai te fazer 3 perguntas:
1. Altura máxima que você quer fazer.
2. Qual o comprimento?
3. Qual o comprimento?2

Vamos imaginar que minha region seja assim:
q7UFinN.png

Então eu quero fazer um muro com uma altura de 20 blocos, logo eu vou responder assim:
1. 20
2. 20
3. 60

Simples, espero que tenham entendido!


Macro
Macro que coloca um bloco por vez:
$${
if(boboconstrutor);
log(&6[&b!&6] &4Macro Desligado);
unset(boboconstrutor);
stop;else;
log(&6[&b!&6] &aIniciando o Trabalho);
set(boboconstrutor);
ifmatches(%DIRECTION%,N);&dir=NORTH;endif;
ifmatches(%DIRECTION%,S);&dir=SOUTH;endif;
ifmatches(%DIRECTION%,W);&dir=WEST;endif;
ifmatches(%DIRECTION%,E);&dir=EAST;endif;
if(%ITEM%=0);
log(&6[&b!&6] &aVocê Precisa Estar com um bloco na mão);
unset(boboconstrutor);stop;endif;
gui(INVENTORY);wait(500ms);
getslotitem(35,#i,#s);
if(%#s%=0);
log(&6[&b!&6] &aVocê precisa por algo no slot 35 (Ultimo SLOT));
log(&6[&b!&6] &aMacro Desligado!);gui;stop;
endif;gui;
PROMPT(#mx,$$?,Qual sera a altura MAXIMA?);
PROMPT(#q,$$?,Qual o Comprimento?);
PROMPT(#qq,$$?,Qual o Comprimento?2);
#bloco=%ITEM%;
#q=%#q%-1;
#qq=%#qq%-1;
#mn=%YPOS%;
#max=%YPOS%+%#mx%;
do;
if(%#mn%>=%#max%);keyup(sneak);
log(&6[&b!&6] &aTrabalho Encerrado);
unset(boboconstrutor);stop;endif;
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
//=================JUMP
do;
keydown(JUMP);pick(%#bloco%);
Key(use);until(%YPOS%=%#y%+1);
keyup(JUMP);

//=================FORWARD
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(FORWARD);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(FORWARD);key(use);
until((%ZPOS%=%#z%+%#q%)|(%ZPOS%=%#z%-%#q%)|(%XPOS%=%#x%-%#q%)|(%XPOS%=%#x%+%#q%));
keyup(FORWARD);key(use);wait(1ms);
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
//=================LEFT
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(LEFT);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(LEFT);key(use);
until((%ZPOS%=%#z%+%#qq%)|(%ZPOS%=%#z%-%#qq%)|(%XPOS%=%#x%-%#qq%)|(%XPOS%=%#x%+%#qq%));
keyup(LEFT);key(use);wait(1ms);

//====================BACK
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(BACK);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(BACK);key(use);
until((%ZPOS%=%#z%+%#q%)|(%ZPOS%=%#z%-%#q%)|(%XPOS%=%#x%-%#q%)|(%XPOS%=%#x%+%#q%));
keyup(BACK);key(use);wait(1ms);

//====================RIGHT
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(RIGHT);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(RIGHT);key(use);
until((%ZPOS%=%#z%+%#qq%)|(%ZPOS%=%#z%-%#qq%)|(%XPOS%=%#x%-%#qq%)|(%XPOS%=%#x%+%#qq%));
keyup(RIGHT);key(use);wait(1ms);
inc(#mn,1);
loop;
}$$
Macro que coloca dois blocos por vez:
$${
if(boboconstrutor);
log(&6[&b!&6] &4Macro Desligado);
unset(boboconstrutor);
stop;else;
log(&6[&b!&6] &aIniciando o Trabalho);
set(boboconstrutor);
ifmatches(%DIRECTION%,N);&dir=NORTH;endif;
ifmatches(%DIRECTION%,S);&dir=SOUTH;endif;
ifmatches(%DIRECTION%,W);&dir=WEST;endif;
ifmatches(%DIRECTION%,E);&dir=EAST;endif;
if(%ITEM%=0);
log(&6[&b!&6] &aVocê Precisa Estar com um bloco na mão);
unset(boboconstrutor);stop;endif;
gui(INVENTORY);wait(500ms);
getslotitem(35,#i,#s);
if(%#s%=0);
log(&6[&b!&6] &aVocê precisa por algo no slot 35 (Ultimo SLOT));
log(&6[&b!&6] &aMacro Desligado!);gui;stop;
endif;gui;
PROMPT(#mx,$$?,Qual sera a altura MAXIMA?);
PROMPT(#q,$$?,Qual o Comprimento?);
PROMPT(#qq,$$?,Qual o Comprimento?2);
#bloco=%ITEM%;
#q=%#q%-1;
#qq=%#qq%-1;
#mn=%YPOS%;
#max=%YPOS%+%#mx%;
do;
if(%#mn%>=%#max%);keyup(sneak);
log(&6[&b!&6] &aTrabalho Encerrado);
unset(boboconstrutor);stop;endif;
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
//=================JUMP
do;
keydown(JUMP);pick(%#bloco%);
Key(use);until(%YPOS%=%#y%+2);
keyup(JUMP);

//=================FORWARD
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(FORWARD);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(FORWARD);key(use);
until((%ZPOS%=%#z%+%#q%)|(%ZPOS%=%#z%-%#q%)|(%XPOS%=%#x%-%#q%)|(%XPOS%=%#x%+%#q%));
keyup(FORWARD);key(use);wait(1ms);
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
//=================LEFT
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(LEFT);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(LEFT);key(use);
until((%ZPOS%=%#z%+%#qq%)|(%ZPOS%=%#z%-%#qq%)|(%XPOS%=%#x%-%#qq%)|(%XPOS%=%#x%+%#qq%));
keyup(LEFT);key(use);wait(1ms);

//====================BACK
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(BACK);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(BACK);key(use);
until((%ZPOS%=%#z%+%#q%)|(%ZPOS%=%#z%-%#q%)|(%XPOS%=%#x%-%#q%)|(%XPOS%=%#x%+%#q%));
keyup(BACK);key(use);wait(1ms);

//====================RIGHT
#x=%XPOS%;#z=%ZPOS%;#y=%YPOS%;
do;
look(%&dir%);look(,90);
getslotitem(9,#id,#stacksize);
if(%#stacksize%=0);
keyup(RIGHT);
gui(INVENTORY);wait(500ms);
getslotitem(35,#id,#stacksize);
if(%#stacksize%=0);
log(&6[&b!&6] &4Seus Blocos Acabaram Senhor);
stop;elseif(%#stacksize%!=0);
for(#i,9,35);slotclick(%#i%,l,true);
wait(70ms);next;gui;endif;
endif;pick(%#bloco%);
keydown(sneak);keydown(RIGHT);key(use);
until((%ZPOS%=%#z%+%#qq%)|(%ZPOS%=%#z%-%#qq%)|(%XPOS%=%#x%-%#qq%)|(%XPOS%=%#x%+%#qq%));
keyup(RIGHT);key(use);wait(1ms);
inc(#mn,2);
loop;
}$$

Eu lembro que alguém tinha postado um, mas me pediram ontem na Shout, então bom uso!
 
BHBC disse:
Vou usar pra fazer muro de minha region :)
Boa
@EDIT: Funciona no 100x100 né?
Sim, mas você precisa lotar o inventário pra fazer isso!

ericknemet disse:
boa phodalao o/ queria um que construísse "tetos"...
Eu estava fazendo um desse, mas tive problemas com coordenadas negativas, mas eu já sei como resolver (.1) talvez eu poste quando eu criar coragem pra editar ele de novo!
 
Phodalao disse:
Sim, mas você precisa lotar o inventário pra fazer isso!

Eu estava fazendo um desse, mas tive problemas com coordenadas negativas, mas eu já sei como resolver (.1) talvez eu poste quando eu criar coragem pra editar ele de novo!
oks :p estarei no aguardo xd
 
LUCASE disse:
depoismque daço uma region 50x50 até a altura max voce posta isso? vsf
O cara disponibiliza o trabalho dele pra ajudar e tu ainda vem falar merda no tópico?!
Vaza muleke, vai chorar em outro lugar. --'

Vou te contar viu.... ¬¬


@topic
Futuramente vou precisar de um macro como esse..
Vlw por disponibilizar brother!
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo