Macro desatualizada, favor olhar o topico mais recente

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.

guilhermeeu74

Neutro
VIP
Entrou
Fev 12, 2021
Mensagens
23
Cubos
0
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;
}$$
 
Última edição:
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.
 
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.
Concordo contigo
 
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.

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)
 
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)

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).
 
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).
pedido feito, pedido entregue hahah, demorei para entender como brincava disso, mas creio que foi. qualquer bug reporte.
 
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).


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

É 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.
 
É 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.


Massa obrigado pela explicação
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo