faz um macro pra mim e edita outro ?Nugou disse:Olá.....
Como tinha falado, estava criando um macro de escavação, mas era apenas para 1.8, porem alguns me pediram para fazer para 1.5 e 1.7 então resolvi fazer. Demorei mais por causa que tinha que fazer a macro onchat funcionar nos server que não precisa de senha como o titan e premium.
ChangeLog:
03/11/2015 --
--Criação do tópico.
07/11/2015 --
--Mudanças da macro onchat e press para aceita mutil contas.(fakes)
--Mudança na macro da 1.8 para aceitas as mudanças.
Como funciona?
--Coloca bloco e escava o bloco automaticamente, assim upando escavação.
--Repara se estiver com durabilidade baixa ou troca de pá.
--Pega mais pá no bau se todas da hotbars estiverem gastas.
--Guarda em baus infinitos os itens que você selecionar.
--Guarda os tesouros em um bau separado.
--Pega mais bloco em dois baus.
--Pega mais item para reparar caso acabe do inventario.
OBS: não funciona em segundo plano na 1.7 e 1.8
Como instalar?
Macro de escavação
1-Aperte "Shift+Grave" para entrar na tela de bind do modmacro
2-escolha uma tecla, de preferencia que esteja cinza.
3-na caixa preta, escolha um nome para o comando, $$<nome.txt>, em que "nome" é o nome de sua preferencia.
4-inda na mesma tela, aperte em "arquivo" ou "edit file".
5-na caixa preta coloque o mesmo nome que você escolheu na tela anterior, apos isso aperte em "criar".
6-Na tela seguinte, você ira colar a macro que esta logo abaixo de acordo com sua versão.
7-Apos colar a macro, aperte em salvar, na proxima tela aperte em salvar novamente, em bom up.
A macro do onchat.
1 - Aperte "Shift+Grave" para entrar na tela de bind do modmacro.[/background]
2 - Aperte em uma seta que esta apontada para a direita na parte superior da tela.[/background]
3 - Na tela seguinte, aperte em "onchat".[/background]
4 - na caixa preta, coloque o nome de "nugou". Ficara assim: $$<nugou.txt>[/background]
5 - Ainda na mesma tela, aperte em "arquivo" ou "edit file".[/background]
6 - na caixa preta coloque o mesmo nome que você escolheu na tela anterior, apos isso aperte em "criar".
7 - Na tela seguinte, você ira colar a macro que esta logo abaixo chamada onchat.[/background]
8 - Apos colar a macro, aperte em salvar, na proxima tela aperte em salvar novamente, em bom up.
Macro auxiliar "press.txt" apenas em server 1.8(propano)
1-Aperte "Shift+Grave" para entrar na tela de bind do modmacro.
2-escolha uma tecla.
3-aperte em "arquivo" ou "edit file".
4-na caixa preta coloque o mesmo nome "press"(minusculo obrigatoriamente), apos isso aperte em "criar".
5-Na tela seguinte, você ira colar a macro que esta logo abaixo.
6-Apos colar a macro, aperte em salvar, na proxima tela aperte em salvar novamente, em bom up.
Como usar?
--Set a home cava(/home cava) em cima do bloco de ferro de acordo com a imagem.
--Ao ligar a macro ela ira fazer algumas perguntas, responda de acordo com que ela perdir.
--Coloque na hotbars a pá que ira usar juntamente com o bloco e no seu inventario o material para reparar.
--Para guarda os itens que você selecionou ao ligar macro, set a home cavabau(/home cavabau) de acordo com a imagem.
--Coloque os blocos e itens reparação e talvez suas pás em seu respectivos baus.
Imagem da trap para escava e de baus:
![]()
![]()
Macros:
Onchat -- 07/11/2015
press.txt(07/11/2015) -- se você já tem das outras macro, não é necessário por denovo.(apenas para server 1.8)
Cavador: -- 04/11/2015
1.5 --
$${
//Macro de Escavação 1.5
//Desenvolvido por Nugou
if(cava);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
log(&b=============&6Tesouro&b==============);
if(%@#tesouro%=0);
log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro);
else;
for(#i,1,%@#tesouro%);
log(&6Tesouro %#i% às &b%@&hora[%#i%]%);
next;
log(&6Tesouros Encontrados: &a%@#tesouro%);
endif;
stop;
else;
set(cava);
set(@limpeza);
set(@livro);
set(@reiniciar);
if(reload);
unset(reset);set(&cor[1],&6&l»);set(&cor[2],&0);set(p1);
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(1ms);if(!p1);set(&cor[1],&6&l»);set(&cor[2],&0);unset(reset);set(p1);set(reload);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(reload);set(reset);endif;endif;
if(KEY_0);break;endif;
loop;
else;
set(reset);
endif;
wait(1);
if(reset);
set(rep);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0);
do;
clearchat;
log(&b==== &6Reparar pás? &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(p1);set(rep);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(rep);endif;endif;
if(KEY_0);break;endif;
loop;
wait(1);
set(guarda);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0);
do;
clearchat;
log(&b==== &6Guarda itens no bau? &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(p1);set(guarda);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(guarda);endif;endif;
if(KEY_0);break;endif;
loop;
&terrain="^3$|^2$|^12$|^88$|^13$';
&fer="^273$|^256$|^277$";
#pick_fer=0;
#pick_terrain=0;
for(#i,1,9);
getslotitem(%#i%,#id);
ifmatches(%#id%,%&terrain%);
#pick_terrain=%#id%;
endif;
ifmatches(%#id%,%&fer%);
#pick_fer=%#id%;
endif;
next;
if(%#pick_fer%=0);
log(&6[Macro]&b Nenhuma pá encontrada!);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
if(%#pick_terrain%=0);
log(&6[Macro]&b Nenhum bloco encontrado!);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
if(%#pick_fer%=277);#item_rep=264;endif;
if(%#pick_fer%=256);#item_rep=265;endif;
if(%#pick_fer%=273);#item_rep=4;endif;
ifmatches(%DIRECTION%,N);&dir=North;&dir_r=East;&dir_l=West;&dir_lixo=South;endif;
ifmatches(%DIRECTION%,S);&dir=South;&dir_r=West;&dir_l=East;&dir_lixo=North;endif;
ifmatches(%DIRECTION%,W);&dir=West;&dir_r=North;&dir_l=South;&dir_lixo=East;endif;
ifmatches(%DIRECTION%,E);&dir=East;&dir_r=South;&dir_l=North;&dir_lixo=West;endif;
#xp=%XPOS%;#zp=%ZPOS%;
#i=1;
#guar=0;
&guarda=387;
if(guarda);
do;
prompt(#guar,$$i,Selecione os itens para guardar! (Digite 0 para sair));
if(%#guar%=0);
break;
else;
set(&guarda,%&guarda%|%#guar%);
endif;
loop;
endif;
prompt(#quebrar,$$?,Qual o delay da macro? (acima de 1));
if(%#quebrar%<=0);
#quebrar=8;
log(&6[Macro]&b Seu delay foi menor que 1; ampliada para 8.);
endif;
prompt(#dur,$$?,Qual a durabilidade para reparar ou troca a pa?);
if(%#dur%<=10);
log(&6[Macro]&b Sua durabilidade foi menor que 10; ampliada para 20.);
#dur=20;
endif;
if(guarda);
prompt(#inv,$$?,Tempo para verificar o inventario? (padrão é 300));
if(%#inv%<=0);
log(&6[Macro]&b Tempo igual a 0; modificado para 300.);
endif;
else;
#inv=9999;
endif;
endif;
set(reload);
#baub=1;
#slpa=1;
#bau=4;
#fil=1;
}$$/home cava$${
log(&6[Macro]&b Teleportando....Aguarde!);
wait(10);
keydown(jump);wait(1);keyup(jump);
log(&6[Macro]&b Cavador &2[On]);
do;
keydown(jump);
wait(1t);
do(%#inv%);
keyup(jump);
look(%&dir%);
look(,65);
if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%));break;endif;
if(@lc);do;if(@exit);unset(@exit);break;endif;loop;endif;
if(@rs);do;if(@exit);unset(@exit);break;endif;loop;endif;
if(%GUI%!="NONE");log(&6[Macro]&b Escavação Interrompida);do;until(%GUI%="NONE");log(&6[Macro]&b Continuando escavação);endif;
if(%HITID%=%#pick_terrain%);
do(%#quebrar%);
if(rep);
pick(%#pick_fer%);
else;
slot(%#slpa%);
endif;
look(%&dir%);
look(,65);
key(attack);
until(%HITID%!=%#pick_terrain%);
if(%DURABILITY%<%#dur%);
unset(es);
if(rep);
look(%&dir%);
look(,90);
do(3);
key(use);
key(attack);
wait(5t);
loop;
do;gui(inventory);wait(5);until(%GUI%="GUIINVENTORY");
#ver=0;
for(#i,9,44);
getslotitem(%#i%,#id);
ifmatches(%#id%,%#item_rep%);
#ver=1;
break;
endif;
next;
do;gui();wait(1);until(%GUI%="NONE");
if(%#ver%=0);
log(&6[Macro]&b Acabo item de reparação, pegando mais);
set(peg_rep);
break;
endif;
else;
inc(#slpa);
if(%#slpa%=10);
#slpa=1;
log(&6[Macro]&b Acabo suas pas! Pegando mais....);
set(peg_fer);
break;
endif;
endif;
endif;
else;
pick(%#pick_terrain%);
key(use);
if(%ITEM%!=%#pick_terrain%);
do;gui(inventory);wait(5);until(%GUI%="GUIINVENTORY");
wait(1);
#ver=0;
for(#i,9,35);
getslotitem(%#i%,#id);
if(%#id%=%#pick_terrain%);
slotclick(%#i%,l,true);
wait(100ms);
#ver=1;
endif;
next;
do;gui();wait(1);until(%GUI%="NONE");
if(%#ver%=0);
log(&6[Macro]&b Acabo os blocos, pegando mais);
set(peg_block);
break;
endif;
endif;
endif;
if(@pl);
log(&6{Macro]&b Opa, um livro);
break;
endif;
if(KEY_P);
wait(1);
if(KEY_P);
log(&6[Macro]&b Macro Pausado ....);
log(&6[Macro]&b Aperte &6P &bnovamente para voltar a macro....);
unset(@limpeza);
wait(2);
do;
if(KEY_P);
wait(1);
if(KEY_P);
log(&6[Macro]&b Voltando a funcionar !!!);
set(@limpeza);
break;
endif;
endif;
loop;
endif;
endif;
loop;
if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%));
do;
log(&6[Macro]&b Teleportando.....);
}$$/home cava$${
wait(10);
until((%XPOS%=%#xp%)|(%ZPOS%=%#zp%));
endif;
#vazio=0;
look(%&dir_lixo%);
do;gui(inventory);wait(5);until(%GUI%="GUIINVENTORY");
wait(500ms);
for(#i,9,44);
getslotitem(%#i%,#id);
ifmatches(%#id%,%#pick_fer%|%#pick_terrain%|%#item_rep%|"^387$"|%&guarda%);
else;
slotclick(%#i%);
slotclick(-999);
inc(#vazio);
wait(100ms);
endif;
if(%#id%=0);
inc(#vazio);
endif;
next;
do;gui();wait(1);until(%GUI%="NONE");
wait(500ms);
if((guarda)&&(%#vazio%<=3));
do;
}$$/home cavabau$${
log(&6[Macro]&b Teleportando....Aguarde);
wait(10);
until((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%));
wait(1);
do(3);keydown(jump);wait(1t);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% = 4);look(,-62);endif;
if(%#bau% = 3);look(,-50);endif;
if(%#bau% = 2);look(,-25);endif;
if(%#bau% = 1);look(,0);endif;
if(%#bau% = 0);look(,35);endif;
if(%#pos% != %#posf%);keydown(right);keydown(sneak);endif;
until(%#pos% = %#posf%);
wait(100ms);
keyup(right);
keyup(sneak);
if((%#vbau%=54)|(%#vbau%=146));
do;key(use);wait(5);until(%GUI% = "GUICHEST");
wait(1);
#sbv = 0;
for(#i,0,53);
getslotitem(%#i%,#id);
if(%#id% = 0);
#sbv = 1;
break;
endif;
next;
if(%#sbv% = 1);
for(#i,54,89);
getslotitem(%#i%,#id);
ifmatches(%#id%,%&guarda%);
slotclick(%#i%,l,true);
wait(150ms);
endif;
next;
#exit = 0;
for(#i,0,53);
getslotitem(%#i%,#id);
if(%&id% = 0);
#exit = 1;
break;
endif;
next;
if(%#exit% = 0);
dec(#bau);
gui();
if(%#bau% = -1);
#bau = 4;
inc(#fil);
endif;
endif;
gui();
else;
dec(#bau);
if(%#bau% = -1);
#bau = 4;
inc(#fil);
endif;
gui();
endif;
else;
log(&6[Macro] &bAcabo os baus!!!);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
log(&b=============&6Tesouro&b==============);
if(%@#tesouro%=0);
log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro);
else;
for(#i,1,%@#tesouro%);
log(&6Tesouro %#i% às &b%@&hora[%#i%]%);
next;
log(&6Tesouros Encontrados: &a%@#tesouro%);
endif;
stop;
endif;
until(%#exit% = 1);
endif;
if(@pl);
unset(@pl);
look(%&dir_l%);
look(,-60);
do;;key(use);wait(5);until(%GUI% = "GUICHEST");
wait(150ms);
for(#i,54,89);
getslotitem(%#i%,#id);
if(%#id%=387);
slotclick(%#i%,l,true);
wait(150ms);
endif;
next;
do;gui();wait(5);until(%GUI%="NONE");
wait(500ms);
endif;
if(peg_block);
unset(peg_block);
do;
look(%&dir_l%);
if(%#baub%=2);look(,65);endif;
do;key(use);wait(5);until(%GUI%="GUICHEST");
wait(1);
#ver=0;
#qt=0;
for(#i,0,53);
getslotitem(%#i%,#id);
if(%#id%=%#pick_terrain%);
slotclick(%#i%,l,true);
inc(#qt);
#ver=1;
if(%#qt%=9);
break;
endif;
wait(100ms);
endif;
next;
do;gui();wait(1);until(%GUI%="NONE");
wait(500ms);
if(%#ver%=0);
inc(#baub);
if(%#baub%=3);
log(&6[Macro]&b Acabo os baus de bloco);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
endif;
until(%#ver%=1);
endif;
if(peg_rep);
unset(peg_rep);
look(%&dir_r%);
look(,-60);
do;key(use);wait(5);until(%GUI% = "GUICHEST");
wait(150ms);
#ver=0;
#qt=0;
for(#i,0,53);
getslotitem(%#i%,#id);
if(%&id%=%#item_rep%);
slotclick(%#i%,l,true);
#ver=1;
inc(#qt);
if(%#qt%=9);
break;
endif;
wait(150ms);
endif;
next;
do;gui();wait(5);until(%GUI%="NONE");
wait(500ms);
if(%#ver%=0);
log(&6[Macro]&b Acabo o bau de item para reparar);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
endif;
if(peg_fer);
unset(peg_fer);
do;
look(%&dir_r%);
look(,65);
do;key(use);wait(5);until(%GUI%="GUICHEST");
wait(1);
#npa=0;
for(#i,54,89);
getslotitem(%#i%,#id);
if(%#id%=%#pick_fer%);
slotclick(%#i%,l,true);
inc(#npa);
wait(100ms);
endif;
next;
if(%#npa%=0);
log(&6[Macro]&b Acabo os baus para armazenar pas!);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
do;gui();wait(1);until(%GUI%="NONE");
wait(500ms);
look(%&dir_r%);
do;key(use);wait(5);until(%GUI%="GUICHEST");
wait(1);
#ver=0;
#qt=0;
for(#i,0,53);
getslotitem(%#i%,#id);
if(%#id%=%#pick_fer%);
slotclick(%#i%,l,true);
inc(#qt);
#ver=1;
if(%#qt%=%#npa%);
break;
endif;
wait(100ms);
endif;
next;
do;gui();wait(1);until(%GUI%="NONE");
wait(500ms);
if(%#ver%=0);
log(&6[Macro]&b Acabo os baus das pás);
log(&6[Macro]&b Cavador &4[Off]);
unset(cava);
unset(@limpeza);
unset(@livro);
unset(@reiniciar);
stop;
endif;
until(%#ver%=1);
endif;
loop;
endif;
}$$
1.7 --
Código:$${ //Macro de Escavação 1.7 //Desenvolvido por Nugou if(cava); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@reiniciar); log(&b=============&6Tesouro&b==============); if(%@#tesouro%=0); log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro); else; for(#i,1,%@#tesouro%); log(&6Tesouro %#i% às &b%@&hora[%#i%]%); next; log(&6Tesouros Encontrados: &a%@#tesouro%); endif; stop; else; set(cava); set(@limpeza); set(@livro); set(@reiniciar); if(reload); unset(reset);set(&cor[1],&6&l»);set(&cor[2],&0);set(p1); 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(1ms);if(!p1);set(&cor[1],&6&l»);set(&cor[2],&0);unset(reset);set(p1);set(reload);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(reload);set(reset);endif;endif; if(KEY_0);break;endif; loop; else; set(reset); endif; wait(1); if(reset); set(rep);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0); do; clearchat; log(&b==== &6Reparar pás? &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(p1);set(rep);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(rep);endif;endif; if(KEY_0);break;endif; loop; wait(1); set(guarda);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0); do; clearchat; log(&b==== &6Guarda itens no bau? &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(p1);set(guarda);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(guarda);endif;endif; if(KEY_0);break;endif; loop; &terrain=dirt|grass|sand|soul_sand|gravel; &fer=stone_shovel|iron_shovel|diamond_shovel; &pick_fer=air; &pick_terrain=air; for(#i,1,9); getslotitem(%#i%,&id); ifmatches(%&id%,%&terrain%); &pick_terrain=%&id%; endif; ifmatches(%&id%,%&fer%); &pick_fer=%&id%; endif; next; if(%&pick_fer%="air"); log(&6[Macro]&b Nenhuma pá encontrada!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); stop; endif; if(%&pick_terrain%="air"); log(&6[Macro]&b Nenhum bloco encontrado!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); stop; endif; if(%&pick_fer%="diamond_shovel");&item_rep=diamond;endif; if(%&pick_fer%="iron_shovel");&item_rep=iron_ingot;endif; if(%&pick_fer%="stone_shovel");&item_rep=cobblestone;endif; ifmatches(%DIRECTION%,N);&dir=North;&dir_r=East;&dir_l=West;&dir_lixo=South;endif; ifmatches(%DIRECTION%,S);&dir=South;&dir_r=West;&dir_l=East;&dir_lixo=North;endif; ifmatches(%DIRECTION%,W);&dir=West;&dir_r=North;&dir_l=South;&dir_lixo=East;endif; ifmatches(%DIRECTION%,E);&dir=East;&dir_r=South;&dir_l=North;&dir_lixo=West;endif; #xp=%XPOS%;#zp=%ZPOS%; #i=1; &guar=none; &guarda=written_book; if(guarda); do; prompt(&guar,$$i,Selecione os itens para guardar! (Digite 0 para sair)); ifmatches(%&guar%,air|0|none); break; else; &guarda=%&guarda%|%&guar%; endif; loop; endif; prompt(#quebrar,$$?,Qual o delay da macro? (acima de 1)); if(%#quebrar%<=0); #quebrar=8; log(&6[Macro]&b Seu delay foi menor que 1; ampliada para 8.); endif; prompt(#dur,$$?,Qual a durabilidade para reparar ou troca a pa?); if(%#dur%<=10); log(&6[Macro]&b Sua durabilidade foi menor que 10; ampliada para 20.); #dur=20; endif; if(guarda); prompt(#inv,$$?,Tempo para verificar o inventario? (padrão é 300)); if(%#inv%<=0); log(&6[Macro]&b Tempo igual a 0; modificado para 300.); endif; else; #inv=9999; endif; endif; set(reload); #baub=1; #slpa=1; #bau=4; #fil=1; }$$/home cava$${ log(&6[Macro]&b Teleportando....Aguarde!); wait(10); keydown(jump);wait(1);keyup(jump); log(&6[Macro]&b Cavador &2[On]); do; keydown(jump); wait(1t); do(%#inv%); keyup(jump); look(%&dir%); look(,65); if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%));break;endif; if(@lc);do;if(@exit);unset(@exit);break;endif;loop;endif; if(@rs);do;if(@exit);unset(@exit);break;endif;loop;endif; if(%GUI%!="NONE");log(&6[Macro]&b Escavação Interrompida);do;until(%GUI%="NONE");log(&6[Macro]&b Continuando escavação);endif; ifmatches(%HITID%,%&pick_terrain%); do(%#quebrar%); if(rep); pick(%&pick_fer%); else; slot(%#slpa%); endif; look(%&dir%); look(,65); key(attack); until(%HITID%!=%&pick_terrain%); if(%DURABILITY%<%#dur%); unset(es); if(rep); look(%&dir%); look(,90); do(3); key(use); key(attack); wait(5t); loop; do;gui(inventory);wait(5);until(%GUI%="GUIINVENTORY"); #ver=0; for(#i,9,44); getslotitem(%#i%,&id); ifmatches(%&id%,%&item_rep%); #ver=1; break; endif; next; do;gui();wait(1);until(%GUI%="NONE"); if(%#ver%=0); log(&6[Macro]&b Acabo item de reparação, pegando mais); set(peg_rep); break; endif; else; inc(#slpa); if(%#slpa%=10); #slpa=1; log(&6[Macro]&b Acabo suas pas! Pegando mais....); set(peg_fer); break; endif; endif; endif; else; pick(%&pick_terrain%); key(use); if(%ITEM%!=%&pick_terrain%); do;gui(inventory);wait(1);until(%GUI%="GUIINVENTORY"); wait(1); #ver=0; for(#i,9,35); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_terrain%); slotclick(%#i%,l,true); wait(100ms); #ver=1; endif; next; do;gui();wait(1);until(%GUI%="NONE"); if(%#ver%=0); log(&6[Macro]&b Acabo os blocos, pegando mais); set(peg_block); break; endif; endif; endif; if(@pl); log(&6{Macro]&b Opa, um livro); break; endif; if(KEY_P); wait(1); if(KEY_P); log(&6[Macro]&b Macro Pausado ....); log(&6[Macro]&b Aperte &6P &bnovamente para voltar a macro....); unset(@limpeza); wait(2); do; if(KEY_P); wait(1); if(KEY_P); log(&6[Macro]&b Voltando a funcionar !!!); set(@limpeza); break; endif; endif; loop; endif; endif; loop; if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%)); do; log(&6[Macro]&b Teleportando.....); }$$/home cava$${ wait(10); until((%XPOS%=%#xp%)|(%ZPOS%=%#zp%)); endif; #vazio=0; look(%&dir_lixo%); do;gui(inventory);wait(1);until(%GUI%="GUIINVENTORY"); wait(500ms); for(#i,9,44); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%|%&pick_terrain%|%&item_rep%|"written_book"|%&guarda%); else; slotclick(%#i%); slotclick(-999); inc(#vazio); wait(100ms); endif; if(%&id%="air"); inc(#vazio); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if((guarda)&&(%#vazio%<=3)); do; }$$/home cavabau$${ log(&6[Macro]&b Teleportando....Aguarde); wait(10); until((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%)); wait(1); do(3);keydown(jump);wait(1t);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% = 4);look(,-62);endif; if(%#bau% = 3);look(,-50);endif; if(%#bau% = 2);look(,-25);endif; if(%#bau% = 1);look(,0);endif; if(%#bau% = 0);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(5);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%,%&guarda%); 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); dec(#bau); gui(); if(%#bau% = -1); #bau = 4; inc(#fil); endif; endif; gui(); else; dec(#bau); if(%#bau% = -1); #bau = 4; inc(#fil); endif; gui(); endif; else; log(&6[Macro] &bAcabo os baus!!!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); log(&b=============&6Tesouro&b==============); if(%@#tesouro%=0); log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro); else; for(#i,1,%@#tesouro%); log(&6Tesouro %#i% às &b%@&hora[%#i%]%); next; log(&6Tesouros Encontrados: &a%@#tesouro%); endif; stop; endif; until(%#exit% = 1); endif; if(@pl); unset(@pl); look(%&dir_l%); look(,-60); do;;key(use);wait(5);until(%GUI% = "GUICHEST"); wait(150ms); for(#i,54,89); getslotitem(%#i%,&id); if(%&id%="written_book"); slotclick(%#i%,l,true); wait(150ms); endif; next; do;gui();wait(5);until(%GUI%="NONE"); wait(500ms); endif; if(peg_block); unset(peg_block); do; look(%&dir_l%); if(%#baub%=2);look(,65);endif; do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_terrain%); slotclick(%#i%,l,true); inc(#qt); #ver=1; if(%#qt%=9); break; endif; wait(100ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); inc(#baub); if(%#baub%=3); log(&6[Macro]&b Acabo os baus de bloco); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; endif; until(%#ver%=1); endif; if(peg_rep); unset(peg_rep); look(%&dir_r%); look(,-60); do;key(use);wait(5);until(%GUI% = "GUICHEST"); wait(150ms); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&item_rep%); slotclick(%#i%,l,true); #ver=1; inc(#qt); if(%#qt%=9); break; endif; wait(150ms); endif; next; do;gui();wait(5);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); log(&6[Macro]&b Acabo o bau de item para reparar); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; endif; if(peg_fer); unset(peg_fer); do; look(%&dir_r%); look(,65); do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #npa=0; for(#i,54,89); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%); slotclick(%#i%,l,true); inc(#npa); wait(100ms); endif; next; if(%#npa%=0); log(&6[Macro]&b Acabo os baus para armazenar pas!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); look(%&dir_r%); do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%); slotclick(%#i%,l,true); inc(#qt); #ver=1; if(%#qt%=%#npa%); break; endif; wait(100ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); log(&6[Macro]&b Acabo os baus das pás); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; until(%#ver%=1); endif; loop; endif; }$$
1.8 --
Código:$${ //Macro de Escavação 1.8 //Desenvolvido por Nugou if(cava); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); unset(@des); log(&b=============&6Tesouro&b==============); if(%@#tesouro%=0); log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro); else; for(#i,1,%@#tesouro%); log(&6Tesouro %#i% às &b%@&hora[%#i%]%); next; log(&6Tesouros Encontrados: &a%@#tesouro%); endif; stop; else; set(cava); set(@limpeza); set(@livro); set(@rec); set(@pergunta); @&chave[%@#idp%]=%KEYNAME%; if(!@des); if(reload); unset(reset);set(&cor[1],&6&l»);set(&cor[2],&0);set(p1); 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(1ms);if(!p1);set(&cor[1],&6&l»);set(&cor[2],&0);unset(reset);set(p1);set(reload);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(reload);set(reset);endif;endif; if(KEY_0);break;endif; loop; else; set(reset); endif; wait(1); if(reset); set(rep);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0); do; clearchat; log(&b==== &6Reparar pás? &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(p1);set(rep);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(rep);endif;endif; if(KEY_0);break;endif; loop; wait(1); set(guarda);set(p1);set(&cor[1],&6&l»);set(&cor[2],&0); do; clearchat; log(&b==== &6Guarda itens no bau? &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(p1);set(guarda);else;set(&cor[1],&0);set(&cor[2],&6&l»);unset(p1);unset(guarda);endif;endif; if(KEY_0);break;endif; loop; &terrain=dirt|grass|sand|soul_sand|gravel; &fer=stone_shovel|iron_shovel|diamond_shovel; &pick_fer=air; &pick_terrain=air; for(#i,1,9); getslotitem(%#i%,&id); ifmatches(%&id%,%&terrain%); &pick_terrain=%&id%; endif; ifmatches(%&id%,%&fer%); &pick_fer=%&id%; endif; next; if(%&pick_fer%="air"); log(&6[Macro]&b Nenhuma pá encontrada!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); stop; endif; if(%&pick_terrain%="air"); log(&6[Macro]&b Nenhum bloco encontrado!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); stop; endif; if(%&pick_fer%="diamond_shovel");&item_rep=diamond;endif; if(%&pick_fer%="iron_shovel");&item_rep=iron_ingot;endif; if(%&pick_fer%="stone_shovel");&item_rep=cobblestone;endif; ifmatches(%DIRECTION%,N);&dir=North;&dir_r=East;&dir_l=West;&dir_lixo=South;endif; ifmatches(%DIRECTION%,S);&dir=South;&dir_r=West;&dir_l=East;&dir_lixo=North;endif; ifmatches(%DIRECTION%,W);&dir=West;&dir_r=North;&dir_l=South;&dir_lixo=East;endif; ifmatches(%DIRECTION%,E);&dir=East;&dir_r=South;&dir_l=North;&dir_lixo=West;endif; #xp=%XPOS%;#zp=%ZPOS%; #i=1; &guar=none; &guarda=written_book; if(guarda); do; prompt(&guar,$$i,Selecione os itens para guardar! (Digite 0 para sair)); ifmatches(%&guar%,air|0|none); break; else; &guarda=%&guarda%|%&guar%; endif; loop; endif; prompt(#quebrar,$$?,Qual o delay da macro? (acima de 1)); if(%#quebrar%<=0); #quebrar=8; log(&6[Macro]&b Seu delay foi menor que 1; ampliada para 8.); endif; prompt(#dur,$$?,Qual a durabilidade para reparar ou troca a pa?); if(%#dur%<=10); log(&6[Macro]&b Sua durabilidade foi menor que 10; ampliada para 20.); #dur=20; endif; if(guarda); prompt(#inv,$$?,Tempo para verificar o inventario? (padrão é 300)); if(%#inv%<=0); log(&6[Macro]&b Tempo igual a 0; modificado para 300.); endif; else; #inv=9999; endif; endif; set(reload); #baub=1; #slpa=1; #bau=4; #fil=1; else; unset(@des); endif; }$$/home cava$${ log(&6[Macro]&b Teleportando....Aguarde!); wait(10); keydown(jump);wait(1);keyup(jump); log(&6[Macro]&b Cavador &2[On]); do; keydown(jump); wait(1t); do(%#inv%); keyup(jump); look(%&dir%); look(,65); if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%));break;endif; if(@lc);do;if(@exit);unset(@exit);break;endif;loop;endif; if(%GUI%!="NONE");log(&6[Macro]&b Escavação Interrompida);do;until(%GUI%="NONE");log(&6[Macro]&b Continuando escavação);endif; ifmatches(%HITID%,%&pick_terrain%); do(%#quebrar%); if(rep); pick(%&pick_fer%); else; slot(%#slpa%); endif; look(%&dir%); look(,65); key(attack); until(%HITID%!=%&pick_terrain%); if(%DURABILITY%<%#dur%); unset(es); if(rep); look(%&dir%); look(,90); do(3); key(use); key(attack); wait(5t); loop; do;gui(inventory);wait(5);until(%GUI%="GUIINVENTORY"); #ver=0; for(#i,9,44); getslotitem(%#i%,&id); ifmatches(%&id%,%&item_rep%); #ver=1; break; endif; next; do;gui();wait(1);until(%GUI%="NONE"); if(%#ver%=0); log(&6[Macro]&b Acabo item de reparação, pegando mais); set(peg_rep); break; endif; else; inc(#slpa); if(%#slpa%=10); #slpa=1; log(&6[Macro]&b Acabo suas pas! Pegando mais....); set(peg_fer); break; endif; endif; endif; else; pick(%&pick_terrain%); key(use); if(%ITEM%!=%&pick_terrain%); do;gui(inventory);wait(1);until(%GUI%="GUIINVENTORY"); wait(1); #ver=0; for(#i,9,35); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_terrain%); slotclick(%#i%,l,true); wait(100ms); #ver=1; endif; next; do;gui();wait(1);until(%GUI%="NONE"); if(%#ver%=0); log(&6[Macro]&b Acabo os blocos, pegando mais); set(peg_block); break; endif; endif; endif; if(@pl); log(&6{Macro]&b Opa, um livro); break; endif; if(KEY_P); wait(1); if(KEY_P); log(&6[Macro]&b Macro Pausado ....); log(&6[Macro]&b Aperte &6P &bnovamente para voltar a macro....); unset(@limpeza); wait(2); do; if(KEY_P); wait(1); if(KEY_P); log(&6[Macro]&b Voltando a funcionar !!!); set(@limpeza); break; endif; endif; loop; endif; endif; loop; if((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%)); do(2); log(&6[Macro]&b Teleportando.....); }$$/home cava$${ wait(10); until((%XPOS%=%#xp%)&&(%ZPOS%=%#zp%)); wait(1); else; #vazio=0; look(%&dir_lixo%); do;gui(inventory);wait(1);until(%GUI%="GUIINVENTORY"); wait(500ms); for(#i,9,44); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%|%&pick_terrain%|%&item_rep%|"written_book"|%&guarda%); else; slotclick(%#i%); slotclick(-999); inc(#vazio); wait(100ms); endif; if(%&id%="air"); inc(#vazio); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); endif; if((guarda)&&(%#vazio%<=3)); do; }$$/home cavabau$${ log(&6[Macro]&b Teleportando....Aguarde); wait(10); until((%XPOS%!=%#xp%)|(%ZPOS%!=%#zp%)); wait(1); do(3);keydown(jump);wait(1t);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% = 4);look(,-62);endif; if(%#bau% = 3);look(,-50);endif; if(%#bau% = 2);look(,-25);endif; if(%#bau% = 1);look(,0);endif; if(%#bau% = 0);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(5);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%,%&guarda%); 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); dec(#bau); gui(); if(%#bau% = -1); #bau = 4; inc(#fil); endif; endif; gui(); else; dec(#bau); if(%#bau% = -1); #bau = 4; inc(#fil); endif; gui(); endif; else; log(&6[Macro] &bAcabo os baus!!!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); log(&b=============&6Tesouro&b==============); if(%@#tesouro%=0); log(&6[Macro]&b Infelizmente você não encontro nenhum tesouro); else; for(#i,1,%@#tesouro%); log(&6Tesouro %#i% às &b%@&hora[%#i%]%); next; log(&6Tesouros Encontrados: &a%@#tesouro%); endif; stop; endif; until(%#exit% = 1); endif; if(@pl); unset(@pl); look(%&dir_l%); look(,-60); do;key(use);wait(5);until(%GUI% = "GUICHEST"); wait(150ms); for(#i,54,89); getslotitem(%#i%,&id); if(%&id%="written_book"); slotclick(%#i%,l,true); wait(150ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); endif; if(peg_block); unset(peg_block); do; look(%&dir_l%); if(%#baub%=2);look(,65);endif; do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_terrain%); slotclick(%#i%,l,true); inc(#qt); #ver=1; if(%#qt%=9); break; endif; wait(100ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); inc(#baub); if(%#baub%=3); log(&6[Macro]&b Acabo os baus de bloco); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; endif; until(%#ver%=1); endif; if(peg_rep); unset(peg_rep); look(%&dir_r%); look(,-60); do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(150ms); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&item_rep%); slotclick(%#i%,l,true); #ver=1; inc(#qt); if(%#qt%=9); break; endif; wait(150ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); log(&6[Macro]&b Acabo o bau de item para reparar); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; endif; if(peg_fer); unset(peg_fer); do; look(%&dir_r%); look(,65); do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #npa=0; for(#i,54,89); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%); slotclick(%#i%,l,true); inc(#npa); wait(100ms); endif; next; if(%#npa%=0); log(&6[Macro]&b Acabo os baus para armazenar pas!); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); look(%&dir_r%); do;key(use);wait(5);until(%GUI%="GUICHEST"); wait(1); #ver=0; #qt=0; for(#i,0,53); getslotitem(%#i%,&id); ifmatches(%&id%,%&pick_fer%); slotclick(%#i%,l,true); inc(#qt); #ver=1; if(%#qt%=%#npa%); break; endif; wait(100ms); endif; next; do;gui();wait(1);until(%GUI%="NONE"); wait(500ms); if(%#ver%=0); log(&6[Macro]&b Acabo os baus das pás); log(&6[Macro]&b Cavador &4[Off]); unset(cava); unset(@limpeza); unset(@livro); unset(@rec); stop; endif; until(%#ver%=1); endif; loop; endif; }$$