Advertisement
MatheusDias

Macro / Keybind mod - Automatic Cactus Farm Builder

Jan 30th, 2015
762
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.64 KB | None | 0 0
  1. $${ IF(@ctcacto); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); IF(%#andct%=%#andares%); INC(#torrect); #andct=0; ENDIF; LOG("&3>> &6Torres construidas: &b%#torrect% &6com &b%#andares% &6andar%&andares%"); IF(%#andct%>0); LOG("&3>> &6Andares construidos: &b%#andct% &6na torre atual"); ENDIF; UNSET(@ctcacto); KEYUP(Jump); KEYUP(Sneak); KEYUP(Forward); KEYUP(Left); KEYUP(Right); KEYUP(Back); STOP(); ELSE; LOG("&3[MathCraft] &6Construir Cacto &a[ON]"); LOG("&3[MathCraft] &4Para desligar pressione %KEYNAME%"); LOG(""); SET(@ctcacto); #andct=0; #torrect=0; IFMATCHES(%DIRECTION%,N); &frente = NORTH; &direita = EAST; &atras = SOUTH; &esquerda = WEST; ENDIF; IFMATCHES(%DIRECTION%,S); &frente = SOUTH; &direita = WEST; &atras = NORTH; &esquerda = EAST; ENDIF; IFMATCHES(%DIRECTION%,W); &frente = WEST; &direita = NORTH; &atras = EAST; &esquerda = SOUTH; ENDIF; IFMATCHES(%DIRECTION%,E); &frente = EAST; &direita = SOUTH; &atras = WEST; &esquerda = NORTH; ENDIF; #ylivre=255-%YPOS%; #possivel=%#ylivre%/4; IF(%#possivel%=1); &possivel=; ELSE; &possivel=es; ENDIF; LOG("&3>> &6Nesse nivel voce pode construir ate &4%#possivel% &6andar%&possivel%"); LOG(""); #andares=; PROMPT(#andares,$$?,"Quantos andares? (Sera criado acima de voce)"); IF(%#andares%<1); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(Numero de andares invalido)"); UNSET(@ctcacto); STOP(); ENDIF; #timeandares=%#andares%*26; #limite=%YPOS%+(%#andares%*4); IF(%#limite%>255); LOG("&3[MathCraft] &4O numero de andares escolhidos passara do limite do ceu! (256)"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; PROMPT(#comp,$$?,"Qual o comprimento? (Sera criado atras de voce)"); IF(%#comp%<1); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(Comprimento invalido)"); UNSET(@ctcacto); STOP(); ENDIF; PROMPT(#larg,$$?,"Qual a largura? (Sera criado a direita de voce)"); IF(%#larg%<1); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(Largura invalida)"); UNSET(@ctcacto); STOP(); ENDIF; #torres=%#larg%*%#comp%; #timetorres=%#torres%*%#timeandares%; #baus=(%#comp%*%#larg%)-1; #timebaus=%#baus%*37; IF(%#torres%>101); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(Exedeu o limite de torres suportado)"); LOG("&3[MathCraft] &6A macro possui suporte para apenas 100 baus (101 torres)"); UNSET(@ctcacto); STOP(); ENDIF; #blocobase=; PROMPT(#blocobase,$$i,"Qual bloco sera usado na base? [ID]"); IF(%#blocobase%<1); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(ID Invalido)"); UNSET(@ctcacto); STOP(); ENDIF; UNSET(ferramenta); #ferramenta=; LOG("&3[MathCraft] &6Se NAO for utilizar ferramenta use o ID = 0, ou pressione enter para prosseguir."); LOG(""); PROMPT(#ferramenta,$$i,"Qual ferramenta utilizara? (Sera usada para quebrar o bloco da base) [ID]"); IF(%#ferramenta%<0); LOG("&3[MathCraft] &6Construir Cacto &4[OFF] &6(ID Invalido)"); UNSET(@ctcacto); STOP(); ENDIF; IF(%#ferramenta%=0); #andaresl=32; ELSE; #andaresl=27; SET(ferramenta); ENDIF; #contl=; #contlsob=; UNSET(verl); IF(%#andares%>%#andaresl%); #contl=%#andares%/%#andaresl%; #contlsob=%#andares%-(%#contl%*%#andaresl%); SET(verl); ENDIF; IF(%#contlsob%>0); IF(%#contl%>3); LOG("&3[MathCraft] &4Itens necessarios ultrapassaram o limite do inventario!"); STOP(); ENDIF; ELSE; IF(%#contl%>4); LOG("&3[MathCraft] &4Itens necessarios ultrapassaram o limite do inventario!"); STOP(); ENDIF; ENDIF; UNSET(end); UNSET(endi); UNSET(endapoio); UNSET(endapoioi); #stackbase=0; #stack12=0; #stack81=0; #blocoapoio=0; #testgui=0; GUI(Inventory); DO; INC(#testgui); IF(%#testgui%=100); GUI(Inventory); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUIINVENTORY); BREAK; ENDIF; LOOP; FOR(#slot,9,44); GETSLOTITEM(%#slot%,#id,#stack); IF(%#slot%=35); IF(%#id%=%#blocobase%); #blocoapoio=%#stack%; ENDIF; ELSE; IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ENDIF; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ENDIF; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ENDIF; ENDIF; NEXT; #contbase=(%#andares%*7); #cont12=%#andares%*5; #cont81=%#andares%*4; IF(%#blocoapoio%!=2); SET(endapoioi); ENDIF; IF(%#stackbase%!=%#contbase%); SET(endi); ENDIF; IF(%#stack12%!=%#cont12%); SET(endi); ENDIF; IF(%#stack81%!=%#cont81%); SET(endi); ENDIF; #contapoio=(%#torres%*5)+2; #packapoio=%#contapoio%/64; #sobapoio=%#contapoio%-(%#packapoio%*64); IF(%#packapoio%=1); &packsapoio=; ELSE; &packsapoio=s; ENDIF; IF(%#sobapoio%=1); &sobrasapoio=; ELSE; &sobrasapoio=s; ENDIF; #contbase=%#andares%*7*%#torres%; #cont12=%#andares%*5*%#torres%; #cont81=%#andares%*4*%#torres%; #packbase=%#contbase%/64; #sobbase=%#contbase%-(%#packbase%*64); #pack12=%#cont12%/64; #sob12=%#cont12%-(%#pack12%*64); #pack81=%#cont81%/64; #sob81=%#cont81%-(%#pack81%*64); IF(%#packbase%=1); &packsbase=; ELSE; &packsbase=s; ENDIF; IF(%#pack12%=1); &packs12=; ELSE; &packs12=s; ENDIF; IF(%#pack81%=1); &packs81=; ELSE; &packs81=s; ENDIF; IF(%#sobbase%=1); &sobrasbase=; ELSE; &sobrasbase=s; ENDIF; IF(%#sob12%=1); &sobras12=; ELSE; &sobras12=s; ENDIF; IF(%#sob81%=1); &sobras81=; ELSE; &sobras81=s; ENDIF; IF(%#andares%=1); &andares=; ELSE; &andares=es; ENDIF; #tandares=%#andares%*%#torres%; IF(%#tandares%=%#andares%); ELSE; LOG("&3-----------------------------------------------------"); LOG("&3>> &4Itens necessarios para a contrucao de &6%#tandares% &4andar%&andares% (tudo):"); LOG("&3>> &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base"); LOG("&3>> &6%#pack12% pack%&packs12% + %#sob12% sand%&sobras12% (Areia%&sobras12%)"); LOG("&3>> &6%#pack81% pack%&packs81% + %#sob81% cactu%&sobras81% (Cacto%&sobras81%)"); LOG("&3>> &6%#packapoio% pack%&packsapoio% + %#sobapoio% bloco%&sobrasapoio% da base para apoio"); ENDIF; #contbase=%#andares%*7; #cont12=%#andares%*5; #cont81=%#andares%*4; #packbase=%#contbase%/64; #sobbase=%#contbase%-(%#packbase%*64); #pack12=%#cont12%/64; #sob12=%#cont12%-(%#pack12%*64); #pack81=%#cont81%/64; #sob81=%#cont81%-(%#pack81%*64); IF(%#packbase%=1); &packsbase=; ELSE; &packsbase=s; ENDIF; IF(%#pack12%=1); &packs12=; ELSE; &packs12=s; ENDIF; IF(%#pack81%=1); &packs81=; ELSE; &packs81=s; ENDIF; IF(%#sobbase%=1); &sobrasbase=; ELSE; &sobrasbase=s; ENDIF; IF(%#sob12%=1); &sobras12=; ELSE; &sobras12=s; ENDIF; IF(%#sob81%=1); &sobras81=; ELSE; &sobras81=s; ENDIF; IF(%#andares%=1); &andares=; ELSE; &andares=es; ENDIF; LOG("&3-----------------------------------------------------"); LOG("&3>> &4Itens necessarios para a contrucao de &6%#andares% &4andar%&andares%:"); LOG("&3>> &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base"); LOG("&3>> &6%#pack12% pack%&packs12% + %#sob12% sand%&sobras12% (Areia%&sobras12%)"); LOG("&3>> &6%#pack81% pack%&packs81% + %#sob81% cactu%&sobras81% (Cacto%&sobras81%)"); &linha1b=; &linha2b=; &linha3b=; &linha4b=; &linhaextrab=; #contbase=%#andares%*7; #cont12=%#andares%*5; #cont81=%#andares%*4; IF(verl); #contbase=%#andaresl%*7; #cont12=%#andaresl%*5; #cont81=%#andaresl%*4; #packbase=%#contbase%/64; #sobbase=%#contbase%-(%#packbase%*64); #pack12=%#cont12%/64; #sob12=%#cont12%-(%#pack12%*64); #pack81=%#cont81%/64; #sob81=%#cont81%-(%#pack81%*64); IF(%#packbase%=1); &packsbase=; ELSE; &packsbase=s; ENDIF; IF(%#pack12%=1); &packs12=; ELSE; &packs12=s; ENDIF; IF(%#pack81%=1); &packs81=; ELSE; &packs81=s; ENDIF; IF(%#sobbase%=1); &sobrasbase=; ELSE; &sobrasbase=s; ENDIF; IF(%#sob12%=1); &sobras12=; ELSE; &sobras12=s; ENDIF; IF(%#sob81%=1); &sobras81=; ELSE; &sobras81=s; ENDIF; ENDIF; SET(logl); LOG("&3-----------------------------------------------------"); LOG("&3>> &4Seu inventario deve estar exatamente assim:"); LOG("&3>> &4HOTBAR: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%"); &linha1b=&3>> &41: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%; IF(%#contl%>1); LOG("&3>> &4LINHAS DO INVENTARIO:"); LOG("&3>> &41: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%"); &linha2b=&3>> &42: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%; UNSET(logl); IF(%#contl%>2); LOG("&3>> &42: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%"); &linha3b=&3>> &43: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%; IF(%#contl%>3); LOG("&3>> &43: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%"); &linha4b=&3>> &44: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%; ENDIF; ENDIF; ENDIF; UNSET(invfer); UNSET(itensnu); UNSET(ferhb); FOR(#linha,1,%#contl%); IF(%#contl%=0); BREAK; ENDIF; IF(%#linha%=1); #sloti=36; #slotf=44; ENDIF; IF(%#linha%=2); #sloti=9; #slotf=17; ENDIF; IF(%#linha%=3); #sloti=18; #slotf=26; ENDIF; IF(%#linha%=4); #sloti=27; #slotf=34; ENDIF; #stackbase=0; #stack12=0; #stack81=0; UNSET(check); FOR(#slot,%#sloti%,%#slotf%); GETSLOTITEM(%#slot%,#id,#stack); IF(%#linha%=1); IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ELSE; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ELSE; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ELSE; IF(%#id%=%#ferramenta%); SET(check); ELSE; IF(%#id%=0); ELSE; SET(itensnu); ENDIF; ENDIF; ENDIF; ENDIF; ENDIF; ELSE; IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ELSE; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ELSE; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ELSE; IF(%#id%=0); ELSE; IF(%#id%=%#ferramenta%); SET(invfer); ELSE; SET(itensnu); ENDIF; ENDIF; ENDIF; ENDIF; ENDIF; ENDIF; NEXT; IF(%#linha%=1); IF(ferramenta); IF(check); ELSE; SET(ferhb); ENDIF; ENDIF; ENDIF; IF(%#stackbase%!=%#contbase%); SET(end); ENDIF; IF(%#stack12%!=%#cont12%); SET(end); ENDIF; IF(%#stack81%!=%#cont81%); SET(end); ENDIF; NEXT; GETSLOTITEM(35,#id,#stack); IF(%#id%!=%#blocobase%); SET(endapoio); ENDIF; IF(%#stack%!=2); SET(endapoio); ENDIF; IF(%#contlsob%>0); #contbase=%#contlsob%*7; #cont12=%#contlsob%*5; #cont81=%#contlsob%*4; #packbase=%#contbase%/64; #sobbase=%#contbase%-(%#packbase%*64); #pack12=%#cont12%/64; #sob12=%#cont12%-(%#pack12%*64); #pack81=%#cont81%/64; #sob81=%#cont81%-(%#pack81%*64); IF(%#packbase%=1); &packsbase=; ELSE; &packsbase=s; ENDIF; IF(%#pack12%=1); &packs12=; ELSE; &packs12=s; ENDIF; IF(%#pack81%=1); &packs81=; ELSE; &packs81=s; ENDIF; IF(%#sobbase%=1); &sobrasbase=; ELSE; &sobrasbase=s; ENDIF; IF(%#sob12%=1); &sobras12=; ELSE; &sobras12=s; ENDIF; IF(%#sob81%=1); &sobras81=; ELSE; &sobras81=s; ENDIF; IF(logl); LOG("&3>> &4LINHAS DO INVENTARIO:"); ENDIF; LOG("&3>> &4%#contl%: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%"); #contl2=%#contl%+1; &linhaextrab=&3>> &4%#contl2%: &6%#packbase% pack%&packsbase% + %#sobbase% bloco%&sobrasbase% da base / %#pack12% pack%&packs12% + %#sob12% areia%&sobras12% / %#pack81% pack%&packs81% + %#sob81% cacto%&sobras81%; IF(%#contl%=1); #sloti=9; #slotf=17; ENDIF; IF(%#contl%=2); #sloti=18; #slotf=26; ENDIF; IF(%#contl%=3); #sloti=27; #slotf=34; ENDIF; #stackbase=0; #stack12=0; #stack81=0; FOR(#slot,%#sloti%,%#slotf%); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ELSE; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ELSE; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ELSE; IF(%#id%=0); ELSE; IF(%#id%=%#ferramenta%); SET(invfer); ELSE; SET(itensnu); ENDIF; ENDIF; ENDIF; ENDIF; ENDIF; NEXT; IF(%#stackbase%!=%#contbase%); SET(end); ENDIF; IF(%#stack12%!=%#cont12%); SET(end); ENDIF; IF(%#stack81%!=%#cont81%); SET(end); ENDIF; ENDIF; LOG(""); LOG("&3>> &4OBS: O inventario inicial deve conter 2 blocos de apoio no ultimo slot do inventario!"); #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; IF(%#baus%=1); &baus=; ELSE; &baus=s; ENDIF; IF(%#baus%=0); LOG("&3-----------------------------------------------------"); ELSE; LOG("&3-----------------------------------------------------"); LOG("&3>> &4LINHAS DOS BAUS:"); IFMATCHES(%&linha1b%,^[&]); LOG(%&linha1b%); ENDIF; IFMATCHES(%&linha2b%,^[&]); LOG(%&linha2b%); ENDIF; IFMATCHES(%&linha3b%,^[&]); LOG(%&linha3b%); ENDIF; IFMATCHES(%&linha4b%,^[&]); LOG(%&linha4b%); ENDIF; IFMATCHES(%&linhaextrab%,^[&]); LOG(%&linhaextrab%); ENDIF; LOG(""); LOG("&3>> &6Necessita-se de &4%#baus% &6bau%&baus%"); LOG("&3>> &4OBS: Cada bau devera conter 5 blocos de apoio no seu ultimo slot!"); LOG("&3-----------------------------------------------------"); ENDIF; IF(endi); LOG("&3[MathCraft] &4Quantidade de &6itens &4no inventario errada!"); LOG("&3[MathCraft] &4Verifique corretamente a quantidade de itens, nao devera sobrar nem faltar itens"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(endapoioi); LOG("&3[MathCraft] &4Quantidade de &6blocos de apoio &4no inventario errada!"); LOG("&3[MathCraft] &4Verifique corretamente a quantidade de itens, nao devera sobrar nem faltar itens"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(end); LOG("&3[MathCraft] &6Itens &4organizados erradamente no inventario!"); LOG("&3[MathCraft] &4Verifique corretamente a organizacao itens, a macro nao ira iniciar se os itens nao estiver como ela pediu!"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(endapoio); LOG("&3[MathCraft] &6Blocos de apoio &4organizados erradamente no inventario!"); LOG("&3[MathCraft] &4Verifique corretamente a organizacao itens, a macro nao ira iniciar se os itens nao estiver como ela pediu!"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(ferhb); LOG("&3[MathCraft] &4Ferramenta nao encontrada na HOTBAR!"); IF(invfer); LOG("&3[MathCraft] &4Retire a ferramenta do inventario e coloque na HOTBAR"); LOG("&3[MathCraft] &4Sua ferramenta deve ficar localizada um qualquer um dos 9 (nove) slots da HOTBAR!"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); ENDIF; UNSET(@ctcacto); STOP(); ENDIF; IF(invfer); LOG("&3[MathCraft] &4Ferramenta detectada no inventario"); LOG("&3[MathCraft] &4Sua ferramenta deve ficar localizada em qualquer um dos 9 (nove) slots da HOTBAR!"); LOG("&3[MathCraft] &4So e possivel carregar 1 ferramenta durante todo o processo de construcao"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(itensnu); LOG("&3[MathCraft] &4Retire todos itens que nao sera utilizado do inventario"); LOG("&3[MathCraft] &4Retire todos os itens que nao serao usados para a construcao do inventario!"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; }$$ /sethome cactotempl /sethome cactotempc $${ IF(%#baus%=0); ELSE; #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactobau $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; IFMATCHES(%DIRECTION%,N); &fbau = NORTH; &ebau = WEST; &dbau = EAST; &abau = SOUTH; ENDIF; IFMATCHES(%DIRECTION%,S); &fbau = SOUTH; &ebau = EAST; &dbau = WEST; &abau = NORTH; ENDIF; IFMATCHES(%DIRECTION%,W); &fbau = WEST; &ebau = SOUTH; &dbau = NORTH; &abau = EAST; ENDIF; IFMATCHES(%DIRECTION%,E); &fbau = EAST; &ebau = NORTH; &dbau = SOUTH; &abau = WEST; ENDIF; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); #bau=0; UNSET(break); FOR(#ladob,1,4); IF(break); BREAK; ELSE; IF(#ladob=1); LOOK(%&fbau%); &ladob=%&fbau%; ENDIF; IF(#ladob=2); LOOK(%&dbau%); &ladob=%&dbau%; ENDIF; IF(#ladob=3); LOOK(%&abau%); &ladob=%&abau%; ENDIF; IF(#ladob=4); LOOK(%&ebau%); &ladob=%&ebau%; ENDIF; FOR(#linhab,1,5); IF(break); BREAK; ELSE; LOOK(%&ladob%); WAIT(100ms); IF(#linhab=1); LOOK(-40,-30); ENDIF; IF(#linhab=2); LOOK(-40,-15); ENDIF; IF(#linhab=3); LOOK(-40,); ENDIF; IF(#linhab=4); LOOK(-40,+25); ENDIF; IF(#linhab=5); LOOK(-40,+35); ENDIF; FOR(#colunab,1,5); INC(#bau); IF(#colunab=1); ELSE; LOOK(+20,); ENDIF; DO; IF((%HITID%=146)|(%HITID%=54)); BREAK; ENDIF; LOOP; #testgui=0; KEY(Use); DO; INC(#testgui); IF(%#testgui%=100); KEY(Use); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUICHEST); BREAK; ENDIF; LOOP; #contbase=%#andares%*7; #cont12=%#andares%*5; #cont81=%#andares%*4; IF(verl); #contbase=%#andaresl%*7; #cont12=%#andaresl%*5; #cont81=%#andaresl%*4; ENDIF; FOR(#linha,1,%#contl%); IF(%#linha%=1); #sloti=0; #slotf=8; ENDIF; IF(%#linha%=2); #sloti=9; #slotf=17; ENDIF; IF(%#linha%=3); #sloti=18; #slotf=26; ENDIF; IF(%#linha%=4); #sloti=27; #slotf=34; ENDIF; #stackbase=0; #stack12=0; #stack81=0; FOR(#slot,%#sloti%,%#slotf%); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ELSE; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ELSE; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ELSE; IF(%#id%=0); ELSE; LOG("&3[MathCraft] &4Retire todos itens que nao sera utilizado do bau &6%#bau%"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); GUI(); UNSET(@ctcacto); STOP(); ENDIF; ENDIF; ENDIF; ENDIF; NEXT; IF(%#stackbase%!=%#contbase%); SET(end); ENDIF; IF(%#stack12%!=%#cont12%); SET(end); ENDIF; IF(%#stack81%!=%#cont81%); SET(end); ENDIF; NEXT; IF(%#contlsob%>0); #contbase=%#contlsob%*7; #cont12=%#contlsob%*5; #cont81=%#contlsob%*4; IF(%#contl%=0); #sloti=0; #slotf=8; ENDIF; IF(%#contl%=1); #sloti=9; #slotf=17; ENDIF; IF(%#contl%=2); #sloti=18; #slotf=26; ENDIF; IF(%#contl%=3); #sloti=27; #slotf=34; ENDIF; #stackbase=0; #stack12=0; #stack81=0; WAIT(1); FOR(#slot,%#sloti%,%#slotf%); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%=%#blocobase%); #stackbase=%#stackbase%+%#stack%; ELSE; IF(%#id%=12); #stack12=%#stack12%+%#stack%; ELSE; IF(%#id%=81); #stack81=%#stack81%+%#stack%; ELSE; IF(%#id%=0); ELSE; LOG("&3[MathCraft] &4Retire todos itens que nao sera utilizado do bau &6%#bau%"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); GUI(); UNSET(@ctcacto); STOP(); ENDIF; ENDIF; ENDIF; ENDIF; NEXT; #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; IF(%#stackbase%!=%#contbase%); SET(end); ENDIF; IF(%#stack12%!=%#cont12%); SET(end); ENDIF; IF(%#stack81%!=%#cont81%); SET(end); ENDIF; ENDIF; GETSLOTITEM(53,#id,#stack); IF(%#id%!=%#blocobase%); SET(endapoio); ENDIF; IF(%#stack%!=5); SET(endapoio); ENDIF; WAIT(500ms); #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; IF(end); LOG("&3[MathCraft] &46Itens &4estao organizados erradamente no bau &6%#bau%"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); GUI(); UNSET(@ctcacto); STOP(); ENDIF; IF(endapoio); LOG("&3[MathCraft] &6Blocos de apoio &4organizados erradamente no bau &6%#bau%"); LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); UNSET(@ctcacto); STOP(); ENDIF; IF(%#bau%=%#baus%); SET(break); BREAK; ENDIF; WAIT(100ms); NEXT; ENDIF; NEXT; ENDIF; NEXT; #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactotempc $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); ENDIF; #abau=0; #torre=0; #torrect=-1; #timetotal=%#timetorres%+%#timebaus%; #timex=%#timetotal%/60; #times=%#timetotal%-(%#timex%*60); #timeh=%#timex%/60; #timem=%#timex%-(%#timeh%*60); LOG(""); LOG(""); LOG(""); LOG(""); LOG("&3[MathCraft] &6Tempo TOTAL de construcao: &4%#timeh%:%#timem%:%#times%"); LOG("&4OBS: Tempo calculado em condicoes sem lag e sem delay!"); LOG(""); LOG(""); LOG(""); LOG(""); SET(ft); FOR(#com,1,%#comp%); IF(ft); }$$ /sethome cactotempl /sethome cactotempc $${ ELSE; INC(#abau); #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactobau $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&fbau%); LOOK(,+60); DO; IF((%HITID%=146)|(%HITID%=54)); BREAK; ENDIF; LOOP; WAIT(500ms); #testgui=0; KEY(Use); DO; INC(#testgui); IF(%#testgui%=100); KEY(Use); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUICHEST); BREAK; ENDIF; LOOP; FOR(#slot,54,89); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%=%#ferramenta%); ELSE; SLOTCLICK(%#slot%,l,true); WAIT(100ms); ENDIF; NEXT; #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; #bau=0; UNSET(break); FOR(#ladob,1,4); IF(break); BREAK; ELSE; IF(#ladob=1); LOOK(%&fbau%); &ladob=%&fbau%; ENDIF; IF(#ladob=2); LOOK(%&dbau%); &ladob=%&dbau%; ENDIF; IF(#ladob=3); LOOK(%&abau%); &ladob=%&abau%; ENDIF; IF(#ladob=4); LOOK(%&ebau%); &ladob=%&ebau%; ENDIF; FOR(#linhab,1,5); IF(break); BREAK; ELSE; LOOK(%&ladob%); WAIT(100ms); IF(#linhab=1); LOOK(-40,-30); ENDIF; IF(#linhab=2); LOOK(-40,-15); ENDIF; IF(#linhab=3); LOOK(-40,); ENDIF; IF(#linhab=4); LOOK(-40,+25); ENDIF; IF(#linhab=5); LOOK(-40,+35); ENDIF; FOR(#colunab,1,5); INC(#bau); IF(#colunab=1); ELSE; LOOK(+20,); ENDIF; IF(%#bau%=%#abau%); WAIT(500ms); DO; IF((%HITID%=146)|(%HITID%=54)); BREAK; ENDIF; LOOP; SET(repetir); #testgui=0; KEY(Use); DO; INC(#testgui); IF(%#testgui%=100); KEY(Use); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUICHEST); BREAK; ENDIF; LOOP; DO; IF(repetir); ELSE; BREAK; ENDIF; FOR(#slot,0,8); SLOTCLICK(%#slot%,l,true); WAIT(100ms); NEXT; FOR(#slot,9,34); SLOTCLICK(%#slot%,l,false); WAIT(100ms); #colocar=(%#slot%+45); WAIT(100ms); SLOTCLICK(%#colocar%,l,false); NEXT; UNSET(repetir); FOR(#slot,0,34); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%!=0); SET(repetir); BREAK; ENDIF; NEXT; LOOP; DO; WAIT(100ms); SLOTCLICK(53,l,false); WAIT(100ms); SLOTCLICK(80,l,false); WAIT(500ms); GETSLOTITEM(53,#id,#stack); IF(%#id%=0); BREAK; ENDIF; LOOP; #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; SET(break); BREAK; ENDIF; WAIT(100ms); NEXT; ENDIF; NEXT; ENDIF; NEXT; #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactotempc $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); KEYDOWN(Sneak); DO(4); PICK(%#blocobase%); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Back); LOOK(%&frente%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; WAIT(100ms); LOOK(%&frente%); LOOK(,+90); LOOP; }$$ /sethome cactotempl /sethome cactotempc $${ WAIT(1); LOOK(%&frente%); PICK(%#ferramenta%); DO(2); LOOK(,+23); WAIT(500ms); #blocoquebrar=%HITID%; WAIT(100ms); DO; KEY(Attack); UNTIL(%HITID%!=%#blocoquebrar%); LOOP; SET(ft); ENDIF; FOR(#lar,1,%#larg%); IF(ft); KEYDOWN(Sneak); PICK(%#blocobase%); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Forward); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(100ms); KEYUP(Forward); LOOK(%&atras%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Left); LOOK(%&direita%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; WAIT(100ms); LOOK(%&frente%); LOOK(,+90); UNSET(ft); ELSE; #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactobau $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); INC(#abau); LOOK(%&fbau%); LOOK(,+60); DO; IF((%HITID%=146)|(%HITID%=54));; BREAK; ENDIF; LOOP; WAIT(500ms); #testgui=0; KEY(Use); DO; INC(#testgui); IF(%#testgui%=100); KEY(Use); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUICHEST); BREAK; ENDIF; LOOP; FOR(#slot,54,89); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%=%#ferramenta%); ELSE; SLOTCLICK(%#slot%,l,true); WAIT(100ms); ENDIF; NEXT; WAIT(500ms); #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; #bau=0; UNSET(break); FOR(#ladob,1,4); IF(break); BREAK; ELSE; IF(#ladob=1); LOOK(%&fbau%); &ladob=%&fbau%; ENDIF; IF(#ladob=2); LOOK(%&dbau%); &ladob=%&dbau%; ENDIF; IF(#ladob=3); LOOK(%&abau%); &ladob=%&abau%; ENDIF; IF(#ladob=4); LOOK(%&ebau%); &ladob=%&ebau%; ENDIF; FOR(#linhab,1,5); IF(break); BREAK; ELSE; LOOK(%&ladob%); WAIT(100ms); IF(#linhab=1); LOOK(-40,-30); ENDIF; IF(#linhab=2); LOOK(-40,-15); ENDIF; IF(#linhab=3); LOOK(-40,); ENDIF; IF(#linhab=4); LOOK(-40,+25); ENDIF; IF(#linhab=5); LOOK(-40,+35); ENDIF; FOR(#colunab,1,5); INC(#bau); IF(#colunab=1); ELSE; LOOK(+20,); ENDIF; IF(%#bau%=%#abau%); WAIT(500ms); DO; IF((%HITID%=146)|(%HITID%=54)); BREAK; ENDIF; LOOP; SET(repetir); #testgui=0; KEY(Use); DO; INC(#testgui); IF(%#testgui%=100); KEY(Use); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUICHEST); BREAK; ENDIF; LOOP; DO; IF(repetir); ELSE; BREAK; ENDIF; FOR(#slot,0,8); SLOTCLICK(%#slot%,l,true); WAIT(100ms); NEXT; FOR(#slot,9,34); SLOTCLICK(%#slot%,l,false); WAIT(100ms); #colocar=(%#slot%+45); WAIT(100ms); SLOTCLICK(%#colocar%,l,false); NEXT; UNSET(repetir); FOR(#slot,0,34); GETSLOTITEM(%#slot%,#id,#stack); IF(%#id%!=0); SET(repetir); BREAK; ENDIF; NEXT; LOOP; DO; WAIT(100ms); SLOTCLICK(53,l,false); WAIT(100ms); SLOTCLICK(80,l,false); WAIT(500ms); GETSLOTITEM(53,#id,#stack); IF(%#id%=0); BREAK; ENDIF; LOOP; #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; SET(break); BREAK; ENDIF; WAIT(100ms); NEXT; ENDIF; NEXT; ENDIF; NEXT; #xatual=%XPOS%; #yatual=%YPOS%; #zatual=%ZPOS%; WAIT(1); }$$ /home cactotempl $${ DO; IF(%#xatual%!=%XPOS%); BREAK; ENDIF; IF(%#yatual%!=%YPOS%); BREAK; ENDIF; IF(%#zatual%!=%ZPOS%); BREAK; ENDIF; LOOP; WAIT(500ms); LOOK(%&frente%); LOOK(,+90); DO; IFMATCHES(%HIT%,TILE); BREAK; ENDIF; LOOP; WAIT(500ms); KEYDOWN(Sneak); DO(4); PICK(%#blocobase%); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Right); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Right); LOOK(%&esquerda%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; WAIT(100ms); LOOK(%&frente%); LOOK(,+90); LOOP; }$$ /sethome cactotempl $${ WAIT(1); PICK(%#ferramenta%); LOOK(%&esquerda%); IF(%#com%=%#comp%); #doq=2; ELSE; IF(%#lar%=2); #doq=1; LOOK(,+23); ELSE; #doq=2; ENDIF; ENDIF; WAIT(1); DO(%#doq%); LOOK(,+23); WAIT(500ms); #blocoquebrar=%HITID%; WAIT(100ms); DO; KEY(Attack); UNTIL(%HITID%!=%#blocoquebrar%); LOOP; PICK(%#blocobase%); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(100ms); KEYUP(Left); PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Forward); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Forward); LOOK(%&atras%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); ENDIF; INC(#torre); INC(#torrect); #repor=0; #pegarl=1; SET(pegarapoio); #andct=0; FOR(#and,1,%#andares%); INC(#repor); IF(pegarapoio); #testgui=0; GUI(Inventory); DO; INC(#testgui); IF(%#testgui%=100); GUI(Inventory); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUIINVENTORY); BREAK; ENDIF; LOOP; SLOTCLICK(35,l,true); WAIT(500ms); #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; UNSET(pegarapoio); ENDIF; PICK(%#blocobase%); LOOK(%&frente%); LOOK(,+90); #posy=%YPOS%; WAIT(100ms); DO; DO; KEYDOWN(Jump); UNTIL(%YPOS%=%#posy%+1); KEY(Use); KEYUP(Jump); WAIT(1); UNTIL(%#posy%!=%YPOS%); IF(%#larg%=1); ELSE; IF(%#lar%=%#larg%); PICK(%#ferramenta%); LOOK(%&atras%); LOOK(-45,+60); DO; KEY(Attack); UNTIL(%HITID%!=%#blocobase%); PICK(%#blocobase%); LOOK(%&frente%); LOOK(,+90); ENDIF; ENDIF; KEYDOWN(Sneak); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Back); LOOK(%&frente%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Forward); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); WAIT(200ms); KEYUP(Forward); LOOK(%&atras%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(250ms); KEYUP(Back); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Left); LOOK(%&direita%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Right); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); WAIT(200ms); KEYUP(Right); LOOK(%&esquerda%); LOOK(,+82); WAIT(100ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=%#blocobase%); BREAK; ENDIF; LOOP; PICK(%#blocobase%); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(250ms); KEYUP(Left); KEYUP(Sneak); PICK(12); LOOK(%&frente%); LOOK(,+90); #posy=%YPOS%; WAIT(100ms); DO; DO; KEYDOWN(Jump); UNTIL(%YPOS%=%#posy%+1); KEY(Use); PICK(12); KEYUP(Jump); WAIT(1); UNTIL(%#posy%!=%YPOS%); KEYDOWN(Sneak); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); KEYUP(Back); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=12); BREAK; ENDIF; LOOP; PICK(12); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Forward); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); KEYUP(Forward); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=12); BREAK; ENDIF; LOOP; PICK(12); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Back); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); KEYUP(Left); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=12); BREAK; ENDIF; LOOP; PICK(12); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Right); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); KEYUP(Right); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-1,0,#id); IF(%#id%=12); BREAK; ENDIF; LOOP; PICK(12); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Left); KEYUP(Sneak); PICK(%#blocobase%); LOOK(%&frente%); LOOK(,+90); #posy=%YPOS%; WAIT(100ms); DO; DO; KEYDOWN(Jump); UNTIL(%YPOS%=%#posy%+1); KEY(Use); PICK(%#blocobase%); KEYUP(Jump); WAIT(1); UNTIL(%#posy%!=%YPOS%); #posy=%YPOS%; WAIT(100ms); DO; DO; KEYDOWN(Jump); UNTIL(%YPOS%=%#posy%+1); KEY(Use); PICK(%#blocobase%); KEYUP(Jump); WAIT(1); UNTIL(%#posy%!=%YPOS%); PICK(%#ferramenta%); KEYDOWN(Sneak); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(100ms); KEYUP(Back); LOOK(%&frente%); LOOK(,+85); WAIT(100ms); DO; KEY(Attack); UNTIL(%HITID%=12); PICK(81); WAIT(100ms); LOOK(%&frente%); LOOK(,+90); WAIT(300ms); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-2,0,#id); IF(%#id%=81); BREAK; ENDIF; LOOP; PICK(81); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Forward); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); KEYUP(Forward); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-2,0,#id); IF(%#id%=81); BREAK; ENDIF; LOOP; PICK(81); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Back); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Back); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); KEYUP(Left); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-2,0,#id); IF(%#id%=81); BREAK; ENDIF; LOOP; PICK(81); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Right); UNTIL((%ZPOS%=%#zpos%-2)|(%ZPOS%=%#zpos%+2)|(%XPOS%=%#xpos%-2)|(%XPOS%=%#xpos%+2)); KEYUP(Right); #testid=0; KEY(Use); DO; INC(#testid); IF(%#testid%=100); KEY(Use); #testid=0; ENDIF; GETIDREL(0,-2,0,#id); IF(%#id%=81); BREAK; ENDIF; LOOP; PICK(81); WAIT(100ms); #xpos=%XPOS%; #zpos=%ZPOS%; DO; KEYDOWN(Left); UNTIL((%ZPOS%=%#zpos%-1)|(%ZPOS%=%#zpos%+1)|(%XPOS%=%#xpos%-1)|(%XPOS%=%#xpos%+1)); WAIT(200ms); KEYUP(Left); KEYUP(Sneak); WAIT(1); INC(#andct); LOG("&3[MathCraft] &6Torre: &b%#torre%"); LOG("&3[MathCraft] &6Numero de andares construidos: &b%#and%"); IF(%#repor%=%#andaresl%); IF(%#pegarl%=1); #sloti=9; #slotf=17; ENDIF; IF(%#pegarl%=2); #sloti=18; #slotf=26; ENDIF; IF(%#pegarl%=3); #sloti=27; #slotf=34; ENDIF; #testgui=0; GUI(Inventory); DO; INC(#testgui); IF(%#testgui%=100); GUI(Inventory); #testgui=0; ENDIF; IFMATCHES(%GUI%,GUIINVENTORY); BREAK; ENDIF; LOOP; FOR(#slot,%#sloti%,%#slotf%); SLOTCLICK(%#slot%,l,true); WAIT(100ms); NEXT; #testgui=0; GUI(); DO; INC(#testgui); IF(%#testgui%=100); GUI(); #testgui=0; ENDIF; IFMATCHES(%GUI%,NONE); BREAK; ENDIF; LOOP; #repor=0; INC(#pegarl); ENDIF; NEXT; NEXT; NEXT; INC(#torrect); #andct=0; LOG("&3[MathCraft] &6Construir Cacto &4[OFF]"); LOG("&3>> &6Torres construidas: &b%#torrect% &6com &b%#andares% &6andar%&andares%"); IF(%#andct%>0); LOG("&3>> &6Andares construidos: &b%#andct% &6na torre atual"); ENDIF; UNSET(@ctcacto); STOP(); }$$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement