Documentação › Módulos

CaveBot

O CaveBot anda uma rota de waypoints, um depois do outro. Ele para para lutar, usa escadas, cordas e buracos, faz lure e, nas hunts 100% AFK, vai sozinho ao depot, vende, compra supplies e volta.

Aba CaveBot com a biblioteca de hunts e a tabela de waypoints

As três sub-abas#

A lista de waypoints com as colunas #, Tipo e Onde. O waypoint atual aparece em verde com >.

  • Duplo clique numa linha faz o bot ir para aquele waypoint
  • Ir para continua do selecionado, ou do mais próximo se nada estiver selecionado
  • Apagar remove o selecionado (ou o último)

À direita ficam os quadros Adicionar na minha posição, Ajustes e Suprimentos (venda / refill).

Biblioteca#

O botão ◂ / ▸ mostra a biblioteca à esquerda: suas hunts em pastas, na pasta cavebots/ ao lado do bot.json. Clique seleciona, duplo clique carrega no CaveBot. Ela aceita as rotas .json do DrenoxBot e os .cb do ZeroBot.

Gravando uma rota#

1
Vá até o começo da hunt

Fique no primeiro sqm da rota, no andar certo.

2
Ligue o Auto rec

Clique Auto rec na Tabela, ou digite /wp auto. O bot grava um node a cada Distância do node sqm enquanto você anda.

3
Ande a rota inteira

Escadas, buracos e mudanças de andar viram um stand no último sqm antes da troca.

4
Corrija os tipos

Troque os stand pelo tipo certo: /wp type 12 ladder.

5
Pare e confira

Clique Parar rec (ou /wp auto off) e rode /wp check.

Tipos de waypoint#

TipoO que faz
nodeAnda até ficar a poucos sqm do ponto (o normal)
standPisa exatamente no sqm
door / useUsa o que está no sqm e segue
ladderUsa o sqm e espera a troca de andar
rope / shovel / pickUsa a ferramenta no sqm; shovel e pick entram no buraco depois
macheteCorta a grama da selva
hole / stairsPisa no sqm e espera a troca de andar
teleportPisa e espera ser levado
hurup / hurdownFica no sqm, vira para a direção e fala exani hur
useitemUsa um item pelo id no sqm
lure / endlureComeça e termina um lure
boxAnda até o sqm sem lutar no caminho e luta ali; depois espera como um endlure
dynstart / dynendLure dinâmico só entre os dois
sayFala o texto (NPC, magia)
scriptRoda código Lua e espera terminar
waitPausa por um tempo em ms
label / gotoMarca um ponto e pula para ele
refillcheck / sell / refillCheca supplies, vende e compra

Os ids de rope, shovel, machete e pick ficam na aba Engine.

End lure e box#

No endlure e no box o bot fica até a luta acabar. Três casos em que ele decide sozinho:

  • Sobrou monstro que ele não ataca (fora da lista de alvos ou longe demais, por exemplo): espera o tempo de Lure: esperar o bando (s), 5 segundos no padrão, e segue a rota. Monstros ignorados pelo Targeting nem entram na conta
  • O sqm do box está ocupado, ou o bando cercou o personagem no caminho: a luta começa onde ele está, e ele vai para o sqm quando der
  • A segurança do lure dispara a caminho do box (Lure: lutar abaixo HP% ou Segurança: qtd. perto): ele luta onde está, sem continuar andando até o sqm

Enquanto anda até o box, o Shooter segura as magias e runas de ataque. Os ajustes de lure ficam na aba Tools.

Comandos /wp#

text
/wp node            node na sua posição
/wp ladder n        ladder no sqm ao norte
/wp useitem 3003 e  usa o item 3003 no sqm a leste
/wp hurup n         exani hur up virado para o norte
/wp say hi          fala "hi"
/wp wait 2000       espera 2 s
/wp label caverna   marca o ponto
/wp goto caverna    volta para ele
/wp del             apaga o último
/wp list            lista a rota

As direções aceitas são n ne e se s sw w nw e c (o seu sqm).

Formato do waypoint#

A rota fica em Cavebot.Waypoints no bot.json:

json
[
  { "Type": "label", "Label": "inicio" },
  { "Type": "node", "X": 32369, "Y": 32215, "Z": 7, "Tolerance": 3 },
  { "Type": "stand", "X": 32372, "Y": 32218, "Z": 7, "Tolerance": 0 },
  { "Type": "ladder", "X": 32373, "Y": 32218, "Z": 7 },
  { "Type": "lure" },
  { "Type": "node", "X": 32380, "Y": 32220, "Z": 8, "Tolerance": 3 },
  { "Type": "endlure" },
  { "Type": "goto", "Label": "inicio" }
]

Outros campos: ItemId (useitem), WaitMs (wait), Direction (hurup/hurdown).

Ajustes#

No quadro Ajustes da Tabela:

  • Repetir rota: volta ao primeiro waypoint depois do último (padrão ligado)
  • Parar em combate: para de andar enquanto luta (padrão ligado). Desligado vira um lure contínuo
  • Começar do mais próximo: ao ligar, começa do waypoint mais perto de você

Lure, modo de andar e áreas especiais ficam na aba Tools.

Quando trava#

O bot mede se está chegando mais perto do waypoint. Se ficar 8 segundos sem progresso, tenta de novo; depois de 3 tentativas, pula para o próximo. Esses valores são StuckTimeoutMs e MaxRetries no bot.json.

Quando não existe caminho até o waypoint, o bot tenta de novo com calma, mais ou menos a cada 1,5 segundo, em vez de pular vários waypoints de uma vez. Se ele pular dois waypoints seguidos e Começar do mais próximo estiver ligado, retoma a rota do waypoint mais perto no seu andar.

Pathfinding#

O caminho é calculado sobre o mapa que o cliente enxerga. O bot desvia de áreas especiais marcadas para não andar e, com Não atravessar players ligado, trata outros players como parede. Com Andar sobre fields (fire) ligado (o padrão), ele passa por fire, poison e energy field quando esse é o caminho, e dá a volta quando o desvio é curto. As duas opções ficam na aba Tools. No modo path ele manda o caminho inteiro; no modo step, um passo por vez, como setas.

Suprimentos#

No quadro Suprimentos, adicione cada item com min e max: no refillcheck o bot vai comprar quando tiver menos que o mínimo, e compra até o máximo. Refill abaixo de cap também manda às compras quando a cap livre cai. Os ids a vender vão em Ids para vender, separados por vírgula.