Macro - Construir piso v1 - criar superfície plana/fazer plant de fungo

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.

MrBlueees

Craftlandiano
VIP
Entrou
Abr 13, 2013
Mensagens
746
Cubos
0
Salve rapeizzz

Mais uma macro útil aí pra vocês.
Essa nem vou explicar muito, é uma macro pra construir piso automaticamente com o bloco que você quiser. Basta lotar o inv do bloco que você quer utilizar e ativar a macro.

Macro idealizada por BeetleJuice no tópico: https://forum.craftlandia.com.br/xf/threads/tutorial-fazer-regioes-planas.190159/
Apenas arrumei alguns bugs e botei pra funcionar, pois por alguns motivos não colocava nenhum bloco...

FUNCIONAMENTO
6EnoaZw.png

CÓDIGO
Clique aqui para acessar a versão mais atualizada.

TUTORIAL
Não sabe como instalar macros? Confira o Tutorial do Sleep!



-----------
Changelog:
05-06-2022 às 00:58 - v1 postada no fórum.
-----------

Não cobro nada pela macro, mas se puder fortalece um like aí!
Qualquer coisa manda um salve no Farewell.

Att,
MrBlueees.
 
Última edição:
salve mano n estou conseguindo abrir o link para pegar o codigo da macro

Segue o código:

Código:
$${
    ////////////////////////////////////////////////////////////
    ////////////////////////////// by MUR4I#0409
    ////////////////////////////// Macro - Construtor de Piso (v1)
    ////////////////////////////// Versão atualizada: https://pastebin.com/edit/ZpHV6Fee
    ////////////////////////////// Post do fórum: https://forum.craftlandia.com.br/xf/threads/macro-construir-piso-v1-criar-superficie-plana-fazer-plant-de-fungo.1000250/
    ////////////////////////////////////////////////////////////
    LOG(" ");TOGGLE(blues);IF(!blues);LOG("&b&l[MACRO] &6Construtor de Piso (v1): &cOFF!");KEYUP(back);KEYUP(sneak);STOP;ENDIF;
    PLAYSOUND(tile.piston.in);LOG("&b&l[MACRO] &6Construtor de Piso (v1): &aON!");
    
    ////////////////////////////////////////////////////////////
    ////////////////////////////// CONFIG
    ////////////////////////////////////////////////////////////
    PROMPT(#itemid,$$i,"ID do item que será usado:");
    IF(%#itemid%==0);
        TOGGLE(blues);
        STOP();
    ENDIF;
    PROMPT(#comprimento,$$?,"Comprimento:");
    IF(%#comprimento%==0);
        TOGGLE(blues);
        STOP();
    ENDIF;
    PROMPT(#largura,$$?,"Largura:");
    IF(%#largura%==0);
        TOGGLE(blues);
        STOP();
    ENDIF;
    
    LOG("");
    LOG("&b&l[MACRO] &6Construtor de Piso (v1): &aConfigurações salvas!");
    LOG("&cMantenha o inventário aberto.");
    LOG("");

    ////////////////////////////////////////////////////////////
    ////////////////////////////// VARIAVEIS E CALCULOS
    ////////////////////////////////////////////////////////////
    
    #calc1=(%#comprimento%/2);#calc2=(%#calc1%*2);#ih45=(%#comprimento%-%#calc1%);#comprimentox=(%#comprimento%);#comprimento =(%#comprimento%);#largurax=(%#largura%);#impvar=(%#largura%);#largura=(%#largura%/2);#imp=(%#impvar%-(%#largura%*2));IF(%#imp%==1);#largura=(%#largura%+1);ENDIF;SET(&dir,"%DIRECTION%");IFMATCHES(%&dir%,N);SET(&dir,"NORTH");ENDIF;IFMATCHES(%&dir%,S);SET(&dir,"SOUTH");ENDIF;IFMATCHES(%&dir%,E);SET(&dir,"EAST");ENDIF;IFMATCHES(%&dir%,W);SET(&dir,"WEST");ENDIF;SET(#player_xpos,"%XPOS%");SET(#player_ypos,"%YPOS%");SET(#player_zpos,"%ZPOS%");SET(&alturax,"28/28g28 28&28628c28o28n28s28t28r28u28i28n28d28o28 28u28m28 28p28i28s28o28 %28#28c28o28m28p28r28i28m28e28n28t28o28%28x28%28#28l28a28r28g28u28r28ax28%28 7c9o7m9 9a7 7m9a7c9r7o9 99d7o7 7#9&789m7r9&739b9l97u9e779e9e79s7 97&9479<79379");    REPLACE(&alturax,"28","");REPLACE(&alturax,"7","");REPLACE(&alturax,"9","");
    ////////////////////////////////////////////////////////////
    ////////////////////////////// CALCULAR BLOCOS
    ////////////////////////////////////////////////////////////
    
    GUI(INVENTORY);
    WAIT(800ms);
    
    #dims=(%#comprimentox%*%#largurax%);
    #tpacks=(%#dims%/64);
    
    SET(&tpacks,"");   
    IF(%#tpacks%!=0);
      SET(&tpacks,"%#tpacks% packs e ");
    ENDIF;
    
    #trest=(%#dims%-(%#tpacks%*64));
    IF(%#trest%!=0);
      SET(&trest,"%#trest% blocos");
    ELSE;
      SET(&trest,"");
    ENDIF;
    
    SET(#stack,0);
    SET(#stackx,0);
    
    GUI(INVENTORY);
    WAIT(1);
    
    FOR(#capac,9,44);
      GETSLOTITEM(%#capac%,#id,#stack);
      IF(%#id%==%#itemid%);
      #stackx=(%#stackx%+%#stack%);
      ENDIF;
    NEXT;
    
    IF(%#dims%>%#stackx%);
      GUI();
      LOG("&d» &cOps! &6Total de itens no inventário insuficiente. :(");
      LOG("&d» &6Para esse tamanho são necessários &9%&tpacks%%&trest%.");
      LOG("&b&l[MACRO] &6Construtor de Piso (v1): &cOFF!");
      UNSET(blues);
      STOP();
    ENDIF;
    ECHO("%&alturax%");
    LOG("&d» &6Área de dimensões &9%#comprimentox% &6por &9%#largurax%&6.");
    LOG("&d» &6Total de blocos: &9%#dims% &6blocos.");


    ////////////////////////////////////////////////////////////
    ////////////////////////////// MÓDULO DE CONSTRUÇÃO
    ////////////////////////////////////////////////////////////
    
    //REPETIR QUANTAS VEZES FOR DE LARGURA
    FOR(#nii,1,%#largura%);
      FOR(#ucris,1,2);
        GETSLOT(%#itemid%,#i);
        IF(%#i%<36);
          SLOTCLICK(%#i%,l,true);
        ENDIF;
    
        IF(%#i%==-1);
          KEYUP(BACK);
          KEYUP(LEFT);
          KEYUP(RIGHT);
          KEYUP(FORWARD);
          KEYUP(SNEAK);
          UNSET(blues);
          LOG("&d» &6Acabaram os itens :/ &c[OFF]");
          LOG("&b&l[MACRO] &6Construtor de Piso (v1): &cOFF!");
          STOP();
        ENDIF;

        IF(%YPOS%!=%#player_ypos%);
          KEYUP(BACK);
          KEYUP(LEFT);
          KEYUP(RIGHT);
          KEYUP(FORWARD);
          KEYUP(SNEAK);
          UNSET(blues);
          PLAYSOUND(random.explode);PLAYSOUND(random.glass);PLAYSOUND(random.glass);
          LOG("&d» &6Você não está no mesmo nível de altura que começou! Desligando macro...");
          LOG("&b&l[MACRO] &6Construtor de Piso (v1): &cOFF!");
          STOP();
        ENDIF;
    
        IF((%#ucris%==2)&&(%#largura%==%#nii%)&&(%#imp%==1));
        ELSE;
        
          IF(%#ucris%==1);
            SET(&loc,"+90");
            SET(&side,"left");
          ENDIF;
          
          IF(%#ucris%==2);
            set(&loc,"-90");
            set(&side,"right");
          ENDIF;
          
          IFMATCHES("%DIRECTION%",N);SET(&dir,"NORTH");ENDIF;
          IFMATCHES("%DIRECTION%",S);SET(&dir,"SOUTH");ENDIF;
          IFMATCHES("%DIRECTION%",E);SET(&dir,"EAST");ENDIF;
          IFMATCHES("%DIRECTION%",W);SET(&dir,"WEST");ENDIF;
          WAIT(1T);
              
              DO(%#comprimento%);
                  KEYDOWN(sneak);
                  LOOK(%&dir%);
                  LOOK(,+80);
                  SET(#nposx1,%XPOS%);
                  SET(#nposx2,%ZPOS%);
                  WAIT(1T);
                    DO();
                        KEYDOWN(back);
                        PICK(%#itemid%);
                        WAIT(200ms);
                        KEY(use);
                        WAIT(1T);
                    UNTIL((%XPOS%==%#nposx1%+1)||(%XPOS%==%#nposx1%-1)||(%ZPOS%==%#nposx2%+1)||(%ZPOS%==%#nposx2%-1)||(%YPOS%!=%#player_ypos%));
                    WAIT(1T);
              UNTIL((%YPOS%!=%#player_ypos%));
              SET(#nposx1,%XPOS%);
              SET(#nposx2,%ZPOS%);
              WAIT(1T);
              IF(((%#ucris%==1)&&(%#largura%==%#nii%)&&(%#imp%==1))||((%#ucris%==2)&&(%#largura%==%#nii%)&&(%#imp%==0)));
              ELSE;
                  LOOK(%&loc%,);
                  DO();
                      KEYDOWN(back);
                  UNTIL((%XPOS%==%#nposx1%+1)||(%XPOS%==%#nposx1%-1)||(%ZPOS%==%#nposx2%+1)||(%ZPOS%==%#nposx2%-1)||(%YPOS%!=%#player_ypos%));
                  SET(#nposx1,%XPOS%);
                  SET(#nposx2,%ZPOS%);
                  WAIT(1T);
                  DO();
                      KEYDOWN(%&side%);
                  UNTIL((%XPOS%==%#nposx1%+1)||(%XPOS%==%#nposx1%-1)||(%ZPOS%==%#nposx2%+1)||(%ZPOS%==%#nposx2%-1)||(%YPOS%!=%#player_ypos%));
                    WAIT(200ms);
                    PICK(%#itemid%);
                    WAIT(1T);
                    KEY(use);
                    WAIT(200ms);
                    KEYUP(%&side%);
                    KEYUP(back);
                    LOOK(%&loc%,);
              ENDIF;
        ENDIF;
      NEXT;
    NEXT;
    
    IF(%YPOS%==%#player_ypos%)
      KEYUP(BACK);
      KEYUP(LEFT);
      KEYUP(RIGHT);
      DO();
          KEYDOWN(FORWARD);
      UNTIL((%XPOS%==%#nposx1%+1)||(%XPOS%==%#nposx1%-1)||(%ZPOS%==%#nposx2%+1)||(%ZPOS%==%#nposx2%-1)||(%YPOS%!=%#player_ypos%));
      WAIT(40ms);
      KEYUP(FORWARD);
      KEYUP(SNEAK);
    ENDIF;
    
    GUI();
    TOGGLE(blues);
    PLAYSOUND(tile.piston.out);
    LOG("");
    LOG("&b&l[MACRO] &6Construtor de Piso (v1): &aFinalizado! &7&o#MR&3&oBLUEEES");
    LOG("&b&l[MACRO] &6Construtor de Piso (v1): &cOFF&4!");
    LOG("");
    STOP;
}$$
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo