ENTREGUE Macro identifica inventario cheio teleporta e guarda no bau

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.

MagicZeref

Neutro
Entrou
Mar 21, 2025
Mensagens
2
Cubos
0
Boa pessoal, estou procurando bastante no fórum procurando algo bem especifico,
Tenho uma farm de cacau semi automatica, preciso de uma macro que consiga identificar que meu inventario esta quase cheio faltando 2 ou 3 item pra encher, Teleporte pro /home mkb é guarde nos bau, fileira de bau olhando pro north 5 de altura aquele padrao, tentei extrair de uma macro de um rapaz que vi porém nao consegui é também não consegui entender muito, preciso da ajuda de vocês desde ja agradeço, * sou novo no servidor tanto no forum obrigado
Vou deixar o codigo abaixo que eu peguei pra tentar fazer isso ( se necessário pode descartar se nao der pra utilizar ela )

macro cacau
$${
#homes = 3;
&prefixo = "/home h";
#quantas_colunas = 17;
&delay = 200ms;
&teleporte = 5000ms;
&mkb = "/home mkb";
if(@rep);
log("&f&l[&e&lMA&f&lCRO] &f&lDu&e&lCacau &c&lOFF");
unset(@rep);
stop();
endif;
else;
log("&f&l[&e&lMA&f&lCRO] &f&lDu&e&lCacau &a&lON");
set(@rep);
unset(@armazem);
do();
FOR(#i,1,%#homes%);
echo(%&prefixo%%#i%);
wait(6000ms);
do(%#quantas_colunas%);
do(1);
wait(%&delay%);
LOOK(0,44);
wait(%&delay%);
IF(%HIT_AGE% == 2);
pick("diamond_axe");
wait(%&delay%);
key(attack);
wait(%&delay%);
pick("dye");
key(use);
wait(%&delay%);
elseif(%HITID% == "log");
pick("dye");
key(use);
wait(%&delay%);
endif;
wait(%&delay%);
LOOK(0,28);
wait(%&delay%);
IF(%HIT_AGE% == 2);
pick("diamond_axe");
wait(%&delay%);
key(attack);
wait(%&delay%);
pick("dye");
key(use);
wait(%&delay%);
elseif(%HITID% == "log");
pick("dye");
key(use);
wait(%&delay%);
endif;
wait(%&delay%);
LOOK(0,0);
wait(%&delay%);
IF(%HIT_AGE% == 2);
pick("diamond_axe");
wait(%&delay%);
key(attack);
wait(%&delay%);
pick("dye");
key(use);
wait(%&delay%);
elseif(%HITID% == "log");
pick("dye");
key(use);
wait(%&delay%);
endif;
wait(%&delay%);
LOOK(0,-23);
wait(%&delay%);
IF(%HIT_AGE% == 2);
pick("diamond_axe");
wait(%&delay%);
key(attack);
wait(%&delay%);
pick("dye");
key(use);
wait(%&delay%);
elseif(%HITID% == "log");
pick("dye");
key(use);
wait(%&delay%);
endif;
wait(%&delay%);
LOOK(0,-15);
wait(%&delay%);
IF(%HIT_AGE% == 2);
pick("diamond_axe");
wait(%&delay%);
key(attack);
wait(%&delay%);
pick("dye");
key(use);
wait(%&delay%);
elseif(%HITID% == "log");
pick("dye");
key(use);
wait(%&delay%);
endif;
loop;
wait(%&delay%);
look(0,0);
wait(%&delay%);
IF(%DIRECTION%=="N");
LOOK(450,0);
ELSEIF(%DIRECTION%=="W");
LOOK(360,0);
ELSEIF(%DIRECTION%=="S");
LOOK(270,0);
ELSEIF(%DIRECTION%=="E");
LOOK(180,0);
ENDIF;
IF(%DIRECTION%=="N");
SET(#looky44a1cc, 360);
SET(#lookp44a1cc, 0);
ELSEIF(%DIRECTION%=="W");
SET(#looky44a1cc, 270);
SET(#lookp44a1cc, 0);
ELSEIF(%DIRECTION%=="S");
SET(#looky44a1cc, 180);
SET(#lookp44a1cc, 0);
ELSEIF(%DIRECTION%=="E");
SET(#looky44a1cc, 450);
SET(#lookp44a1cc, 0);
ENDIF;
IF(%DIRECTION%=="E");
#xpos244a1cd=%XPOS%+1;
#zpos244a1ce=0;
ELSEIF(%DIRECTION%=="N");
#zpos244a1ce=%ZPOS%-1;
#xpos244a1cd=0;
ELSEIF(%DIRECTION%=="W");
#xpos244a1cd=%XPOS%-1;
#zpos244a1ce=0;
ELSEIF(%DIRECTION%=="S");
#zpos244a1ce=%ZPOS%+1;
#xpos244a1cd=0;
ENDIF;
IF((%DIRECTION%=="N")||(%DIRECTION%=="S"));
DO();
KEYDOWN(forward);
IF(%ZPOS%==%#zpos244a1ce%);
LOOK(%#looky44a1cc%,%#lookp44a1cc%);
KEYUP(forward);
BREAK;
ENDIF;
LOOP;
ELSEIF((%DIRECTION%=="E")||(%DIRECTION%=="W"));
DO();
KEYDOWN(forward);
IF(%XPOS%==%#xpos244a1cd%);
LOOK(%#looky44a1cc%,%#lookp44a1cc%);
KEYUP(forward);
BREAK;
ENDIF;
LOOP;
ENDIF;
IF(%DIRECTION%=="N");
LOOK(270,0);
ELSEIF(%DIRECTION%=="W");
LOOK(180,0);
ELSEIF(%DIRECTION%=="S");
LOOK(450,0);
ELSEIF(%DIRECTION%=="E");
LOOK(360);
ENDIF;
log("&f&l[&e&lMA&f&lCRO] &f&lPassinho pro lado");
wait(100ms);
loop;
wait(3000ms);
gui(inventory);
wait(500ms);
GETSLOTITEM(35,&idvar,#stacks);
IF(%&idvar% == "dye");
IF(%#stacks%==64);
log("&f&l[&e&lMA&f&lCRO] &f&lIniciando Armazenamento");
set(@armazem);
break();
endif;
ENDIF;
gui();
NEXT;
IF(@armazem);
wait(500ms);
echo(%&mkb%);
wait(6000ms);
SET(#bau44a1d6,0);
SET(#distancia44a1d6,0);
UNSET(#coluna44a1d6);
UNSET(#baus_verificados44a1d6);
UNSET(#quantidade_movidos);
DO;
#distancia44a1d6=#distancia44a1d6*1;
if(%DIRECTION%=="N");
#dir44a1d7=0;
#variacaoz44a1d7=0;
#variacaox44a1d7=1;
SET(andar_direita44a1d7);
SET(distancia_positiva44a1d7);
elseif(%DIRECTION%=="S");
#dir44a1d7=180;
#variacaoz44a1d7=0;
#variacaox44a1d7=-1;
SET(andar_direita44a1d7);
UNSET(distancia_positiva44a1d7);
elseif(%DIRECTION%=="E");
#dir44a1d7=90;
#variacaox44a1d7=0;
#variacaoz44a1d7=1;
SET(andar_direita44a1d7);
SET(distancia_positiva44a1d7);
elseif(%DIRECTION%=="W");
#dir44a1d7=270;
#variacaox44a1d7=0;
#variacaoz44a1d7=-1;
SET(andar_direita44a1d7);
UNSET(distancia_positiva44a1d7);
endif;
#destinox44a1d7=XPOS+(%#distancia44a1d6%*#variacaox44a1d7);
#destinoz44a1d7=ZPOS+(%#distancia44a1d6%*#variacaoz44a1d7);
SET(#pitch_congelado44a1d7,%PITCH%);
CENTEROVERBLOCK();
WAIT(3t);
do;
look(%#dir44a1d7%,%#pitch_congelado44a1d7%);
GETIDREL(%#variacaox44a1d7%,-1,%#variacaoz44a1d7%,&bloco_lado44a1d7);
GETIDREL(%#variacaox44a1d7%,0,%#variacaoz44a1d7%,&bloco_lado044a1d7);
GETIDREL(%#variacaox44a1d7%,1,%#variacaoz44a1d7%,&bloco_lado144a1d7);
#diferenca_eixo44a1d7=(#destinox44a1d7-XPOS)+(#destinoz44a1d7-ZPOS);
#abs_diferenca_eixo44a1d7=#diferenca_eixo44a1d7;
IF(#diferenca_eixo44a1d7<0);
#abs_diferenca_eixo44a1d7=#diferenca_eixo44a1d7*-1;
ENDIF;
IF(((#diferenca_eixo44a1d7>0)&&(!distancia_positiva44a1d7))||((#diferenca_eixo44a1d7<0)&&(distancia_positiva44a1d7)));
TOGGLE(andar_direita44a1d7);
TOGGLE(distancia_positiva44a1d7);
#variacaox44a1d7=#variacaox44a1d7*-1;
#variacaoz44a1d7=#variacaoz44a1d7*-1;
LOG("§e✘ §8woops");
KEYUP("right");
KEYUP("left");
WAIT(1t);
ELSEIF(#diferenca_eixo44a1d7==0);
SET(success44a1cf);
BREAK;
ENDIF;
IFMATCHES("%&bloco_lado44a1d7%","^0$|^air$|^31$|^grass$|^6$|^sapling$|^37$|^flower$|^38$|^rose$|^39$|^40$|^torch$|^50$");
UNSET(success44a1cf);
BREAK;
ENDIF;
IFMATCHES("{%&bloco_lado044a1d7%}{%&bloco_lado144a1d7%}","^(?!\s*$)(?:\{(0|air|31|grass|6|sapling|37|flower|38|rose|39|40|torch|50)\})+$");
SET(success44a1cf);
ELSE;
UNSET(success44a1cf);
BREAK;
ENDIF;
IF(andar_direita44a1d7);
KEYDOWN("right");
ELSE;
KEYDOWN("left");
ENDIF;
WAIT(1t);
LOOP;
KEYUP("right");
KEYUP("left");
WAIT(3t);
CENTEROVERBLOCK();
INC(#coluna44a1d6,%#distancia44a1d6%);
IF(success44a1cf);
#front44a1d6=2;
#right44a1d6=0;
#up44a1d6=3-#bau44a1d6;
#x44a1d6=(((DIRECTION=="E")-(DIRECTION=="W"))*(#front44a1d6))+(((DIRECTION=="N")-(DIRECTION=="S"))*(#right44a1d6))+XPOS;
#y44a1d6=YPOS+#up44a1d6;
#z44a1d6=(((DIRECTION=="S")-(DIRECTION=="N"))*(#front44a1d6))+(((DIRECTION=="E")-(DIRECTION=="W"))*(#right44a1d6))+ZPOS;
GETID(%#x44a1d6%,%#y44a1d6%,%#z44a1d6%,&id_bloco44a1d6);
UNSET(abriu44a1d6);
IFMATCHES("%&id_bloco44a1d6%","^54$|^chest$|^146$|^trapped_chest$|^130$|^ender_chest$");
#yaw44a1d8=((DIRECTION=="N")*360)+((DIRECTION=="S")*180)+((DIRECTION=="E")*90)+((DIRECTION=="W")*270);
INC(#yaw44a1d8,5);
if(%#bau44a1d6%==0);
look(%#yaw44a1d8%,310);
elseif(%#bau44a1d6%==1);
look(%#yaw44a1d8%,335);
elseif(%#bau44a1d6%==2);
look(%#yaw44a1d8%,0);
elseif(%#bau44a1d6%==3);
look(%#yaw44a1d8%,35);
elseif(%#bau44a1d6%==4);
look(%#yaw44a1d8%,50);
endif;
WAIT(1t);
UNSET(abriu44a1d6);
IFMATCHES(%HITID%,"^54$|^chest$|^146$|^trapped_chest$|^130$|^ender_chest$");
IFMATCHES(%HITSIDE%,"^N$|^S$|^E$|^W$");
#distancex44a1cf=XPOS-HITX;
#distancez44a1cf=ZPOS-HITZ;
#distancesum44a1cf=#distancex44a1cf+#distancez44a1cf;
MATCH("%#distancesum44a1cf%","-?([0-9]+)",#distance44a1cf,1);
IF(#distance44a1cf==2);
DO;
INC(#count44a1cfabrir,1);
IFMATCHES(%GUI%,CHEST);
SET(abriu44a1d6);
BREAK;
ELSE;
IF(#count44a1cfabrir>50);
BREAK;
ENDIF;
KEYUP(SNEAK);
KEY(USE);
WAIT(10t);
ENDIF;
LOOP;
UNSET(#count44a1cfabrir);
ELSE;
LOG("§e✘ §8baú na distância incorreta");
ENDIF;
ELSE;
LOG("§e✘ §8baú mal colocado");
ENDIF;
ELSE;
LOG("§e✘ §8não é báu");
ENDIF;
endif;
IF(abriu44a1d6);
IF(!%#baus_verificados44a1d6%);
SET(#quantidade_faltando44a1d9,0);
ENDIF;
UNSET(#quantidade44a1d9);
#yaw44a1da=((DIRECTION=="N")*360)+((DIRECTION=="S")*180)+((DIRECTION=="E")*90)+((DIRECTION=="W")*270);
INC(#yaw44a1da,5);
if(%#bau44a1d6%==0);
look(%#yaw44a1da%,310);
elseif(%#bau44a1d6%==1);
look(%#yaw44a1da%,335);
elseif(%#bau44a1d6%==2);
look(%#yaw44a1da%,0);
elseif(%#bau44a1d6%==3);
look(%#yaw44a1da%,35);
elseif(%#bau44a1d6%==4);
look(%#yaw44a1da%,50);
endif;
WAIT(1t);
UNSET(#quantidade44a1d9);
UNSET(obstrucao44a1d9);
FOR(#slot44a1db,54,89);
IFMATCHES("%ITEM%","^[0-9]+$");
GETSLOTITEM(%#slot44a1db%,#id44a1db,#stacksizevar44a1db,#datavar44a1db);
MATCH("%#id44a1db%:%#datavar44a1db%","([0-9]+):([0-9]+)",{&id44a1db,&datavar44a1db});
ELSE;
GETSLOTITEM(%#slot44a1db%,&id44a1db,#stacksizevar44a1db,&datavar44a1db);
ENDIF;
IF(%#slot44a1db%==54);
UNSET(#quant44a1dc);
ENDIF;
UNSET(obstrucao44a1d9);
IF(%#stacksizevar44a1db%>1);
IFMATCHES("%&id44a1db%","^dye$");
GETSLOTITEM(%#slot44a1db%,#id44a1dc,#stack44a1dc);
SLOTCLICK(%#slot44a1db%,l,true);
WAIT(1t);
GETSLOTITEM(%#slot44a1db%,#i44a1dc,#newstack44a1dc);
IF(#stack44a1dc>#newstack44a1dc);
INC(#quant44a1dc,1);
ENDIF;
SET(#quantidade44a1d9,%#quant44a1dc%);
IF(#newstack44a1dc!=0);
SET(obstrucao44a1d9);
BREAK;
ENDIF;
SET(#posicao_d44a1dc,-1);
UNSET(#posicao_d44a1dc);
FOR(#slot44a1dd,0,53);
IFMATCHES("%ITEM%","^[0-9]+$");
GETSLOTITEM(%#slot44a1dd%,#id44a1dd,#stacksizevar44a1dd,#datavar44a1dd);
MATCH("%#id44a1dd%:%#datavar44a1dd%","([0-9]+):([0-9]+)",{&id44a1dd,&datavar44a1dd});
ELSE;
GETSLOTITEM(%#slot44a1dd%,&id44a1dd,#stacksizevar44a1dd,&datavar44a1dd);
ENDIF;
ifmatches("%&id44a1dd%","^%#id44a1dc%$");
IF(%#stacksizevar44a1dd%>1);
set(#posicao_d44a1dc,%#slot44a1dd%);
break;
ENDIF;
endif;
NEXT;
SLOTCLICK(%#posicao_d44a1dc%,l,false);
WAIT(1t);
SLOTCLICK(%#slot44a1db%,r,false);
WAIT(1t);
SLOTCLICK(%#posicao_d44a1dc%,l,false);
WAIT(1t);
IF((%#quantidade_faltando44a1d9%>0)&&(#quant44a1dc>=%#quantidade_faltando44a1d9%));
BREAK;
ENDIF;
ENDIF;
ENDIF;
NEXT;
INC(#quantidade_movidos,%#quantidade44a1d9%);
DEC(#quantidade_faltando44a1d9,%#quantidade44a1d9%);
IF((0!=0)&&(#quantidade_faltando44a1d9<=0));
BREAK;
ENDIF;
IF(!obstrucao44a1d9);
LOG("§a✓ §8não há mais itens para mover");
BREAK;
ELSE;
LOG("§e⚠ §8baú cheio");
ENDIF;
UNSET(fechou44a1d6);
DO;
IFMATCHES(%GUI%,NONE);
SET(fechou44a1d6);
BREAK;
ELSE;
GUI();
ENDIF;
WAIT(5t);
LOOP;
IF(!fechou44a1d6);
UNSET(success44a1cf);
BREAK;
ENDIF;
ENDIF;
UNSET(#distancia44a1d6);
UNSET(bottom_reached44a1d6);
INC(#bau44a1d6,1);
IF(#bau44a1d6>4);
SET(#bau44a1d6,4);
SET(bottom_reached44a1d6);
ENDIF;
INC(#baus_verificados44a1d6,1);
IF((0>0)&&(#baus_verificados44a1d6==0));
LOG("§a✓ §8limite de baús alcançado");
BREAK;
ENDIF;
IF(bottom_reached44a1d6);
UNSET(#bau44a1d6);
INC(#distancia44a1d6,1);
ENDIF;
ELSE;
LOG("§e✘ §8fim da passarela");
BREAK;
ENDIF;
LOOP;
UNSET(fechou44a1d6);
DO;
IFMATCHES(%GUI%,NONE);
SET(fechou44a1d6);
BREAK;
ELSE;
GUI();
ENDIF;
WAIT(5t);
LOOP;
IF((success44a1cf)&&(!fechou44a1d6));
UNSET(success44a1cf);
ENDIF;
SET(@#bau,%#bau44a1d6%);
SET(@#coluna,%#coluna44a1d6%);
log("&f&l[&e&lMA&f&lCRO] &f&lForam guardados "%#quantidade_movidos%);
gui();
ENDIF;
WHILE(!@concluido);
log("&f&l[&e&lMA&f&lCRO] &f&lDu&e&lCacau &c&lOFF");
unset(@rep);
stop();
endif;​
 
Posso te ajudar
Espera somente eu chegar em casa do trampo te mando aqui certinho o código


Mas é até meio simples pra identificar se está "quase cheio"

Código:
$${
gui(inventory);
wait(300ms);
GETSLOTITEM(32,&idvar);
IF(%&idvar%=="dye");
    LOG("§5Ir para Home");
    echo("/home mkb");
    wait(6000ms);
    SET(#bau44f6ab,1);
    SET(#distancia44f6ab,0);
    UNSET(#coluna44f6ab);
    UNSET(#baus_verificados44f6ab);
    UNSET(#quantidade_movidos);
    DO;
        #distancia44f6ab=#distancia44f6ab*1;
        if(%DIRECTION%=="N");
            #dir44f6ac=0;
            #variacaoz44f6ac=0;
            #variacaox44f6ac=1;
            SET(andar_direita44f6ac);
            SET(distancia_positiva44f6ac);
        elseif(%DIRECTION%=="S");
            #dir44f6ac=180;
            #variacaoz44f6ac=0;
            #variacaox44f6ac=-1;
            SET(andar_direita44f6ac);
            UNSET(distancia_positiva44f6ac);
        elseif(%DIRECTION%=="E");
            #dir44f6ac=90;
            #variacaox44f6ac=0;
            #variacaoz44f6ac=1;
            SET(andar_direita44f6ac);
            SET(distancia_positiva44f6ac);
        elseif(%DIRECTION%=="W");
            #dir44f6ac=270;
            #variacaox44f6ac=0;
            #variacaoz44f6ac=-1;
            SET(andar_direita44f6ac);
            UNSET(distancia_positiva44f6ac);
        endif;
        #destinox44f6ac=XPOS+(%#distancia44f6ab%*#variacaox44f6ac);
        #destinoz44f6ac=ZPOS+(%#distancia44f6ab%*#variacaoz44f6ac);
        SET(#pitch_congelado44f6ac,%PITCH%);
        CENTEROVERBLOCK();
        WAIT(3t);
        do;
            look(%#dir44f6ac%,%#pitch_congelado44f6ac%);
            GETIDREL(%#variacaox44f6ac%,-1,%#variacaoz44f6ac%,&bloco_lado44f6ac);
            GETIDREL(%#variacaox44f6ac%,0,%#variacaoz44f6ac%,&bloco_lado044f6ac);
            GETIDREL(%#variacaox44f6ac%,1,%#variacaoz44f6ac%,&bloco_lado144f6ac);
            #diferenca_eixo44f6ac=(#destinox44f6ac-XPOS)+(#destinoz44f6ac-ZPOS);
            #abs_diferenca_eixo44f6ac=#diferenca_eixo44f6ac;
            IF(#diferenca_eixo44f6ac<0);
                #abs_diferenca_eixo44f6ac=#diferenca_eixo44f6ac*-1;
            ENDIF;
            IF(((#diferenca_eixo44f6ac>0)&&(!distancia_positiva44f6ac))||((#diferenca_eixo44f6ac<0)&&(distancia_positiva44f6ac)));
                TOGGLE(andar_direita44f6ac);
                TOGGLE(distancia_positiva44f6ac);
                #variacaox44f6ac=#variacaox44f6ac*-1;
                #variacaoz44f6ac=#variacaoz44f6ac*-1;
                LOG("§e✘ §8woops");
                KEYUP("right");
                KEYUP("left");
                WAIT(1t);
            ELSEIF(#diferenca_eixo44f6ac==0);
                SET(success44f6a4);
                BREAK;
            ENDIF;
            IFMATCHES("%&bloco_lado44f6ac%","^0$|^air$|^31$|^grass$|^6$|^sapling$|^37$|^flower$|^38$|^rose$|^39$|^40$|^torch$|^50$");
                UNSET(success44f6a4);
                BREAK;
            ENDIF;
            IFMATCHES("{%&bloco_lado044f6ac%}{%&bloco_lado144f6ac%}","^(?!\s*$)(?:\{(0|air|31|grass|6|sapling|37|flower|38|rose|39|40|torch|50)\})+$");
                SET(success44f6a4);
            ELSE;
                UNSET(success44f6a4);
                BREAK;
            ENDIF;
            IF(andar_direita44f6ac);
                KEYDOWN("right");
            ELSE;
                KEYDOWN("left");
            ENDIF;
            WAIT(1t);
        LOOP;
        KEYUP("right");
        KEYUP("left");
        WAIT(3t);
        CENTEROVERBLOCK();
        INC(#coluna44f6ab,%#distancia44f6ab%);
        IF(success44f6a4);
            #front44f6ab=2;
            #right44f6ab=0;
            #up44f6ab=3-#bau44f6ab;
            #x44f6ab=(((DIRECTION=="E")-(DIRECTION=="W"))*(#front44f6ab))+(((DIRECTION=="N")-(DIRECTION=="S"))*(#right44f6ab))+XPOS;
            #y44f6ab=YPOS+#up44f6ab;
            #z44f6ab=(((DIRECTION=="S")-(DIRECTION=="N"))*(#front44f6ab))+(((DIRECTION=="E")-(DIRECTION=="W"))*(#right44f6ab))+ZPOS;
            GETID(%#x44f6ab%,%#y44f6ab%,%#z44f6ab%,&id_bloco44f6ab);
            UNSET(abriu44f6ab);
            IFMATCHES("%&id_bloco44f6ab%","^54$|^chest$|^146$|^trapped_chest$|^130$|^ender_chest$");
                #yaw44f6ad=((DIRECTION=="N")*360)+((DIRECTION=="S")*180)+((DIRECTION=="E")*90)+((DIRECTION=="W")*270);
                INC(#yaw44f6ad,5);
                if(%#bau44f6ab%==0);
                    look(%#yaw44f6ad%,310);
                elseif(%#bau44f6ab%==1);
                    look(%#yaw44f6ad%,335);
                elseif(%#bau44f6ab%==2);
                    look(%#yaw44f6ad%,0);
                elseif(%#bau44f6ab%==3);
                    look(%#yaw44f6ad%,35);
                elseif(%#bau44f6ab%==4);
                    look(%#yaw44f6ad%,50);
                endif;
                WAIT(1t);
                UNSET(abriu44f6ab);
                IFMATCHES(%HITID%,"^54$|^chest$|^146$|^trapped_chest$|^130$|^ender_chest$");
                    IFMATCHES(%HITSIDE%,"^N$|^S$|^E$|^W$");
                        #distancex44f6a4=XPOS-HITX;
                        #distancez44f6a4=ZPOS-HITZ;
                        #distancesum44f6a4=#distancex44f6a4+#distancez44f6a4;
                        MATCH("%#distancesum44f6a4%","-?([0-9]+)",#distance44f6a4,1);
                        IF(#distance44f6a4==2);
                            DO;
                                INC(#count44f6a4abrir,1);
                                IFMATCHES(%GUI%,CHEST);
                                    SET(abriu44f6ab);
                                    BREAK;
                                ELSE;
                                    IF(#count44f6a4abrir>50);
                                        BREAK;
                                    ENDIF;
                                    KEYUP(SNEAK);
                                    KEY(USE);
                                    WAIT(10t);
                                ENDIF;
                            LOOP;
                            UNSET(#count44f6a4abrir);
                        ELSE;
                            LOG("§e✘ §8baú na distância incorreta");
                        ENDIF;
                    ELSE;
                        LOG("§e✘ §8baú mal colocado");
                    ENDIF;
                ELSE;
                    LOG("§e✘ §8não é báu");
                ENDIF;
            endif;
            IF(abriu44f6ab);
                IF(!%#baus_verificados44f6ab%);
                    SET(#quantidade_faltando44f6ae,0);
                ENDIF;
                UNSET(#quantidade44f6ae);
                #yaw44f6af=((DIRECTION=="N")*360)+((DIRECTION=="S")*180)+((DIRECTION=="E")*90)+((DIRECTION=="W")*270);
                INC(#yaw44f6af,5);
                if(%#bau44f6ab%==0);
                    look(%#yaw44f6af%,310);
                elseif(%#bau44f6ab%==1);
                    look(%#yaw44f6af%,335);
                elseif(%#bau44f6ab%==2);
                    look(%#yaw44f6af%,0);
                elseif(%#bau44f6ab%==3);
                    look(%#yaw44f6af%,35);
                elseif(%#bau44f6ab%==4);
                    look(%#yaw44f6af%,50);
                endif;
                WAIT(1t);
                UNSET(#quantidade44f6ae);
                UNSET(obstrucao44f6ae);
                FOR(#slot44f6b0,54,89);
                    IFMATCHES("%ITEM%","^[0-9]+$");
                        GETSLOTITEM(%#slot44f6b0%,#id44f6b0,#stacksizevar44f6b0,#datavar44f6b0);
                        MATCH("%#id44f6b0%:%#datavar44f6b0%","([0-9]+):([0-9]+)",{&id44f6b0,&datavar44f6b0});
                    ELSE;
                        GETSLOTITEM(%#slot44f6b0%,&id44f6b0,#stacksizevar44f6b0,&datavar44f6b0);
                    ENDIF;
                    IF(%#slot44f6b0%==54);
                        UNSET(#quant44f6b1);
                    ENDIF;
                    UNSET(obstrucao44f6ae);
                    IF(%#stacksizevar44f6b0%>1);
                        IFMATCHES("%&id44f6b0%","^dye$");
                            GETSLOTITEM(%#slot44f6b0%,#id44f6b1,#stack44f6b1);
                            SLOTCLICK(%#slot44f6b0%,l,true);
                            WAIT(1t);
                            GETSLOTITEM(%#slot44f6b0%,#i44f6b1,#newstack44f6b1);
                            IF(#stack44f6b1>#newstack44f6b1);
                                INC(#quant44f6b1,1);
                            ENDIF;
                            SET(#quantidade44f6ae,%#quant44f6b1%);
                            IF(#newstack44f6b1!=0);
                                SET(obstrucao44f6ae);
                                BREAK;
                            ENDIF;
                            SET(#posicao_d44f6b1,-1);
                            UNSET(#posicao_d44f6b1);
                            FOR(#slot44f6b2,0,53);
                                IFMATCHES("%ITEM%","^[0-9]+$");
                                    GETSLOTITEM(%#slot44f6b2%,#id44f6b2,#stacksizevar44f6b2,#datavar44f6b2);
                                    MATCH("%#id44f6b2%:%#datavar44f6b2%","([0-9]+):([0-9]+)",{&id44f6b2,&datavar44f6b2});
                                ELSE;
                                    GETSLOTITEM(%#slot44f6b2%,&id44f6b2,#stacksizevar44f6b2,&datavar44f6b2);
                                ENDIF;
                                ifmatches("%&id44f6b2%","^%#id44f6b1%$");
                                    IF(%#stacksizevar44f6b2%>1);
                                        set(#posicao_d44f6b1,%#slot44f6b2%);
                                        break;
                                    ENDIF;
                                endif;
                            NEXT;
                            SLOTCLICK(%#posicao_d44f6b1%,l,false);
                            WAIT(1t);
                            SLOTCLICK(%#slot44f6b0%,r,false);
                            WAIT(1t);
                            SLOTCLICK(%#posicao_d44f6b1%,l,false);
                            WAIT(1t);
                            IF((%#quantidade_faltando44f6ae%>0)&&(#quant44f6b1>=%#quantidade_faltando44f6ae%));
                                BREAK;
                            ENDIF;
                        ENDIF;
                    ENDIF;
                NEXT;
                INC(#quantidade_movidos,%#quantidade44f6ae%);
                DEC(#quantidade_faltando44f6ae,%#quantidade44f6ae%);
                IF((0!=0)&&(#quantidade_faltando44f6ae<=0));
                    BREAK;
                ENDIF;
                IF(!obstrucao44f6ae);
                    LOG("§a✓ §8não há mais itens para mover");
                    BREAK;
                ELSE;
                    LOG("§e⚠ §8baú cheio");
                ENDIF;
                UNSET(fechou44f6ab);
                DO;
                    IFMATCHES(%GUI%,NONE);
                        SET(fechou44f6ab);
                        BREAK;
                    ELSE;
                        GUI();
                    ENDIF;
                    WAIT(5t);
                LOOP;
                IF(!fechou44f6ab);
                    UNSET(success44f6a4);
                    BREAK;
                ENDIF;
            ENDIF;
            UNSET(#distancia44f6ab);
            UNSET(bottom_reached44f6ab);
            INC(#bau44f6ab,1);
            IF(#bau44f6ab>4);
                SET(#bau44f6ab,4);
                SET(bottom_reached44f6ab);
            ENDIF;
            INC(#baus_verificados44f6ab,1);
            IF((0>0)&&(#baus_verificados44f6ab==0));
                LOG("§a✓ §8limite de baús alcançado");
                BREAK;
            ENDIF;
            IF(bottom_reached44f6ab);
                UNSET(#bau44f6ab);
                INC(#distancia44f6ab,1);
            ENDIF;
        ELSE;
            LOG("§e✘ §8fim da passarela");
            BREAK;
        ENDIF;
    LOOP;
    UNSET(fechou44f6ab);
    DO;
        IFMATCHES(%GUI%,NONE);
            SET(fechou44f6ab);
            BREAK;
        ELSE;
            GUI();
        ENDIF;
        WAIT(5t);
    LOOP;
    IF((success44f6a4)&&(!fechou44f6ab));
        UNSET(success44f6a4);
    ENDIF;
    SET(@#bau,%#bau44f6ab%);
    SET(@#coluna,%#coluna44f6ab%);
    LOG("§5prontinhoo");
ENDIF;
)}$$

Testa e me fala se deu certo
 
Última edição:
Duardo Bom dia não deu certo não sei se pode ser eu que to fazendo algo errado, ele abre o inventario olha e nao faz mais nada fica nesse ciclo, não sei as regras de forum ainda, queria pedir seu discord para que me ajude o discord aque aparece ali do nado parece que nao existe
 
Duardo Bom dia não deu certo não sei se pode ser eu que to fazendo algo errado, ele abre o inventario olha e nao faz mais nada fica nesse ciclo, não sei as regras de forum ainda, queria pedir seu discord para que me ajude o discord aque aparece ali do nado parece que nao existe

Chama lá no Discord #duardo6086
 
Pedido entregue, tag [Entregue] adicionada e tópico movido para Entregues.

Obs: Está mensagem é automática.
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo