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.

Registrar agora!


Status
Não está aberto para novas respostas.

MrBlueees

Craftlandiano
VIP
Entrou
Abr 13, 2013
Mensagens
746
Pontuação de reação
597
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
 
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.

Usuários que estão visualizando este tópico

Voltar
Topo