Macro desatualizada, favor olhar o topico mais recente

Discussão em 'Macros Antigas' iniciado por guilhermeeu74, 13 Fevereiro 2021.

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

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    #1 guilhermeeu74, 13 Fevereiro 2021
    Última edição: 15 Fevereiro 2021
    A pedidos no global do Replay, fiz esse macro que permite que bate em mob com espada, machado, ou qualquer outro item. Você também pode atirar com arco.

    Quando você inicia, ele pede o ID da ferramenta, e sugere o ID da Espada de Diamante, do Machado de Diamante e do Arco. A ferramenta tem que estar na hotbar e tem que ter blocos (ou linhas) para poder reparar, caso ele não efetue o reparo, irá desligar a macro. A comida tem que estar no slot 9 (ultimo slot da hotbar).

    Ainda, a pedidos, o macro procura 360 para o mob caso o mesmo se mexa. Caso não ache, ele procura em outra home. Ou seja, sete as 5 homes em lugares mais previsiveis do mob. As homes são gmob1 (essa é obrigatoria para poder ir para o mob). gmob2, gmob3, gmob4, gmob5. E por fim caso não ache, ele ira teletransportar para o /home.

    A função de procurar e de procurar as homes, quando você inicia a macro, podem ser setadas, e setadas de forma independente.

    Atualização(13/02/21 ; 20:50)
    Procurando alguns macros parecidos antigos me deparei com um macro que utiliza uma condição, if(%HIT%="ENTITY");, oque significa, que, se encontrar um mob, vai bater, logo, não precisa utilizar a variavel %HITID% que eu estava utilizando antes.
    Logo, não ocorre o problema que estava dando com outro objetos de mesmo ID :D

    Atualização (14/02/21 ; 13:12)
    Como pedido e sugerido pelo Kristie, adicionei uma forma de buscar os mobs automaticamente, leia o post novamente para a explicação. Ainda, adicionei a possibilidade de usar arco. Eu sei que tem algumas coisas que da para colcoar ainda ou modificar, mas sou apenas 1 hahah, nos proximos dias vejo se atualizo de novo a macro.

    Qualquer sugestão é bem vinda. Reporte os bugs! Caso queira editar a macro para melhorar ela, pode o fazer e ganhará os créditos.

    EDIT(15/02): O codigo estava com problema, ja arrumei.

    Código:
    $${
      If(x);
        Log("&6MACRO&3 Mobs &4OFF");
        Unset(x);
        Unset(arco)
        unset(normal)
        Stop();
      Else;
        Log(&6MACRO &3Mobs &aON");
        Set(x);
      Endif;
      unset(arco)
      unset(normal)
      unset(resposta_incorreta)
      Do(2);
        clearchat()
        log(&c Para Espada de Diamante, Digite 276)
        log(&c Para Machado de Diamante, Digite 279)
        log(&c Para Arco, Digite 261)
        log(&c Para outro item, Digite o ID)
        log(&c Para sair, Digite 3)
        log(                                       )
      loop;
      Prompt(#it,$$?,Digite: )
      if(%#it%=3)
        set(resposta_incorreta)
      endif
      Do(2);
        clearchat()
        log(&c Para usar o buscador de mobs Digite 1)
        log(&c Para não utilizar o buscador, Digite 2)
        log(&c Para sair, Digite 3)
        log(                                       )
      loop;
      Prompt(#itt,$$?,Digite: )
      if(%#itt%=3)
        set(resposta_incorreta)
      endif
      if(%#it% = 261)
        set(arco)
      else;
        set(normal)
      endif
      if(%#itt%=1)
        set(buscar)
        Do(2);
          clearchat()
          log(&c Para usar as homes Digite 1)
          log(&c Para não utilizar as homes Digite 2)
          log(&c Para sair, Digite 3)
          log(                                       )
        loop;
        Prompt(#ittt,$$?,Digite: )
        if(%#ittt%=1)
          set(homes)
        else;
          unset(homes)
        endif;
      else;
        unset(buscar)
      endif;
        if(%#ittt%=3)
        set(resposta_incorreta)
      endif
      if(resposta_incorreta)
        If(x);
        Log("&6MACRO&3 Mobs &4OFF");
        Unset(x);
        Unset(arco)
        unset(normal)
        Stop();
        endif;
      endif;
      #i=0
      #olhar=0
      #vr=0
      #home=0
    }$$
    /home gmob1
    $${
      wait(2000ms)
      set(mob)
      Do();
        pick(%#it%);
        if(normal);
          if(%DURABILITY% < 70);
            log(Reparando)
            wait(1000ms)
            }$$
            /reparar
            $${
            wait(1000ms)
          endif
          if(%DURABILITY% < 50);
            break;
          endif;
        elseif(arco);
          if(%DURABILITY% < 20);
            log(Reparando)
            wait(1000ms)
            }$$
            /reparar
            $${
            wait(1000ms)
          endif
          if(%DURABILITY% < 10);
            break;
          endif;
        elseif(%HUNGER% < 14);
          slot(9)
          wait(200ms)
          Do;
          key(use)
          while(%HUNGER% != 20)
          wait(200ms)
        endif;
        if(normal)
          if(%HIT%="ENTITY");
            wait(200ms)
            key(attack);
            until(%HIT%!="ENTITY");
            set(#vr,0)
            set(#home,0)
          endif;
        elseif(arco)
          if(%HIT%="ENTITY");
            Do(23);
            key(use);
            until(%HIT%!="ENTITY");
            set(#vr,0)
            set(#home,0)
            loop;
          endif;
        endif;
          if(buscar)
            unsafe;
              if(%HIT%!="ENTITY");
                look(0,0);
                Do(38);
                  look(%#olhar%,%#i%);
                  inc(#olhar,10)
                  until(%HIT%="ENTITY");
                loop;
                inc(#i,10)
              endif
              if(%#i%>91)
                set(#i,0)
                set(#olhar,0)
                inc(#vr,1)
              endif
              if(%#vr% = 1)
                log(Procurando o mob)
              endif;
              if(%#vr% = 2)
                  log(Procurando em outra home)
                  set(#vr,0)
                  inc(#home,1)
                  inc(#vb,1)
              endif;
              if(%#vb=2)
                break;
              endif;
            endunsafe;
            if(homes);
              if(%#home%=1);wait(1000ms);Echo(/home gmob2);wait(2000ms);inc(#home,1);endif;
              if(%#home%=3);wait(1000ms);Echo(/home gmob3);wait(2000ms);inc(#home,1);endif;
              if(%#home%=5);wait(1000ms);Echo(/home gmob4);wait(2000ms);inc(#home,1);endif;
              if(%#home%=7);wait(1000ms);Echo(/home gmob5);wait(2000ms);inc(#home,1);endif;
              if(%#home%=9);wait(1000ms);Echo(/home);wait(2000ms);break;endif;
            endif;     
          endif;
      loop;
    }$$
     
    Burgess curtiu isso.
  2. IgorT

    IgorT Excelente
    VIP

    Afiliado:
    23 Agosto 2013
    Mensagens:
    2,116
    Curtidas Recebidas:
    352
    Curtiu:
    280
    Sexo:
    Masculino
    Cubos:
    1,071.00
    Nick:
    IgorTambys
    boaaa vai ajudar demais, falta só o mob
     
  3. Burgess

    Burgess Craftlandiano
    VIP

    Afiliado:
    24 Maio 2014
    Mensagens:
    7,158
    Curtidas Recebidas:
    1,567
    Curtiu:
    971
    Sexo:
    Masculino
    Localização:
    Minas Gerais
    Cubos:
    1,405.00
    Nick:
    iSmooph
    Clan:
    GoD
    Boa man, vou usar pra upar machado :p
     
  4. guilhermeeu74

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    boaa, só precisa mudar o pick(276) para pick(id_do_machado) :D
     
  5. Kristie

    Kristie Excelente
    VIP

    Afiliado:
    24 Abril 2015
    Mensagens:
    827
    Curtidas Recebidas:
    356
    Curtiu:
    135
    Sexo:
    Masculino
    Cubos:
    1,826.00
    Nick:
    Kristie
    Clan:
    GOH
    Discord:
    TequilAxBr#3156
    Bela macro! Contudo, existem uma variável: O mob não é estático, portanto ele se locomove no ambiente (e isso em algum momento tornaria a macro ineficiente).

    Sugestões:

    1) Cria uma variável e torne o item que será utilizável para matar o mob configurável;
    2) Na /warp vip é possível setar home (poderia usar isso para procurar o mob e aumentar a eficiência da macro);
    3) Por último, poderia criar uma Regex para os ids dos mobs e assim evitando esse tanto de condições na macro, tornando-a mais flet.
     
    FR4PS curtiu isso.
  6. Kinectz

    Kinectz Craftlandiano
    VIP

    Afiliado:
    23 Dezembro 2012
    Mensagens:
    1,990
    Curtidas Recebidas:
    951
    Curtiu:
    1,162
    Sexo:
    Masculino
    Cubos:
    164.00
    Nick:
    Kinectz
    Clan:
    sVg
    Discord:
    Kinectz#4305
    Boa, vou testar.
     
  7. guilhermeeu74

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    #7 guilhermeeu74, 13 Fevereiro 2021
    Última edição: 13 Fevereiro 2021
    Macro atualizada no primeiro post
     
  8. FR4PS

    FR4PS Guerreiro
    VIP

    Afiliado:
    21 Agosto 2014
    Mensagens:
    30,141
    Curtidas Recebidas:
    8,583
    Curtiu:
    3,304
    Sexo:
    Feminino
    Localização:
    São Paulo
    Cubos:
    1,860.00
    Nick:
    FR4PS
    Discord:
    FR4PS#0001
    Concordo contigo
     
  9. guilhermeeu74

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    eu atualizei a macro novamente, após pesquisar, ainda não consegui fazer o item 2 dessa sugestão, se alguem souber fazer, pode editar a macro a vontade e mandar aqui. Inclusive eu agradeceria hahaha (e colocaria os creditos no primeiro post)
     
  10. Kristie

    Kristie Excelente
    VIP

    Afiliado:
    24 Abril 2015
    Mensagens:
    827
    Curtidas Recebidas:
    356
    Curtiu:
    135
    Sexo:
    Masculino
    Cubos:
    1,826.00
    Nick:
    Kristie
    Clan:
    GOH
    Discord:
    TequilAxBr#3156
    A ideia pro item 2 consiste em ter algumas homes espalhadas pelo local onde está upando, exemplo: /home mob1, mob2, mob3. Quando a macro percebesse que não está mais hitando uma "ENTITY" você inicia um ciclo de procura pela "ENTITY". Essa procura é o que tornaria a macro eficiente.

    O que eu faria: Daria uma volta 360º e procuraria a "ENTITY" em cada uma das homes (recomendo utilizar o UNSAFE e ENDUNSAFE para agilizar essa verificação).
     
    CapCamargo curtiu isso.
  11. guilhermeeu74

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    pedido feito, pedido entregue hahah, demorei para entender como brincava disso, mas creio que foi. qualquer bug reporte.
     
    FR4PS curtiu isso.
  12. CapCamargo

    CapCamargo Craftlandiano
    Administração

    Afiliado:
    26 Outubro 2012
    Mensagens:
    5,571
    Curtidas Recebidas:
    1,000
    Curtiu:
    623
    Sexo:
    Masculino
    Localização:
    /minerar
    Cubos:
    1,205.00
    Nick:
    CapCamargo
    Clan:
    STF

    Desculpa a pergunta noob, qual a funcão do UNSAFE?
     
  13. guilhermeeu74

    guilhermeeu74 Neutro
    VIP

    Afiliado:
    12 Fevereiro 2021
    Mensagens:
    23
    Curtidas Recebidas:
    19
    Curtiu:
    2
    Sexo:
    Masculino
    Cubos:
    65.00
    Nick:
    guilhermeeu7423
    pelo que eu li, ele basicamente ignora o tick da macro, então ele vai muito mais rapido do que iria se não fosse com unsafe
     
    CapCamargo curtiu isso.
  14. Kristie

    Kristie Excelente
    VIP

    Afiliado:
    24 Abril 2015
    Mensagens:
    827
    Curtidas Recebidas:
    356
    Curtiu:
    135
    Sexo:
    Masculino
    Cubos:
    1,826.00
    Nick:
    Kristie
    Clan:
    GOH
    Discord:
    TequilAxBr#3156
    É o que o @guilhermeeu7423 falou, ignora os ticks. Ou seja, o processamento dos comandos colocados dentro desse bloco "UNSAFE" e "ENDUNSAFE" terão os ticks ignorados.

    Pra ver isso em prática faça o teste:

    1º:
    $${

    FOR(#x,1,9);
    log(%#x%);
    NEXT;

    }$$

    2º:
    $${

    UNSAFE;
    FOR(#x,1,9);
    log(%#x%);
    NEXT;
    ENDUNSAFE;

    }$$

    Compare a velocidade de ambas e tire suas conclusões.
     
    CapCamargo curtiu isso.
  15. CapCamargo

    CapCamargo Craftlandiano
    Administração

    Afiliado:
    26 Outubro 2012
    Mensagens:
    5,571
    Curtidas Recebidas:
    1,000
    Curtiu:
    623
    Sexo:
    Masculino
    Localização:
    /minerar
    Cubos:
    1,205.00
    Nick:
    CapCamargo
    Clan:
    STF

    Massa obrigado pela explicação
     
Status do Tópico:
Não esta aberto para novas mensagens.