ENTREGUE [Macro] [1.5.2] Auto Sign -> ID+Metadata

Discussão em 'Macro Entregue' iniciado por Malaka81, 4 Maio 2015.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    [MACRO] Placa Automática (Auto-Sign)
    Captura a ID+Metadata do Item Automaticamente


    CHANGELOG

    26/05/2015
    - Resolvido Bug da macro não estar finalizando em alguns casos.
    - Implementado AchievementGet.
    - Implementado PlaySound.

    23/05/2015
    - Resolvido Bug de não estar detectando algumas IDs de itens Encantados.
    - Implementado comando para selecionar o item ("colocar na mão") antes de executar o comando /iteminfo.

    18/05/2015
    - Código alterado para identificar também as IDs das poções.


    [hr]
    Introdução
    [hr]

    Concorde comigo:

    Quando se tem dezenas de itens encantados para vender no sistema de lojas do servidor, dá uma preguiça danada né não? Ter que digitar /iteminfo em cada item, decorar toda aquela ID com "hashtag", "dois pontos" e ainda os numerais, para só depois inserir na placa, além do seu nick, da quantidade e do valor do item...

    E quando esquecemos tudo e nos perguntamos: Putz qual era a ID mesmo? :facepalm:

    Esta macro é justamente para ajudar preguiçosos e esquecidos assim como eu :whistling:, a montar de forma fácil, eficiente e eficaz as placas de vendas/compras dos itens com aqueles IDs gigantes em lojinhas vips.

    No meu código usei algumas ideias bacanas presentes NESTA MACRO do [member=MrBlueees], que por sinal é muito boa também, porém não tem a função de capturar a ID completa do item (IDs complexas) e nem a possibilidade de, por exemplo, inserir somente uma placa para venda ou somente para compra.



    [hr]
    Características deste Macro
    [hr]

    -Testado somente nos Servidores 1.5.2;
    -Somente para jogadores VIPs;

    -Insere placas automaticamente com todas as informações necessárias para venda e/ou compra de itens em lojas vips;

    -Macro só inicializa com o comando via chat: ativar malaka auto sign
    -Insere placas segurando a tecla SHIFT do seu teclado;
    -O item que desejar vender, deverá ser colocado na posição [1] da Hotbar para que a macro prossiga (será solicitado no momento, não se preocupe);
    -Detecta automaticamente através de expressões regulares, os IDs dos itens juntamente com a Meta Data, usando o comando /iteminfo, ex: 276#fy ou 383:91;
    -Insere placas somente para venda, somente para compra e/ou para compra e venda;
    -Mensagens são exibidas a todo momento no chat, para informar ao jogador de cada passo relevante da macro;
    -O código deverá ser inserido em Macro Bindings: Events -> onChat para que funcione corretamente;
    -Não funciona em itens com IDs simples, ex: 323;
    -Não funciona em itens encantados danificados (sem reparar);
    -Código da Macro endentado e comentado para uma melhor compreensão de quem lê;



    [hr]
    Código da Macro
    [hr]
    $${

    IFMATCHES(%CHAT%,"ativar malaka auto sign");
    #poshotbar=1;
    #slothotbar=36;
    #flag=0;
    #time=0;
    #qtd=0;
    #valor_venda=0;
    #valor_compra=0;
    #ativar=0;
    #shift=0;

    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [ON],323);
    PlaySound(random.pop);
    ClearChat;
    log("&5&l[MACRO]&e&l Auto-Insert de placas para itens com &b&lID+Metadata &e&lativado&c&l !!!");
    log( );
    wait(2);
    log("&5&l[MACRO]&e&l Coloque o item desejado no slot &b&l[1] &e&lda sua Hotbar&c&l ...");
    log( );
    wait(2);
    gui(inventory);
    wait(500ms);
    Slot(%#poshotbar%);

    do;
    getslotitem(%#slothotbar%,#id,#stack);
    if(%#stack%=0);
    log("&5&l[MACRO]&e&l Aguardando item no slot &b&l[1] &e&lda sua Hotbar&c&l ...");
    log( );
    wait(2);
    inc(#time);
    endif;
    until((%#stack%!=0)||(%#time%=5));

    if(%#time%=5);
    gui();
    log("&5&l[MACRO]&e&l Item não foi detectado&c&l !!!");
    log( );
    wait(500ms);
    log("&5&l[MACRO]&e&l Certifique-se que está fazendo o procedimento correto e inicie novamente&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #time=0;
    #ativar=0;
    BREAK;
    else;
    gui();
    log("&5&l[MACRO]&e&l Item detectado&c&l !!!");
    log( );
    #ativar=1;
    wait(2);
    log("&5&l[MACRO]&e&l Capturando a &b&lID+Metadata &e&ldo Item&c&l !!!");
    log( );
    wait(2);
    slot(%#slothotbar%);
    }$$/iteminfo$${
    wait(500ms);
    endif;

    endif;


    //===========================================================Identificando ID de itens do tipo XXX#XXX
    IFMATCHES(%CHATCLEAN%,"([0-9]+)#.+",&result);
    if(%#ativar%=1);
    wait(500ms);
    log("&5&l[MACRO]&b&l ID+Metadata &e&ldo item capturada com sucesso&c&l !!!");
    log( );
    wait(3);
    PlaySound(random.pop);
    prompt(#qtd,$$?,"Informe Quantidade do item que deseja inserir na placa ( confirme com [ENTER] ):");
    wait(500ms);
    PlaySound(random.pop);
    prompt(#valor_venda,$$?,"Informe Valor de venda do item ( informe 0 se só deseja comprar ) ( confirme com [ENTER] ):");
    wait(500ms);
    PlaySound(random.pop);
    prompt(#valor_compra,$$?,"Informe Valor de compra do item ( informe 0 se só deseja vender ) ( confirme com [ENTER] ):");
    wait(500ms);

    if(%#qtd%=0);
    log("&5&l[MACRO]&e&l Você não informou uma quantidade válida&c&l !!!");
    log( );
    wait(500ms);
    log("&5&l[MACRO]&e&l Certifique-se que está fazendo o procedimento correto e inicie novamente&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    BREAK;
    else;

    log( );
    log(&5&l[MACRO] &e&lSua placa ficará dessa forma:);
    log(&f%PLAYER%);
    log(&f%#qtd%);
    if(%#valor_venda%=0);
    log(&fS %#valor_compra%);
    elseif(%#valor_compra%=0);
    log(&fB %#valor_venda%);
    else;
    log(&fB %#valor_venda%:%#valor_compra% S);
    endif;
    log(&f%&result%);
    log( );

    wait(3);

    PlaySound(random.pop);
    &opcoes=SIM,NAO;
    prompt(&escolha,$$[[%&opcoes%]],"Confirma os Dados?? ( Selecione SIM/NAO e confirme com [ENTER] )");

    ifmatches(%&escolha%,"^SIM|sim$");
    wait(500ms);

    do;
    log( );
    log("&5&l[MACRO]&e&l Quando estiver pronto, segure a tecla &b&lSHIFT &e&lpara inserir a sua Placa&c&l !!!");
    log( );
    wait(2);

    #flag=0;
    #shift=0;

    if(SHIFT);
    #shift=1;
    endif;

    if(%#shift%=1);
    if(%#valor_venda%=0);
    placesign(%PLAYER%,%#qtd%,S %#valor_compra%,%&result%,true);
    #flag=1;
    elseif(%#valor_compra%=0);
    placesign(%PLAYER%,%#qtd%,B %#valor_venda%,%&result%,true);
    #flag=1;
    else;
    placesign(%PLAYER%,%#qtd%,B %#valor_venda%:%#valor_compra% S,%&result%,true);
    #flag=1;
    endif;
    endif;

    until(%#flag%=1);

    log( );
    PlaySound(random.pop);
    log("&5&l[MACRO]&e&l Placa inserida com sucesso&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    break;
    endif;
    endif;

    ifmatches(%&escolha%,"^NAO|nao$");
    log( );
    log("&5&l[MACRO]&e&l Auto-Insert de placas cancelado pelo jogador&c&l !!!");
    log( );
    wait(500ms);
    log("&5&l[MACRO]&e&l Certifique-se que está fazendo o procedimento correto e inicie novamente&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    break;
    endif;

    endif;

    endif;

    //===========================================================Identificando ID de itens do tipo XXX:XXX
    IFMATCHES(%CHATCLEAN%,"([1-9]+):([1-9]+)",&result);
    if(%#ativar%=1);
    wait(500ms);
    log("&5&l[MACRO]&b&l ID+Metadata &e&ldo item capturada com sucesso&c&l !!!");
    log( );
    wait(3);
    PlaySound(random.pop);
    prompt(#qtd,$$?,"Informe Quantidade do item que deseja inserir na placa ( confirme com [ENTER] ):");
    wait(500ms);
    PlaySound(random.pop);
    prompt(#valor_venda,$$?,"Informe Valor de venda do item ( informe 0 se só deseja comprar ) ( confirme com [ENTER] ):");
    wait(500ms);
    PlaySound(random.pop);
    prompt(#valor_compra,$$?,"Informe Valor de compra do item ( informe 0 se só deseja vender ) ( confirme com [ENTER] ):");
    wait(500ms);

    if(%#qtd%=0);
    log("&5&l[MACRO]&e&l Você não informou uma quantidade válida&c&l !!!");
    log( );
    wait(500ms);
    log("&5&l[MACRO]&e&l Certifique-se que está fazendo o procedimento correto e inicie novamente&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    BREAK;
    else;

    log( );
    log(&5&l[MACRO] &e&lSua placa ficará dessa forma:);
    log(&f%PLAYER%);
    log(&f%#qtd%);
    if(%#valor_venda%=0);
    log(&fS %#valor_compra%);
    elseif(%#valor_compra%=0);
    log(&fB %#valor_venda%);
    else;
    log(&fB %#valor_venda%:%#valor_compra% S);
    endif;
    log(&f%&result%);
    log( );

    wait(3);

    PlaySound(random.pop);
    &opcoes=SIM,NAO;
    prompt(&escolha,$$[[%&opcoes%]],"Confirma os Dados?? ( Selecione SIM/NAO e confirme com [ENTER] )");

    ifmatches(%&escolha%,"^SIM|sim$");
    wait(500ms);

    do;
    log( );
    log("&5&l[MACRO]&e&l Quando estiver pronto, segure a tecla &b&lSHIFT &e&lpara inserir a sua Placa&c&l !!!");
    log( );
    wait(2);

    #flag=0;
    #shift=0;

    if(SHIFT);
    #shift=1;
    endif;

    if(%#shift%=1);
    if(%#valor_venda%=0);
    placesign(%PLAYER%,%#qtd%,S %#valor_compra%,%&result%,true);
    #flag=1;
    elseif(%#valor_compra%=0);
    placesign(%PLAYER%,%#qtd%,B %#valor_venda%,%&result%,true);
    #flag=1;
    else;
    placesign(%PLAYER%,%#qtd%,B %#valor_venda%:%#valor_compra% S,%&result%,true);
    #flag=1;
    endif;
    endif;

    until(%#flag%=1);

    log( );
    PlaySound(random.pop);
    log("&5&l[MACRO]&e&l Placa inserida com sucesso&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    break;
    endif;
    endif;

    ifmatches(%&escolha%,"^NAO|nao$");
    log( );
    log("&5&l[MACRO]&e&l Auto-Insert de placas cancelado pelo jogador&c&l !!!");
    log( );
    wait(500ms);
    log("&5&l[MACRO]&e&l Certifique-se que está fazendo o procedimento correto e inicie novamente&c&l !!!");
    log( );
    ACHIEVEMENTGET(Malaka Auto-Sign [OFF],323);
    PlaySound(random.pop);
    #ativar=0;
    break;
    endif;

    endif;

    endif;

    }$$





    [hr]
    Como Instalar?
    [hr]

    Primeiramente tenha certeza que seu Minecraft tenha instalado o Mod Macro/Keybind, caso não tenha certeza baixe o ModPack da Craftlandia CLICANDO NESTE LINK. Créditos ao [member=Lightning].

    A instalação é simples, siga atentamente o tutorial abaixo para não fazer nada de errado:

    1) Clique com o botão direito do mouse em algum espaço livre na sua Área de Trabalho do Computador, e crie um novo "Documento de Texto" conforme ilustrado na imagem:
    [​IMG]


    2) Dê o nome de malaka_auto_sign para este novo arquivo;

    3) Após ter renomeado dê dois cliques para abrir o documento e edita-lo, copie o código da macro postada neste tópico (ctrl+c) e cole no documento de texto que está em branco (ctrl+v);

    4) Logo após salve as alterações clicando em Arquivo -> Salvar e feche este arquivo;

    5) Copie este novo arquivo que acabou de criar ("malaka_auto_sign.txt") e cole-o no diretório de Macros do seu Minecraft (.minecraft\mods\macros);

    6) Abra o seu Minecraft, abra o menu de Opções, Controles..., Macro Settings, conforme ilustra a imagem:
    [​IMG]

    [​IMG]


    7) Já na Área de Macro Settings clique na seta Amarela para a Direita ao lado de Macro Bindings: Keys ➨ e navegue até achar Macro Bindings: Events clique em onChat:

    [​IMG]

    [​IMG]


    8) Na tela do onChat insira o caminho para a macro: $$<malaka_auto_sign.txt>, caso já tenha alguma macro definida neste campo separe-a com um "pipe" "|" (ex: $$<malaka_auto_sign.txt>|$$<login.txt>) e por fim clique em SAVE:
    [​IMG]




    Se seguiu certinho o tutorial, a Macro vai ser instalada com sucesso, espero que gostem, qualquer sugestão, bugs ou ajustes não deixem de comentar neste tópico.



    [hr]
    Gostou do Tutorial e/ou da Macro?
    [hr]

    Não deixe de curtir o tópico, codificar macros e criar estes tutoriais com tudo "mastigadinho" dá um maior trabalho, clica em [​IMG], fortalece e não cai o dedo :thumbsup:



    [hr]

    **Atenção para as regras informadas pelo [member=DeathStroker], em caso de reutilização/edição deste código para fins de postagem em um tópico novo, não esquecer de postar também os devidos créditos do(s) autor(es), evite de ter seu tópico denunciado :thumbsup: :
    [​IMG]




    Enjoy!



    Att [member=Malaka81].
     
    John Ryan, iDonTaiN, theuser e 15 outras curtiram isso.
  2. SubChase

    SubChase Excelente
    VIP

    Afiliado:
    30 Novembro 2013
    Mensagens:
    1,150
    Curtidas Recebidas:
    280
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Marte
    Cubos:
    2,871.00
    Nick:
    PixelNinje
    Bom tutorial
     
    Malaka81 curtiu isso.
  3. Munich

    Munich Hardcore
    VIP

    Afiliado:
    13 Outubro 2014
    Mensagens:
    8,780
    Curtidas Recebidas:
    3,163
    Curtiu:
    2,571
    Sexo:
    Feminino
    Cubos:
    196.00
    Nick:
    Vanellope
    Clan:
    sVg
    Voçe me salvou amigo,ia tenque fazer id por id em 20 baus ;-;,seriao macro parece ser muito boa up :D
     
    Malaka81 curtiu isso.
  4. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    Te entendo perfeitamente rs....

    Tinha 80 Itens para vender e estava com uma preguiça daquelas rs, esses 80 itens que me motivaram a escrever esta macro...

    Passei dois dias codificando, só depois que ficou pronta parti para vender os itens na minha loja...
     
    guilherme hiroshi curtiu isso.
  5. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    Vlw!
     
  6. Magichian

    Magichian Razoavel
    Banido

    Afiliado:
    14 Março 2014
    Mensagens:
    892
    Curtidas Recebidas:
    62
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Novo...
    Cubos:
    981.00
    Nick:
    selectLOL
    Clan:
    QuB
    Facebook:
    Eduardo Stumm
    Skype:
    eduardo.stumm1
     
  7. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    :thanks:
     
  8. Lincoln Fernandes

    Banido

    Afiliado:
    23 Agosto 2014
    Mensagens:
    571
    Curtidas Recebidas:
    37
    Curtiu:
    0
    Sexo:
    Masculino
    Cubos:
    650.00
    Nick:
    @Fernandes16
    Clan:
    BoD
  9. Kirito01

    Kirito01 Bom
    VIP

    Afiliado:
    3 Janeiro 2014
    Mensagens:
    1,236
    Curtidas Recebidas:
    136
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    /warp end
    Cubos:
    1,430.00
    Nick:
    yKnightr
    Bom tutorial e bom macro!
     
  10. zFlash

    zFlash Craftlandiano
    Banido

    Afiliado:
    23 Abril 2015
    Mensagens:
    5,672
    Curtidas Recebidas:
    548
    Curtiu:
    101
    Sexo:
    Masculino
    Localização:
    Craftlandia ;p
    Cubos:
    3,092.00
    Nick:
    pvphit
    Clan:
    TnT
    boa parça , vc pode melhorar esse macro ae , tipo ele reconheçe o item na 1 hotbar ja pega iinfo (qualquer item , peixes fungos blocos)..
    ai ele pergunt qual preço de compra / venda .... e ja reconheçe seu nomme ai seria bom.
     
  11. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    As IDs simples não funcionam ainda com essa macro (ex: fungo, peixe, etc), conforme descrito no tópico.

    A Macro Captura a ID do item (ID complexa), captura o nome do jogador, pergunta qual a quantidade que deseja vender, valor de venda e valor de compra, leia o código que vai encontrar essas funcionalidades.

    Falta somente codificar a expressão regular corretamente para detectar os itens com IDs simples, assim que tiver sucesso atualizo o código desta macro.
     
  12. Pelas

    Pelas Bom
    Banido

    Afiliado:
    12 Abril 2014
    Mensagens:
    2,346
    Curtidas Recebidas:
    156
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Recife-PE
    Cubos:
    967.00
    Nick:
    Pelinhas
    Clan:
    VRK l D7M
    Facebook:
    Sem :/
    Skype:
    Sem :/
    Boa cara parabéns


    UP!
     
    Malaka81 curtiu isso.
  13. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    :thanks:
     
  14. MrBlueees

    MrBlueees Craftlandiano
    VIP

    Afiliado:
    13 Abril 2013
    Mensagens:
    746
    Curtidas Recebidas:
    586
    Curtiu:
    121
    Sexo:
    Masculino
    Cubos:
    59.00
    Nick:
    MrBlueees
    Parabéns, continue melhorando!

    Att,
    [member=MrBlueees].
     
    alecraft007 e Malaka81 curtiram isso.
  15. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    :thanks:
     
  16. iDanielGamer

    iDanielGamer Neutro
    Banido

    Afiliado:
    16 Abril 2015
    Mensagens:
    1,386
    Curtidas Recebidas:
    49
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Santos
    Cubos:
    364.00
    Nick:
    FREITOLA
     
    Malaka81 curtiu isso.
  17. Malaka81

    Malaka81 Neutro
    VIP

    Afiliado:
    29 Outubro 2012
    Mensagens:
    225
    Curtidas Recebidas:
    45
    Curtiu:
    252
    Sexo:
    Masculino
    Cubos:
    267.00
    Nick:
    Malaka81
    :thanks:
     
  18. Zorak89

    Zorak89 Neutro
    VIP

    Afiliado:
    14 Março 2015
    Mensagens:
    577
    Curtidas Recebidas:
    19
    Curtiu:
    17
    Sexo:
    Masculino
    Cubos:
    1,240.00
    Nick:
    Zorak89
    Bom Tutorial.
     
  19. iDanielGamer

    iDanielGamer Neutro
    Banido

    Afiliado:
    16 Abril 2015
    Mensagens:
    1,386
    Curtidas Recebidas:
    49
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Santos
    Cubos:
    364.00
    Nick:
    FREITOLA
     
  20. Fernando123

    Fernando123 Craftlandiano
    VIP

    Afiliado:
    12 Janeiro 2013
    Mensagens:
    8,561
    Curtidas Recebidas:
    864
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Paraná
    Cubos:
    1,626.00
    Nick:
    Sparr0w
    Clan:
    FPR
    Muito bom !​
     
Status do Tópico:
Não esta aberto para novas mensagens.