Pular para o conteúdo principal
KizuBot Logo

Documentação KizuBot

Seu guia completo para dominar o painel de controle.

Guia de Funcionalidades
Esta página é o seu manual completo para todas as configurações disponíveis no painel do KizuBot. Use o índice abaixo para navegar rapidamente para a seção desejada.

Módulo Cavebot

Responsável pela navegação automática do seu personagem. Ele segue os scripts de waypoints que você define, controlando velocidade, diagonais e condições de espera.

doCavebot
Ativa ou desativa completamente o módulo Cavebot. Quando desativado, o personagem não seguirá nenhuma rota, mesmo que um script esteja carregado.
Hunt (currentWaypointFile)
Define qual script de waypoint o bot está seguindo no momento. No painel, você seleciona diretamente da lista de waypoints salvos — não precisa digitar o nome do arquivo.

Como Funciona: Ao clicar num waypoint na lista "Waypoints Salvos", o painel grava o nome do arquivo (com a extensão .kwpt) no campo CavebotModule.currentWaypointFile. O bot recebe essa config, busca o conteúdo do arquivo no servidor e passa a seguir aquela rota.

Auto-switch: Se autoSwitchHuntOnKill estiver ativo, o bot pode trocar de hunt automaticamente ao matar certos monstros — ver entrada abaixo.

autoSwitchHuntOnKill
Ao derrotar um monstro, o bot procura por um waypoint com nome similar e o carrega automaticamente.

Exemplo: Se você estiver usando hunt_a.kwpt e derrotar um "Pikachu", o bot procurará por pikachu.kwpt e, se encontrar, mudará para essa hunt.

dashWhileLure
Permite que o bot use dash (movimentação rápida) durante o lure. Resulta em velocidade consideravelmente maior ao percorrer a rota.

diagonalType
Controla a frequência dos movimentos diagonais.

Como Funciona: Porcentagem de chance. 100 = sempre usa diagonais. 0 = desativa diagonais. Valores intermediários (ex: 50) adicionam aleatoriedade, tornando o movimento menos robótico.

lureAutoDelay / lureManualDelayPerMonster
Controle fino do timing durante o lure. O lureAutoDelay escolhe entre dois modos de cálculo de delay:

  • lureAutoDelay (ON, padrão): Modo adaptativo — a IA calcula sozinha o delay ideal entre passos com base na densidade de monstros e na velocidade do pokémon. Recomendado pra maioria das hunts.
  • lureAutoDelay (OFF): Modo manual — o delay passa a ser controlado por lureManualDelayPerMonster.
  • lureManualDelayPerMonster: Milissegundos a adicionar ao delay por cada monstro na tela. Só tem efeito quando lureAutoDelay está desligado. Quanto mais monstros, mais devagar o bot anda — simula cautela humana.
waitFor...
Opções que pausam a movimentação do cavebot até que uma condição seja satisfeita.

  • waitForRestart: Tempo em milissegundos para esperar no último waypoint antes de reiniciar a rota. Dá tempo para respawn dos monstros.
  • waitForPlayerLifeRegen: O bot para se a vida do personagem estiver abaixo do percentual definido e só volta a andar quando regenerar. 0 para desativar.
  • waitForPokemonLifeRegen: Igual ao anterior, mas para a vida do Pokémon. 0 para desativar.
  • waitForAreaMovesCooldown: Espera todos os pokémoves de área saírem de cooldown antes de ir para o próximo waypoint. Garante que você chegue no respawn com pokémoves prontos.
  • waitForTargetMovesCooldown: Igual ao anterior, mas paro pokémoves de alvo único.

Módulo de Combate

Gerencia todas as ações de combate: luring, targeting, uso de pokémoves, coleta de loot e sistema de stun tático.

doCombat
Ativa ou desativa o módulo de combate. Se desligado, o bot não atacará monstros, não coletará loot e não usará pokémoves ofensivas.
targetCreatures / ignoreCreatures / targetAll
Listas para controlar quais monstros atacar.

  • targetAll: Ataca todos os monstros, exceto NPCs e os listados em ignoreCreatures.
  • targetCreatures: Lista branca — se targetAll estiver desligado, o bot SÓ atacará os monstros nesta lista.
  • ignoreCreatures: Lista negra — o bot NUNCA atacará estes monstros, independente das outras configurações.
useTargetAttack
Quando ativado, sempre ataca o pokémon com target (alvo selecionado). Se desativado, usa a rotação normal de pokémoves sem selecionar um alvo específico.
useSupportMoveWithMonsterCount
Número de monstros na tela necessário para usar a CD de suporte durante o lure. 0 para desativar. Exemplo: com valor 3, o pokémove de suporte só é usada quando há 3+ monstros.
monsterStop
Número de monstros na tela para o bot parar de lurar e iniciar o combate.

Como Funciona: Principal gatilho de combate. A contagem considera todos os monstros visíveis na tela dentro do campo de visão configurado.

Exemplo: Se definido como 8, o bot caminha pela hunt juntando monstros. Ao ver o 8º monstro, para e inicia o combo.

Valor: Use 1 para matar um por um (hunts perigosas). Use 999 para nunca parar de lurar manualmente.

minMonsters
Número mínimo de monstros que devem estar dentro do Shape Radius para iniciar o combo. Diferente de monsterStop, que conta na tela inteira.

Diferença de monsterStop: O monsterStop para de andar. O minMonsters decide se começa a atacar. O bot pode parar (monsterStop atingido) mas esperar mais monstros chegarem dentro do shape (minMonsters não atingido).

Shape Radius
Define a área de efeito (AoE) dos pokémoves do seu Pokémon — quais tiles ao redor dele um pokémove realmente acerta. Substitui o antigo boxRadius numérico por um sistema visual com presets e cascata de prioridade.

47 presets em 7 categorias: Quadrados, Diamantes, Cruzes, Octógonos, Anéis, Cones e Linhas — e ainda editor customizado para desenhar o seu próprio formato.

Cascata de prioridade (do mais específico pro mais genérico):

  • Por pokémove: cado pokémove individual (F1-F12) pode ter seu próprio shape. Útil quando o seu pokémon tem um cone e um diamante na mesma rotação.
  • Por pokémon: sobrescreve o padrão para um pokémon específico (ex: Venusaur usa diamante 2, Charizard usa cone 3).
  • Padrão: o shape que se aplica a qualquer pokémon sem override.

Rotação automática: cones e linhas rotacionam sozinhos baseado na direção que o seu pokémon está olhando, então a IA sempre sabe pra qual lado o pokémove vai bater.

stopLureAtHealth
Percentual de vida do Pokémon para parar de lurar e iniciar combate, mesmo que monsterStop não tenha sido atingido. 0 para desativar.
forceComboAtHealth
Percentual de vida do Pokémon para forçar o combo imediatamente, ignorando tempo de lure. Medida de segurança contra morte do pokémon.
maxTimeForCombo
Tempo máximo em segundos lurando antes de forçar o combo. Use 999 para desativar.
waitLureOnDespawnWarning
Quando o '!' amarelo aparece indicando que um Pokémon na box está prestes a despawnar, o bot para e mata imediatamente em vez de continuar lurando.
visionRadiusHorizontal / visionRadiusVertical
Define o campo de visão da IA em tiles. Controla até onde o bot 'enxerga' monstros.

Padrão: 11 horizontal, 6 vertical. Reduza se o bot estiver detectando monstros muito distantes (shinies longe, por exemplo).

monsterLeave
Tempo em segundos que o bot aguarda um monstro se afastar antes de considerá-lo 'perdido'. Se um monstro sair do Shape Radius e não voltar neste tempo, é removido da contagem de monstros ativos.

Loot

lootingEnabled
Ativa ou desativa a coleta de loot. Nota: criaturas extraordinárias (shiny/mega/boss) SEMPRE têm seu loot coletado, mesmo com esta opção desativada.
lootOnlyRare
Coleta apenas loots raros (prioridade > 1 no servidor). Itens na ignoredItems do módulo de Alarmes também são ignorados aqui.
considerStoneRare
Trata evolution stones como itens raros, permitindo coleta mesmo com lootOnlyRare ativado. Stones têm prioridade 1 (comum) no servidor, então sem esta opção elas são ignoradas.

lootOneByOne
Coleta loot um corpo por vez em vez de todos de uma vez. Mais lento, mas pode ser mais seguro em certas situações.
maxLootDistance
Distância máxima em tiles para o bot ir coletar um loot. Corpos mais distantes são ignorados.

Proteção contra KS

ksIgnoreLoot / ksIgnoreCatch
Opções de proteção quando há outros jogadores na tela.

  • ksIgnoreLoot: Não coleta loot se houver jogadores (que não sejam da party) na tela.
  • ksIgnoreCatch: Não captura pokémons se houver outros jogadores na tela.
throwBallWhenPlayerOnScreen
Comportamento oposto ao ksIgnoreCatch: adiciona corpos à lista de captura e começa a jogar Poké Balls SOMENTE quando jogadores estão na tela. Útil para projetos shiny com testemunhas.

Posicionamento e Distância

Controla como o personagem, o pokémon e o comportamento contra extraordinárias reagem à distância dos monstros. Esta seção é unificada — antes as configs de distância ficavam espalhadas em 3 lugares diferentes (Combate, Cura e Engine). Agora todas vivem aqui, lado a lado, com um sistema de Regras Situacionais opcional por cima.

Player — keepDistance / distanceToKeep / minMonstersToKeepDistance
Controle de posicionamento do SEU PERSONAGEM durante o combate.

  • keepDistance: Faz o seu personagem manter distância dos monstros automaticamente.
  • distanceToKeep: Distância alvo em tiles (1–8).
  • minMonstersToKeepDistance: Só ativa o keepDistance quando houver pelo menos essa quantidade de monstros na tela. 0 = sempre manter distância.
Pokémon — pokemonKeepDistance / pokemonDistanceToKeep / pokemonKeepDistanceMode
Controle de posicionamento do SEU POKÉMON durante o combate. Faz o pokémon se afastar ativamente dos monstros — útil para pokémons frágeis ou que dependem de pokémoves de longo alcance.

  • pokemonKeepDistance: Liga/desliga o keep distance do pokémon.
  • pokemonDistanceToKeep: Distância mínima (em tiles) que o pokémon vai tentar manter do monstro mais próximo.
  • pokemonKeepDistanceMode: Quando aplicar o afastamento. Opções: always (sempre) ou untilWaitBox (só enquanto a box ainda não está montada, legado).
Extraordinary — extraordinaryKeepDistance / keepExactDistanceOnExtraordinary
Distância do seu personagem durante o combo contra criaturas extraordinárias (shiny / mega / boss). Essas configs ficavam na aba Engine antigamente — foram movidas pra cá pra ficar perto das outras configs de distância.

  • extraordinaryKeepDistance: Distância máxima (em tiles) que o personagem pode ficar do pokémon durante combate contra extraordinária. Se passar, o bot anda mais perto. Ignorado se keepExactDistanceOnExtraordinary > 0.
  • keepExactDistanceOnExtraordinary: Força o personagem a ficar EXATAMENTE essa quantidade de tiles do pokémon durante o combo. 0 = desativado (usa a distância máxima acima). Qualquer valor > 0 sobrescreve a distância máxima.

Regras Situacionais (avançado)

Sistema opcional de regras condicionais montado por cima dos configs simples acima. Permite mudar a distância dinamicamente baseado no estado do jogo — tipo "recua pra 4 tiles quando meu HP cair abaixo de 50%" ou "usa distância 6 quando o Alakazam tá summonado". Disponível por papel (Player, Pokémon) via accordion "Regras situacionais (avançado)" em cada sub-seção.

keepDistanceRules (por papel)
Cada papel (Player e Pokémon) tem sua própria configuração de regras, composta de 4 campos principais.

  • enabled: Master toggle do sistema de regras pra esse papel. Quando desligado, o bot usa o fluxo legado dos configs simples. Quando ligado, os inputs legados ganham um badge "Managed by Rules" e ficam visualmente marcados como sobrescritos.
  • phase: Fase do ciclo de combate em que as regras são avaliadas. Opções: always, lureonly (só durante lure), comboonly (só durante combo), lureandcombo (durante lure ou combo) e untilwaitbox (compat com o modo legado do pokémon). Fora da fase ativa, o bot cai no fluxo legado.
  • baseDistance: Distância fallback usada quando nenhuma regra bate. 0–8 tiles. 0 = no-op.
  • rules[]: Lista ordenada de regras condicionais (ver abaixo). Avaliadas por prioridade DESC — a primeira que bater ganha e sua distância é aplicada.
Estrutura de uma Regra
Cada regra tem priority, distance e uma lista de conditions.

  • priority: Inteiro. Prioridade maior ganha. Em empates, a ordem de inserção (primeira adicionada) desempata (sort estável).
  • distance: Distância em tiles (0–8) aplicada quando a regra bater.
  • conditions[]: Lista de condições combinadas com lógica AND — todas precisam ser verdadeiras pra regra disparar. Pra lógica OR, crie múltiplas regras com a mesma prioridade e distances diferentes.

Regra sem condições = sempre bate (útil como fallback de última instância ou pra sobrescrever todo um phase com distância fixa).

11 Tipos de Condições
O que cada condição verifica em tempo real:

  • playerHpBelow / playerHpAbove: HP do seu personagem abaixo/acima de um percentual (0–100).
  • pokemonHpBelow / pokemonHpAbove: HP do seu pokémon abaixo/acima de um percentual (0–100).
  • monsterCountAtLeast: Quantidade total de monstros na tela (qualquer tile) é ≥ N.
  • monstersInBoxAtLeast: Quantidade de monstros dentro do Shape Radius é ≥ N.
  • extraordinaryOnScreen: Existe pelo menos 1 criatura extraordinária (shiny/mega/boss) visível na tela. Sem payload.
  • creatureOnScreen: Alguma criatura da lista de nomes configurada aparece na tela.
  • activePokemonIn: O seu pokémon sumonado atual está na lista de nomes configurada.
  • duringLure: Bot está atualmente na fase de lure. Sem payload.
  • duringCombo: Bot está atualmente em combo. Sem payload.

Wait Close Target ("Tickzinho")

Gate por pokémove/pokémon que segura o cast de um pokémove até que a criatura mais próxima entre no raio Chebyshev configurado ao redor do seu pokémon. Diferente do Shape Radius (que responde "esso pokémove vai acertar?"), o Wait Close Target responde "é o momento certo de castar?".

waitCloseTargetCascade
Cascata de configuração (igual à do Shape Radius): default → per-pokemon → per-move. Cada nó tem 3 campos.

  • enabled: Liga/desliga o gate pra esse nó da cascata.
  • distance: Raio Chebyshev (1–8 tiles). O pokémove segura até que a criatura mais próxima do seu pokémon esteja dentro desse raio.
  • timeoutMs: Tempo máximo (500–5000 ms) que o gate segura. Se o tempo estourar sem criatura entrar no raio, o pokémove cata mesmo assim. Essa trava de segurança garante que a rotação nunca trava em deadlock.

Usos típicos:

  • Pokémoves melee que precisam da criatura grudada (tipo Body Slam, Earthquake de perto)
  • Burst AoE tipo Blast Burn onde você quer que os monstros se agrupem antes de detonar
  • Lures de canto onde você quer esperar o pack todo chegar

Alvo de Stragglers no 2º Combo

Comportamento opt-in que, durante a fase do "segundo combo" (depois do bot ter feito pelo menos 1 revive forçado no combo atual), prioriza mirar monstros de baixa vida FORA do Shape Radius — os tais "stragglers". Evita que esses sobreviventes sigam o personagem até o próximo lure e escapem a full range.

targetStragglersOnSecondCombo / stragglerHealthThreshold
Ativa a priorização de stragglers após revive forçado no combo atual.

  • targetStragglersOnSecondCombo: Liga/desliga o comportamento. Padrão: desligado. Só tem efeito durante a fase "notFirstRevive" (quando o bot já usou pelo menos 1 revive no combo atual).
  • stragglerHealthThreshold: Percentual de HP abaixo do qual uma criatura fora da box é considerada "straggler". Padrão: 40%. Só considera criaturas a no máximo 7 tiles do seu pokémon.

Quando usar: Hunts onde sobra sempre aquele bichinho com 10% de vida seguindo você pro próximo lure e morrendo no pull seguinte num local ruim. Com isso ativado, o bot cancela o target atual e termina o straggler antes.

Posicionamento e Lure

usePokeStop
Usa o comando pokeStop para finalizar o lure. O pokémon fica parado aguardando os monstros se aproximarem.
pokeStopDuringLure
Usa pokeStop durante o lure (enquanto caminha), não apenas no fim. Mantém o pokémon parado em um ponto enquanto o personagem atrai monstros.
orderDuringLure / orderOnSelfDuringLure
Controla o posicionamento do pokémon durante o lure.

  • orderDuringLure: Ordena o pokémon para o melhor tile durante o lure, otimizando a posição para o combo que virá.
  • orderOnSelfDuringLure: Ordena o pokémon para o tile do personagem durante o lure, mantendo-o sempre perto de você.
delayBetweenOrder
Delay em milissegundos entre cada ordem de posicionamento. Evita ordens excessivas que parecem robóticas. Valor padrão recomendado: 300-500ms.
orderInBestTileToFinishBox
A IA posiciona o pokémon no melhor tile para maximizar dano de pokémoves de área antes de iniciar o combo.
repositionDuringCombo
Durante o combo, reposiciona o Pokémon para o melhor tile quando os inimigos mudam de posição. Garante que os pokémoves de área atinjam o máximo de alvos possível.
provokeCreatures
Provoca criaturas para atraí-las mesmo sem estar no target. Ativado por padrão.
maxMonstersToProvoke
Número máximo de monstros para provocar simultaneamente. 0 para desativar o limite (provoca todos). Útil para não atrair monstros demais de uma vez.
minMonstersToOrder
Número mínimo de monstros na box para o bot começar a ordenar o posicionamento do pokémon. Evita ordens desnecessárias com poucos monstros.
disablePokeStopOnTargetSkills
Cancela o pokeStop antes de usar um pokémove de alvo único. Impede que o pokémon fique parado quando precisa se mover para atacar.
ignoreShapeBoxOnTargetSkills
Permite usar pokémoves de alvo único em pokémons que estão fora do Shape Radius. Útil para alcançar monstros que não entraram na área de efeito. (Antigamente chamada de ignoreBoxRadiusOnTargetSkills — renomeada para manter consistência com o novo sistema.)

Fim de Combo

endOfComboActionOrder
Define a prioridade das ações após o fim de um combo.

  • Loot First (Padrão): Coleta loot primeiro, depois revive/potion. Mais eficiente, mas arriscado se o pokémon estiver com vida baixa.
  • Healing First: Revive/potion primeiro, depois coleta loot. Mais seguro, pode perder corpos que desaparecem.
waitForEnd
Tempo em segundos que o bot aguarda após o combo antes de continuar o cavebot. Útil para dar tempo de coletar loot de corpos distantes.
attackDelay
Delay em milissegundos entre cada ataque. Valores maiores tornam o combate mais lento e humanizado. 0 para velocidade máxima.
cdDelayBeforeRevive
Delay em segundos antes de usar revive no combo. Padrão: 1.1s. Previne race conditions onde o pokémove não dá dano porque o pokémon foi puxado cedo demais.
cdDelayBeforeReviveOnExtraordinary
Delay de revive específico para quando está combatendo criaturas extraordinárias (shiny/mega/boss). Pode ser diferente do delay normal. Padrão: 1.1s.
cdImmunityWindow
Janela de imunidade em segundos após revive durante a qual o bot assume que os cooldowns estão zerados. Previne tentativas de cast durante a animação de revive. Padrão: 3s.
humanizedStopWalking
O bot não para de andar instantaneamente ao atingir o monsterStop — desacelera naturalmente como um jogador real. Gerenciado pelo módulo de Humanização quando ativo.
drawCorpses
Exibe corpos de Pokémon derrotados no mapa. Necessário para coleta de pontos de estilista em Outland e para o sistema de loot visual.

Sistema de Stun Tático

Sistema dedicado para uso inteligente de pokémoves de stun com cenários configuráveis.

useStunMoves
Ativa o sistema de stun tático. Quando habilitado, pokémoves classificados como stun são usados de acordo com cenários configuráveis em vez de rotação normal.

Como Funciona: A IA detecta automaticamente quais pokémoves do seu setup são de stun (com base nos efeitos do jogo). Você configura em quais situações usar stun (ex: sempre contra shinies, quando há mais de 5 monstros, etc).

stunPriority
Define quando o stun é usado no fluxo do combo.

  • before_combo: Usa stun ANTES de começar os pokémoves normais. Bom para imobilizar antes de atacar.
  • during_combo: Usa stun no meio da rotação normal de pokémoves.
  • on_demand: Usa stun somente quando um cenário específico é ativado (ex: shiny apareceu).
stunCooldownBuffer
Buffer em milissegundos adicionado ao cooldown real do stun. Previne tentativas de cast quando o pokémove ainda está em cooldown mas o timer está no limite.
Cenários de Stun
Configure até 10 situações diferentes que ativam o uso de stun.

  • always: Sempre usa stun quando disponível.
  • extraordinary / shiny / mega / boss: Usa stun quando criaturas especiais estão na box.
  • creature_name: Usa stun contra um Pokémon específico (pelo nome).
  • creature_count: Usa stun quando há X ou mais monstros na box.
  • pokemon_hp_below: Usa stun quando a vida do seu Pokémon cai abaixo de um percentual.
  • during_lure: Usa stun durante o lure, antes do combo iniciar.
  • combo_start: Usa stun apenas no início do combo.

Módulo de Healing

Gerencia a cura e recuperação do seu personagem e Pokémon, incluindo revive, poções, berries e posicionamento de segurança.

doHealing
Ativa ou desativa todo o módulo de cura. Desligar impede revives, poções, berries e posicionamento.
useMedicine
Ativa o uso automático de medicines para curar condições negativas (burn, poison, sleep, etc). A IA seleciona a medicine correta para cada condição.
useMedicineBeforeCombo
Se ativado, usa medicine ANTES de iniciar o combo, garantindo que o pokémon entre na luta sem condições negativas.
smartMedicine
Sistema inteligente de medicine que detecta e cura automaticamente qualquer Stun ou CC (crowd control) que o pokémon receba durante o combate. Não depende de configuração manual — a IA identifica a condição e aplica a medicine correta.

Revive

useRevive / reviveName
Controla o uso de revives. O item definido em reviveName será usado para reviver pokémons.

Sub-opções de quando reviver:

  • reviveOnEndLure: Usa revive ao final de cada lure/combo, garantindo vida cheia para o próximo.
  • forceReviveByCds: Se os pokémoves acabarem e ainda houver monstros, usa outro revive para resetar cooldowns.
  • reviveOnAllMovesInCooldown: Usa revive apenas se TODOS os pokémoves (área + alvo) estiverem em cooldown simultaneamente.
  • useCriticalRevive / criticalRevivePercent: Usa revive se a vida do pokémon cair abaixo do percentual crítico, mesmo no meio do combate.
  • prioritizeTargetMovesAfterRevive: Após usar revive, priorizo pokémoves de alvo único antes de voltar à rotação normal. Útil para garantir dano imediato após resetar cooldowns.
humanizedRevive
Adiciona delays humanizados ao processo de revive, esperando animações completarem antes de executar o próximo passo. Torna o comportamento mais natural.

Poções e Comida

usePotion / potionName / potionAtPercent
Controla o uso de poções de vida no Pokémon.

Como Funciona: Se usePotion estiver ativo, usa o item de potionName quando a vida cair abaixo de potionAtPercent.

potionAfterCombo: Se ativado, só usa poção após o término do combo, mesmo que a vida esteja baixa durante a luta.

usePokeFood / pokeFoodName
Usa comida automática no Pokémon para recuperar HP/PP. Defina o nome exato do item em pokeFoodName.
usePlayerFood / playerFoodName
Usa comida automática no personagem do jogador. Útil para manter HP do treinador em hunts perigosas.
useBerry
Sistema avançado para uso de berries com regras configuráveis.

Como Funciona: Crie regras como "Usar Aspear Berry no Charizard quando estiver Frozen" ou "Usar Sitrus Berry no Snorlax quando vida abaixo de 40%". Cada regra especifica: berry, pokémon, condição e threshold.

Smart Swap System

Sistema de rotação automática de pokémons baseado em triggers configuráveis por pokémon. Cada entrada gera regras de ação (ActionRules) com tipo smart_swap internamente.

Swap Entries (lista de pokémons)
Você adiciona cada pokémon do seu time à lista de swap e configura individualmente os triggers que fazem aquele pokémon ser trocado.

  • enabled: Se o pokémon pode entrar na rotação de swap. Pokémons desabilitados não são considerados nem como origem, nem como destino do swap.
  • onDeath: Troca de pokémon quando este morre. Gera uma regra que dispara no evento pokemon_dead.
  • onLowLife + lowLifePercent: Troca quando a vida do pokémon cair abaixo do percentual configurado.
  • onAllCD: Troca quando TODOS os pokémoves (area + target) estão em cooldown ao mesmo tempo — ideal pra maximizar DPS rodando vários pokémons.
Swap Fallbacks
O que fazer quando o swap é solicitado mas nenhum pokémon da lista está disponível. Cada categoria tem suas próprias opções:

onAllDead — quando todos os pokémons da lista estão mortos:

  • revive_main: Usa revive no pokémon principal (slot 1).
  • revive_last: Usa revive no último pokémon ativo antes da morte.
  • revive_all: Revive todos os mortos em sequência.
  • stop: Para tudo e não faz nada — o bot fica parado aguardando ação manual.

onAllLow — quando todos estão com vida baixa:

  • revive_main: Usa revive no pokémon principal pra resetar a vida.
  • potion_current: Usa poção no pokémon atual e continua com ele.
  • wait_regen: Espera a regeneração natural.

onAllCD — quando todos estão com todos os pokémoves em cooldown:

  • revive_main: Força revive no pokémon principal pra resetar cooldowns.
  • wait_cd_if_safe: Espera os cooldowns se a situação for segura (poucos monstros, vida OK).
  • wait_cd_always: Sempre espera os cooldowns, independente do contexto.

swapCooldown: Tempo mínimo em segundos entre swaps consecutivos, pra evitar troca-troca rápido demais (padrão: 5s).

Módulo de Catch

Configurações de captura de Pokémon, incluindo pokébolas, delays humanizados e catchAll.

catchMode
Define como o sistema de captura opera.

  • simple: Uma lista única de pokémons em pokemonsToCatch. Usa a pokébola padrão (ou a shiny quando for shiny) sem regras personalizadas.
  • advanced: Permite configurar regras por pokémon — qual pokébola usar em qual espécie, incluindo fallbacks. Suporta overrides específicos de shiny via advancedShinyPokeballs.
pokeballName / alternativePokeballName
Define as pokébolas para pokémons normais no modo simple. A alternativa é usada como fallback se a principal acabar.
shinyPokeballName / alternativeShinyPokeballName
Define as pokébolas para shinies no modo simple. A alternativa é usada como fallback se a principal acabar.
advancedShinyPokeballs
Mapa de overrides de pokébola por shiny específico no modo advanced. Ex: usar Ultra Ball para Shiny Charizard e Great Ball para Shiny Venusaur. Se um shiny não estiver mapeado, cai no fallback padrão do modo advanced.
pokemonsToCatch
Lista de pokémons que serão capturados. No modo simple é uma lista simples; no modo advanced cada entrada pode ter uma pokébola específica associada.
catchTimeout
Tempo máximo em segundos que o bot tenta capturar um pokémon antes de desistir e continuar a hunt.
assureCanThrowBall
Verifica se é possível jogar a ball antes de tentar. Previne tentativas desperdiçadas quando o pokémon não está em condição de captura.
startThrowBallDelay / delayBetweenBalls
Delays humanizados para jogar pokébolas.

  • startThrowBallDelay: Delay antes da primeira ball após derrotar o pokémon.
  • delayBetweenBalls: Delay entre cada ball subsequente no mesmo pokémon.

Opções: instant (0ms), fast (100-300ms), default (300-700ms), slow (500-1000ms), realistic (800-1500ms).

onlyCatchOneTimePerServerSave
Impede captura da mesma espécie mais de uma vez por dia (entre server saves). Cada captura é adicionada automaticamente à exclude list.
catchAllEnabled / catchAllIsPersistency
Modo de captura universal — tenta capturar TODO pokémon derrotado.

  • catchAllEnabled: Ativa o modo catchAll. Ignora listas de captura, mas respeita a ignoreCatchList.
  • catchAllIsPersistency: Se ativado, captura a mesma espécie repetidamente. Se desativado, captura cada espécie apenas uma vez por sessão.
ignoreCatchList
Lista de pokémons que NUNCA serão capturados, mesmo com catchAllEnabled ativo. Tem prioridade máxima sobre todas as outras configs de catch.

Módulo de Farming

Automatiza a coleta de recursos baseada na sua profissão, com resolução de minigames e comportamento humanizado.

doFarm
Ativa ou desativa a coleta automática de recursos (madeira, matos, minérios, etc).
farmingRadius / bigBushRadius / headbuttRadius
Define o raio de busca (em tiles) para cada tipo de recurso.

  • farmingRadius: Raio para recursos normais (matos, minérios).
  • bigBushRadius: Raio para arbustos grandes (Professor). Pode ser diferente do raio padrão para otimizar a rota.
  • headbuttRadius: Raio para árvores de headbutt (Estilista).
alwaysHeadbutt
Automaticamente procura árvores para usar headbutt. Essencial para Estilistas coletando pontos de estilista.
drawCorpses
Exibe corpos de Pokémon derrotados no mapa. Necessário para coleta de pontos de estilista em Outland. Esta config fica no módulo de Combat.
collectOnlyBigBushes
Coleta apenas arbustos grandes, ignorando os pequenos. Útil para Professores que querem maximizar eficiência em áreas com muitos arbustos.
nwEnabled
Ativa a coleta de recursos da Nature Warfare (NW). Habilitado separadamente dos recursos de profissão normais. Quando ativo, o bot também ignora alarmes enquanto estiver dentro de um nightmare.
stepInTallGrass
O bot pisa em tall grass de eventos automaticamente ao encontrá-las na rota. Útil durante eventos sazonais que requerem interação com esses tiles.
minigameSolveDelay
Tempo de resposta ao resolver minigames anti-bot durante o farming.

  • instant: Sem delay, resolve imediatamente (alto risco de detecção).
  • fast: 2-4 segundos.
  • default: 4-7 segundos (comportamento padrão).
  • slow: 8-12 segundos (mais seguro).
  • realistic: 13-20 segundos (simula humano distraído, mais seguro).
canMadeMistakes
O bot erra propositalmente o minigame de vez em quando, simulando um jogador distraído. Aumenta a naturalidade do comportamento.

resumeCavebotBehavior
Define como o bot retoma o cavebot após terminar uma tarefa de farming.

  • nearest: Vai para o waypoint mais próximo da posição atual.
  • next: Vai para o próximo waypoint na sequência.
  • previous: Volta para o waypoint anterior.
flyFarm
[Premium] Permite coleta de recursos em andares diferentes usando a habilidade de voar.
useVehicle
[Premium] Utiliza bike/montaria para se mover entre pontos de coleta, acelerando o farming.

Módulo de Fishing

Automatiza a pesca com configurações de timing, segurança e paradas condicionais.

doFishing
Ativa ou desativa a pesca automática.
fishOnlyWithSight / fishOnlyWithoutObstacle / fishOnlyWhenHaveJustWater
Modos de pesca que verificam condições antes de lançar a vara. São toggles independentes — ative o que fizer sentido para sua situação.

  • fishOnlyWithSight: Só pesca se houver linha de visão direta com o tile de água.
  • fishOnlyWithoutObstacle: Só pesca em tiles de água sem obstáculos.
  • fishOnlyWhenHaveJustWater: A condição mais segura — verifica andares inferiores também.
maxBoxCreatures
Número máximo de monstros na tela para continuar pescando. Se excedido, a pesca para por segurança. Padrão: 7.
hookFallbackDelay
Tempo máximo em segundos para aguardar a fisgada antes de puxar a vara automaticamente.

Como Funciona: Se o bot não detectar o efeito visual de fisgada após esse tempo, puxa a vara. Aumente em locais com spawn mais lento.

Padrão: 70s. Aumente para 90-120s em locais lentos.

waitMovesCooldown
Espera os pokémoves saírem de cooldown entre cada ciclo de pesca. Garante que você tenho pokémoves prontas caso precise combater durante a pesca.
stopFishingAtPokemonHealth
Para de pescar quando a vida do Pokémon cai abaixo deste percentual. Útil para esperar o regeneration natural. 0 para desativar.
stopFishingAtCharacterHealthPercent
Para de pescar quando a vida do PERSONAGEM cai abaixo deste percentual. Protege contra morte do treinador em áreas perigosas. 0 para desativar.
descaralhadoMode
Modo agressivo de pesca que ignora obstáculos e verificações de visão. Alto risco de detecção.

Módulo de Alarmes

Configura notificações para eventos importantes via WhatsApp e Telegram. Cada tipo de alarme pode ser ativado ou desativado individualmente.

alarmEnabled
Liga ou desliga o envio de todas as notificações. Master switch do sistema de alarmes.
alwaysPlayAlarm
Controla se o alarme sonoro local continua tocando quando o bot principal está desligado. Seletor de 3 estados:

  • Off (0): Nenhum alarme toca quando o bot está desligado.
  • Always On (1): Todos os alarmes sonoros continuam tocando mesmo com o bot desligado. Útil pra monitoramento 24/7.
  • Private Messages Only (2): Apenas o alarme de mensagem privada continua tocando com o bot desligado.
botterPhone / telegramID
Número de WhatsApp e/ou ID do Telegram para receber alertas. Suporta múltiplos contatos.
enabledAlarms
Lista de eventos que geram alarme. Cada um é individualmente ativável no painel.

Jogadores e staff:

  • playerDetected: Alarme genérico de detecção de jogador (legado — use os abaixo para maior controle).
  • humanJoinScreen / humanLeftScreen: Jogador entrou ou saiu da tela.
  • detectPlayerHigherFloor / detectPlayerLowerFloor: Jogador detectado no andar de cima ou de baixo.
  • staffScreen: Staff/GM visível na tela.
  • verificationGM: GM pediu verificação (seta ou aviso).
  • proofBot: Aviso anti-bot do servidor apareceu.

Criaturas extraordinárias:

  • shinyDetected / shinyHigherFloor / shinyLowerFloor: Shiny na tela ou em outro andar.
  • megaDetected / megaHigherFloor / megaLowerFloor: Mega na tela ou em outro andar.
  • bossDetected / bossHigherFloor / bossLowerFloor: Boss na tela ou em outro andar.

Mensagens:

  • privateMessage: Mensagem privada recebida.
  • defaultMessage: Mensagem no chat default.
  • partyMessage / tvMessage: Mensagem no canal da party ou TV.
  • reportMessage: Alguém usou /report em você.
  • partyInvite: Alguém convidou você para party.

Loot e captura:

  • dropRare / dropStone: Loot raro ou evolution stone dropou (separados).
  • pokemonCaught: Um pokémon foi capturado.
  • lootStatistics: Envio periódico de stats acumulados de loot.

Status do personagem:

  • lowHealth: Vida do personagem abaixo de lowHealthPercent.
  • lowSupplies: Algum item em lowSuppliesItems ficou abaixo do threshold.
  • effectOnScreen: Um efeito relevante apareceu na tela (ex: debuff visual).
  • characterStucked: O bot está travado há stuckTimeout segundos.
  • characterDied: O personagem morreu.
  • characterTeleported: Personagem foi teleportado para outra região (arrasto).
  • characterDisconnected: Personagem foi desconectado.
  • highPing: Ping ultrapassou highPingThreshold.

Banco e ações:

  • vaultDeposit / vaultWithdraw: Depósito ou saque no vault.
  • action: Uma ActionRule com alarme foi acionada.
  • notify: Notificações do jogo (sininho) — super recursos, PokéPark, etc.
highPingThreshold
Threshold de ping em ms para acionar o alarme highPing. Quando o ping ultrapassa este valor, você recebe uma notificação.
lowSuppliesItems
Lista de itens monitorados pelo alarme lowSupplies. Cada entrada define um item e a quantidade mínima antes do alarme disparar — ex: alertar quando restam menos de 50 revives.
stuckTimeout
Tempo em segundos que o bot precisa ficar preso sem conseguir se mover antes de disparar o alarme characterStucked. Valores mais altos evitam falsos positivos em hunts lentas.
antiSpamInterval
Intervalo mínimo em segundos entre alarmes consecutivos do mesmo tipo. Previne flood de notificações quando o mesmo evento dispara várias vezes seguidas.
lootStatisticsInterval
Frequência (em minutos) com que as estatísticas de loot são enviadas automaticamente via WhatsApp/Telegram. Depende do alarme lootStatistics estar ativado.
ignoredNames
Lista de jogadores que não devem acionar alarmes. Útil para ignorar amigos, alts ou jogadores frequentes da mesma área.
ignoredItems
Lista de itens que não devem acionar alarme de drop. Também funciona como blacklist para o lootOnlyRare do módulo de Combate.

responsesGM
Lista de frases e respostas configuráveis para responder ao GM automaticamente quando a seta do GM aparece. Você pode adicionar quantas quiser.

Como Funciona: Quando o GM interage, o bot seleciona uma resposta da lista e envia. Funciona em conjunto com danceForGM na aba Engine.

disableAlarmsNearMark / disableAlarmsNearNurseJoy
Desliga os alarmes automaticamente quando o personagem está perto do mark de teleporte ou perto da Nurse Joy. Evita alarmes falsos em áreas seguras onde é normal ter outros jogadores.
lowHealthPercent
Percentual de vida do PERSONAGEM abaixo do qual o alarme de vida baixa é acionado. Configure para receber notificação quando seu treinador estiver em perigo.
useSimilarity
Detecta nomes de staff por similaridade textual. Pode gerar falsos positivos — recomendado manter desativado se não souber o que está fazendo.

Módulo de Party

Gerencia a criação e convites de party.

doParty
Se ativado, o bot criará uma party automaticamente se não estiver em uma.
useParty
Habilita a lógica geral de party. Necessário para as outras funções operarem.
inviteAccounts / inviteNames
Se ativado, o bot convidará automaticamente os jogadores listados em `inviteNames` para a party.
ignoreLoot / ignoreCatch
Permite desativar o loot e/ou a captura de Pokémon quando estiver em uma party, útil para hunts em equipe onde outra pessoa é responsável por essas tarefas.

Engine (Geral)

Configurações gerais, de segurança, GM Protection e comportamento do núcleo do bot.

callPokemonWhenTrapped
Quando o bot está travado (sem caminho), chama o pokémon de volta e tenta outra rota. Evita que o pokémon fique parado indefinidamente.
autoDeactivateMountary
Desmonta automaticamente a montaria quando necessário (ex: ao entrar em combate).
hidePurplePokemons
Esconde pokémons roxos (envenenados) da visualização para não confundir a IA de targeting.
hideBrotherHoodNpcs
Esconde NPCs da Brotherhood para que a IA não os confunda com monstros de hunt. Oculta megas, bosses e shinies dos NPCs da BH.

Criaturas Extraordinárias

autoKillExtraordinary
Quando ativado, o bot prioriza e ataca imediatamente qualquer criatura extraordinária (Shiny, Boss, Mega ou da lista customizada). Respeita o Shape Radius antes de iniciar o combo.
useOnlyAreaMovesOnExtraordinary
Força o uso apenas de pokémoves de área ao combater criaturas extraordinárias. Opcional — quando desativado, usa rotação normal de pokémoves.
extraordinaryCreatures / priorityCreatures
Listas customizáveis para targeting especial.

  • extraordinaryCreatures: Tratados como Shiny/Boss (ataque imediato, keep distance, alarme, loot forçado).
  • priorityCreatures: Param o lure mas são combatidos com lógica normal, não de extraordinários.

GM Protection

Sistema dedicado de proteção contra GMs com detecção separada de staff na tela, seta do GM e aviso anti-bot.

Modos de Proteção
Três modos de reação ao detectar um GM na tela.

  • Partial (stopBotOnStaff): Pausa módulos selecionados (Cavebot, Farming, Fishing) mas continua curando. Reativa automaticamente após o GM sair.
  • Full (shutdownOnStaff): Inicia logout seguro — termina o combate atual e desloga.
  • Suicide (suicideOnStaff): Desliga healing, cancela ataque, e anda em direção ao grupo de monstros mais denso para morrer "acidentalmente".
staffDeactivationModules
No modo Partial, define quais módulos são desativados ao detectar GM. Escolha individualmente entre Cavebot, Farming e Fishing.
timeAfterGM
Tempo em segundos para esperar após o GM sair da tela antes de reativar os módulos. Padrão: 60 segundos. Evita reativação prematura.
autoStepOnArrow
Quando a seta do GM aparece no chão, o bot automaticamente pisa nela. Se desativado, a seta é ignorada.
danceForGM
O bot responde ao GM dançando e/ou enviando mensagens configuráveis. As frases e respostas são configuradas na aba de Alarmes.
useSimilarity
Detecta nomes de staff por similaridade (ex: 'GMaster' seria detectado como 'GM'). Pode gerar falsos positivos — use com cautela.

Outros

streamerMode
Modo streamer: esconde informações sensíveis do painel (login, senha, telefone do WhatsApp, IP da máquina) para permitir gravações ou streams sem vazar dados. Pode ser ativado/desativado a qualquer momento.
In-Game Commands
Envie comandos para seu personagem (say, reply, panic) diretamente do painel, mesmo sem estar no computador.

Módulo Actions & Rules

O módulo Actions & Rules é o cérebro de automação avançada do KizuBot. Nele você cria “regras” que observam o jogo (condições) e, quando essas condições são verdadeiras, executam uma sequência de ações totalmente configurável, como falar no chat, usar itens, teleportar, pausar o cavebot, tocar alarmes, rodar scripts seguros, etc.

Visão Geral
Como o sistema de regras conecta o painel ao cliente do bot.

Você pode enxergar o módulo Actions & Rules como uma ponte entre o que você configura no painel e o que o bot faz dentro do jogo. Cada regra criada no painel vira uma "receita de automação" que o cliente do bot segue com base em condições e ações bem definidas.

  • No painel: você monta regras visuais com nome, condições, grupos lógicos, sequência de ações e, se quiser, uma hotkey.
  • Na nuvem: essas regras são guardadas junto com as demais configurações da sua conta, ficando disponíveis para qualquer instância do bot vinculada a você.
  • No cliente do bot: quando o bot carrega suas configurações, ele recebe a lista atualizada de regras de Actions & Rules e atualiza o módulo responsável por monitorar o jogo.
  • Em tempo real: enquanto você joga (ou deixa o bot jogando), esse módulo fica avaliando condições e eventos do jogo e dispara as sequências de ações das regras que estiverem habilitadas.
Estrutura de uma Regra
Componentes principais que você configura na tela de Actions.

  • name: nome único da regra. É usado para organização, logs e para identificar timers internos.
  • enabled: liga/desliga a regra inteira. Ideal para testar regras novas sem apagá-las.
  • hotkey: tecla opcional (por exemplo, J) que vira um atalho Alt+J dentro do jogo. O ActionsModule.registerAllHotkeys() registra esses atalhos sempre que as configs são carregadas.
  • onlyInPz / onlyOutsidePz: filtros globais para rodar a regra apenas dentro ou fora de PZ.
  • pokemonSummoned: permite exigir que o Pokémon esteja ou não esteja sumonado para que a regra funcione.
  • actions: lista ordenada de ações que serão executadas em sequência quando a regra ativar.
  • condition_groups: grupos de condições com lógica AND/OR que definem quando a regra dispara.
Condições (Condition Groups)
Quando a regra dispara.

As condições são o “se” da sua automação. No painel, você monta grupos com a propriedade logic ("AND" ou "OR") e uma lista de conditions. O fluxo é o seguinte:

  • logic = "OR": a regra dispara se qualquer condição daquele grupo for verdadeira.
  • logic = "AND": todas as condições do grupo precisam ser verdadeiras ao mesmo tempo.
  • Tipos de condição mais usados:
    • time_is / time_between / server_save / timed_logout / timed: regras baseadas em horário, uptime do bot ou eventos recorrentes (interval em milissegundos — padrão 60000 = 1 minuto; aceita também interval_min/interval_max para randomização).
    • player_on_screen / player_count_is / no_player_on_screen: monitoram a presença e quantidade de jogadores na tela, com opção de ignorar membros da party.
    • is_in_pz / is_not_in_pz / is_in_combat / is_not_in_combat: cuidam de contexto de segurança (cidade, combate, etc.).
    • player_health / player_health_between: gatilhos por percentual de vida do personagem.
    • pokemon_health / pokemon_health_between / pokemon_not_summoned / active_pokemon_is: gatilhos por status do Pokémon ou verificar qual pokémon está ativo.
    • has_status / missing_status / has_any_bad_status / move_off_cooldown: verificam status conditions (poisoned, burning, paralyzed, etc.) e cooldown de habilidades.
    • all_moves_in_cooldown / target_moves_in_cooldown: verificam se todos os pokémoves (área + alvo) ou apenas as de alvo estão em cooldown - ideal para Smart Swap e otimização de DPS.
    • pokemon_unsummoned: detecta quando o Pokémon foi dessummonado forçadamente (teleport, dive, ou outras mecânicas do jogo).
    • target_health_between: regras que dependem da vida do monstro que você está atacando.
    • creature_in_box / creature_in_screen / creature_count: monitoram criaturas em volta ou na box.
    • extraordinary_in_box / extraordinary_in_screen / shiny_in_* / boss_in_* / mega_in_*: gatilhos específicos para shinies, bosses e megas.
    • item_count_lower_than / item_count_higher_than: monitoram quantidade de itens (revives, pokébolas, etc.).
    • module_enabled: verifica se um módulo específico (Cavebot, Farming, etc.) está ligado.
    • chat_message / text_message: respondem a mensagens específicas no chat.
    • creature_appear / player_watching_tv: condições baseadas em eventos pontuais observados pelo bot.
    • pokemon_dead: dispara no exato momento em que o pokémon ativo morre — usado pelo Smart Swap "On Death".
    • combo_active / lure_active: verificam o estado interno do combate — se você está em combo ou ainda na fase de lure.
    • staff_on_screen / gm_arrow_detected / anti_bot_warning: condições usadas pelo sistema de GM Protection (detecção de staff, seta do GM, aviso anti-bot do servidor).
    • is_flying / is_not_flying / is_riding / is_not_riding / is_in_vehicle / is_not_in_vehicle / is_broadcasting_tv / is_party_leader / is_near_waypoint: verificam estados especiais do personagem, do Pokémon ou da rota.
    • state_variable_is / state_cooldown_passed / player_state_is: permitem criar lógicas com memória e cooldowns personalizados usando variáveis internas do módulo.
  • Por baixo dos panos, o módulo de ações avalia cada condição com base no contexto atual (vida, criaturas na tela, mensagens recebidas, etc.) e decide se a regra pode ou não disparar.
Ações Disponíveis
O que a regra pode fazer por você no jogo.

Quando uma regra dispara, o bot percorre a lista de actions que você configurou. Alguns exemplos práticos que você enxerga na tela de edição:

  • talk / say_random: envia mensagens formatadas em canais como say, trade, party, TV ou privado, com placeholders como {player} ou {creature.name}.
  • use_item: usa itens no player, no Pokémon ou em posições calculadas (por exemplo, ao redor do Pokémon), perfeito para revives, potions, boxes, etc.
  • cast_spell: dispara um move específico do seu Pokémon pelo ID do slot (1–12).
  • call_pokemon / swap_pokemon / revive_pokemon: controla qual Pokémon está em campo, revive pokémons específicos e gerencia o time durante a hunt.
  • teleport: usa o teleporte do Pokémon para voltar a cidades/locais específicos quando as condições são atendidas.
  • toggle_module / pause_cavebot: liga/desliga módulos (Cavebot, Farming, etc.) ou pausa o Cavebot por um tempo determinado, retomando depois automaticamente, se configurado.
  • change_setting: altera configurações avançadas em tempo real (por exemplo, ligar/desligar CombatModule.ksIgnoreLoot ou mudar prioridades).
  • set_state / increment_state: manipulam variáveis internas de estado, permitindo regras com memória (como contar quantos avisos um jogador já recebeu antes de tomar uma ação mais agressiva).
  • wait: pausa a sequência por alguns milissegundos, útil para criar fluxos do tipo “faz X, espera Y, depois faz Z”.
  • play_alarm: toca sons integrados ao módulo de alarmes, com texto opcional para log ou notificações externas.
  • walk_to_waypoint / set_cavebot_waypoint: movem ou reposicionam o Cavebot para um waypoint específico, ótimo para rotas de fuga ou atalho até uma área.
  • force_logout / safe_logout / reconnect / panic_shutdown: controlam desligar e religar o cliente de forma automática, incluindo desligamento de emergência com mensagem personalizada.
  • sell_item_market / search_item_market / buy_cheapest_item_market: automatizam interações com o market do jogo (busca, venda e compra de itens dentro de parâmetros definidos).
  • talk_to_npc / npc_select_option / buy_npc_item: automatizam diálogos com NPCs, seleção de opções e compra de itens diretamente pelos menus.
  • run_script: executa scripts pré-definidos e seguros do próprio cliente do bot (não editáveis pelo usuário): deposit_money, withdraw_money, open_private_chat, send_party_invite, talk_nurse_joy, stack_items_in_container, tv_ban, tv_unban, use_vehicle.
  • stop_sequence: encerra a execução da regra no ponto atual, útil para criar “if/else” dentro da mesma sequência.
Cheat Sheet de Conditions & Actions
Tabela-resumo com os tipos mais usados e quando aplicar cada um.

Conditions (gatilhos)

TipoQuando usarCampos principais
time_between / time_isRegras por horário específico ou janela de horário (ex.: antes do server save).start_time, end_time, time
player_on_screenDetectar qualquer jogador na tela e reagir, ignorando party se quiser.ignore_party_members
player_health_between / pokemon_health_betweenAutomatizar ações de segurança quando a vida cair abaixo de um limite.min_percent, max_percent
item_count_lower_thanDetectar quando um item crítico (revive, pokébola, berry) está acabando.item_name, count
chat_message / text_messageReagir a mensagens-chave no chat (ex.: comandos, avisos ou perguntas).channel (para chat_message), contains (opcional)
extraordinary_in_screenDetectar shinies/bosses/megas na tela para tocar alarmes ou mudar a rota.Sem campos obrigatórios além do type
state_cooldown_passedImpedir que uma regra dispare muitas vezes em pouco tempo (cooldown customizado).variable, cooldown (segundos)
has_status / missing_statusVerificar se player/pokémon tem ou não tem um status (poisoned, burning, paralyzed, etc.).target (player/pokemon), status_name
active_pokemon_isVerificar se o pokémon ativo é um específico por nome.name
all_moves_in_cooldownDetectar quando todos os pokémoves (área + alvo) estão em cooldown - ideal para Smart Swap.Sem campos obrigatórios
pokemon_unsummonedDetectar dessummon forçado (teleport, dive, mecânicas do jogo).Sem campos obrigatórios

Actions (o que executar)

TipoQuando usarCampos principais
talk / say_randomEnviar avisos automáticos, respostas de PM ou mensagens de roleplay.channel, message ou messages[]
use_itemUsar itens de cura, revives, boxes ou qualquer outro item configurado.item_name, target, positionOption (opcional)
cast_spellForçar o uso de um move específico em momentos críticos.move_id
toggle_module / pause_cavebotAtivar/desativar módulos inteiros com base em risco, status ou horário.module, state, duration (para pausa)
play_alarmSer avisado imediatamente (som/notificação) quando algo muito importante acontece.sound, text (opcional), loops
set_state / increment_stateMarcar que algo aconteceu (avisos, tentativas, flags) e usar isso em outras regras.variable, value ou amount
run_scriptAproveitar ações complexas prontas (depositar dinheiro, abrir PM, banir da TV, etc.).script_id, parâmetros específicos do script (quando existirem)
Placeholders e Contexto
Torne as regras inteligentes usando dados do evento.

Diversas ações e condições suportam placeholders como {player}, {message} ou{creature.name}. O módulo converte essas variáveis usando a funçãoActionsModule.resolvePlaceholders, que busca os valores dentro de um objeto de contexto (eventData).

  • Em regras de chat, eventData.player e eventData.message são preenchidos automaticamente com o jogador e a mensagem recebida.
  • Em regras de TV, eventData.watcherName e variáveis comoActionsModule.state.tvWatchers permitem banir ou notificar quem está assistindo há muito tempo.
  • Em regras de criaturas, eventData.creature carrega o monstro que apareceu ou está sendo atacado, permitindo mensagens altamente personalizadas.
Presets de Actions
Modelos prontos para você não começar do zero.

A aba de presets da página de Actions traz uma coleção de modelos prontos (presets) organizados por categoria (Utility, System & Automation, etc.), já configurados e prontos para serem importados e ajustados.

  • Deposit Money (Hotkey): cria uma regra com hotkey que chama o script segurodeposit_money, responsável por abrir o cofre e depositar todo o dinheiro (ou um valor específico se você configurar count).
  • Safe Logout on Player Detection: detecta um jogador na tela, executapanic_shutdown com uma mensagem personalizada usando {player}, espera 5 minutos, reconecta e ativa novamente os módulos principais.

Esses presets são um excelente ponto de partida: você pode importar, testar, ajustar textos, tempos e módulos afetados, em vez de montar tudo do zero.

A lógica interna desses presets é exatamente a mesma que você configura manualmente no painel. Eles existem apenas para poupar tempo e servir como "receitas prontas" que você pode adaptar ao seu estilo de jogo.

Exemplos Práticos de Regras
Passo a passo de configurações comuns usando Actions & Rules.

1. Safe Logout ao Detectar Jogador

Objetivo: se qualquer jogador aparecer na sua tela durante a hunt, o bot deve desligar tudo com segurança, esperar um tempo e depois tentar reconectar.

  • Nome da regra: Safe Logout on Player Detection
  • onlyOutsidePz: ativado (true), para não disparar enquanto você está parado em cidade/PZ.
  • condition_groups: um grupo com logic = "OR" e uma condição:
    • type = "player_on_screen"
    • ignore_party_members = true para não considerar sua própria party como ameaça.
  • actions (em ordem):
    • panic_shutdown com reason = "Panic shutdown due to player {player} on screen." — usa o placeholder para registrar quem foi detectado.
    • wait com duration = 300000 (5 minutos) — dá tempo para o player ir embora.
    • reconnect — tenta logar novamente na conta usando as infos de AccountModule.accountInfo.
    • toggle_module com module = "All" e state = true — reativa os módulos após o retorno.

2. Depositar Dinheiro com Hotkey

Objetivo: ao apertar uma tecla, o bot abre o cofre e deposita todo o dinheiro (ou um valor específico).

  • Nome da regra: Deposit Money (Hotkey)
  • enabled: true
  • hotkey: D (no jogo isso vira Alt+D)
  • condition_groups: pode ficar vazio — a execução será manual via hotkey.
  • actions:
    • run_script com script_id = "deposit_money" — chama um script seguro interno do cliente do bot.
  • Variação com valor fixo: adicione o parâmetro count na action para depositar apenas parte do dinheiro (ex.: count = 50000 para 50k).

3. Responder PM Automaticamente

Objetivo: mandar uma resposta automática quando alguém te envia uma mensagem privada, usando o nome e o conteúdo da mensagem na resposta.

  • Nome da regra: Auto Reply Private Message
  • enabled: true
  • condition_groups: um grupo com logic = "OR" e uma condição:
  • type = "chat_message"
  • channel = "private"
  • contains opcional — se você quiser que dispare só quando a mensagem tiver uma palavra-chave.
  • actions:
    • talk com:
      • channel = "private"
      • message = "Olá {player}, recebi sua mensagem: {message}. No momento estou usando o KizuBot, em breve respondo manualmente."
    • Opcional: use set_state + state_cooldown_passed em uma segunda regra para evitar responder spam do mesmo jogador muitas vezes em pouco tempo.

4. Aviso ao Detectar Shiny/Boss/Mega

Objetivo: tocar um alarme específico e mandar uma mensagem quando uma criatura extraordinária aparecer na tela.

  • Nome da regra: Extraordinary Creature Alert
  • enabled: true
  • condition_groups: um grupo com logic = "OR" e uma condição do tipoextraordinary_in_screen (ou condição equivalente disponível no painel que detecte extraordinários).
  • actions:
    • play_alarm com sound = "shinyDetected", loops = 3 e um texto opcional (ex.: "Shiny/Boss/Mega na tela!").
    • Opcional: adicionar uma action talk em canal privado para avisar outra conta sua ou parceiro de hunt.

5. Usar Stun baseado na vida do Pokémon alvo

Objetivo: usar automaticamente um movimento de stun quando a vida do alvo estiver abaixo de um limite, ajudando a controlar lures perigosos.

  • Nome da regra: Use Stun on Low Target HP
  • enabled: true
  • condition_groups: um grupo com logic = "OR" e uma condição do tipotarget_health_between com min_percent e max_percent configurados (por exemplo, entre 1% e 30%).
  • actions:
    • cast_spell com move_id apontando para o slot do seu stun na barra de moves.

6. Regra Anti-Gank Completa (múltiplos grupos)

Objetivo: criar uma proteção completa contra gank, combinando detecção de players, checagem de vida e cooldown para não ficar desligando e religando o bot o tempo todo.

  • Nome da regra: Anti-Gank Protection
  • enabled: true
  • onlyOutsidePz: true (só faz sentido quando você está em hunt).
  • condition_groups:
    • Grupo 1 (detecção de risco)logic = "OR":
      • player_on_screen com ignore_party_members = true.
      • player_count_is com greater_than = 2 (mais de dois jogadores na tela).
    • Grupo 2 (estado do personagem)logic = "AND":
      • player_health_between com min_percent = 1 e max_percent = 70.
      • is_not_in_pz (garantir que você ainda está exposto).
    • Grupo 3 (cooldown da proteção)logic = "AND":
      • state_cooldown_passed com variable = "anti_gank_last_trigger" e cooldown em segundos.
  • actions (em ordem):
    • set_state com variable = "anti_gank_last_trigger" e value = true para registrar o último disparo da proteção.
    • panic_shutdown com uma mensagem explicando o motivo (por exemplo,"Anti-gank triggered due to players on screen."), para desligar tudo de forma segura.
    • Opcional: adicionar um play_alarm ou envio de mensagem privada para avisar outra conta sua que o anti-gank foi ativado.
Debugando Regras (Quando algo não dispara)
Passos simples para entender por que uma regra não está funcionando como esperado.

  • 1. Teste via hotkey primeiro: se sua regra tiver hotkey, deixecondition_groups o mais simples possível ou até vazio, e confirme se a sequência de ações funciona quando você pressiona o atalho (Alt+tecla).
  • 2. Revise os filtros globais: confira se onlyInPz, onlyOutsidePz epokemonSummoned fazem sentido para o cenário em que você está testando. Esses filtros bloqueiam a regra mesmo que as condições internas sejam verdadeiras.
  • 3. Simplifique as condições: comece com uma única condição em um grupo (por exemplo,player_health) e verifique se dispara. Depois vá adicionando mais condições ou grupos aos poucos.
  • 4. Verifique valores numéricos: certifique-se de que campos como percentuais, intervalos e contagens (por exemplo, duration, min_percent, max_percent, count) estejam coerentes com o que você espera no jogo.
  • 5. Use placeholders com cuidado: se a mensagem usa {player} ou{message}, verifique se a condição realmente preenche esse contexto (por exemplo,chat_message em canal privado).
  • 6. Evite conflitos entre regras: duas regras podem tentar fazer coisas opostas ao mesmo tempo (uma ligando módulo, outra desligando). Se algo parecer "piscando" ou instável, desative regras semelhantes e teste uma por vez.
FAQ de Actions & Rules
Perguntas frequentes sobre o uso do sistema de ações.

  • Posso usar Actions & Rules sem presets?

    Sim. Os presets são apenas atalhos para criar regras prontas. Você pode montar tudo manualmente, campo por campo, usando a mesma interface.

  • O que acontece se eu apagar um preset?

    Apagar um preset importado não afeta o funcionamento do bot nem suas outras regras. Ele só deixa de aparecer na lista de regras do painel.

  • Regras com timed podem me prejudicar?

    Podem, se configuradas com intervalos muito baixos. Use intervalos maiores e, sempre que possível, combine com condições de cooldown (state_cooldown_passed) para evitar spam de ações.

  • Posso usar Actions para substituir totalmente o Cavebot?

    O foco de Actions & Rules é reagir a eventos e estados (vida, players, mensagens, horários). Ele complementa o Cavebot e outros módulos, mas não substitui um script de movimentação completo.

  • Se eu errar uma regra, posso quebrar o bot?

    Erros de configuração normalmente só fazem a regra não disparar ou se comportar de forma indesejada. Se algo parecer estranho, desative a regra (enabled = false) e ajuste aos poucos até chegar no comportamento desejado.

Boas Práticas
Dicas para criar regras poderosas e seguras.

  • Comece simples: crie regras com poucas condições e 1–2 ações para validar o comportamento.
  • Use hotkeys para teste: ative a mesma sequência via hotkey antes de deixá-la totalmente automatizada.
  • Combine com Alarmes: use play_alarm e notificações externas para saber quando uma regra crítica é disparada.
  • Atenção a loops: evite criar regras que se auto-disparem em alta frequência (por exemplo, timed com intervalo muito baixo) sem algum controle de cooldown via state_cooldown_passed.
  • Priorize segurança: em ações de TV, player detection e staff, prefira desligar módulos, pausar cavebot ou fazer logout seguro antes de qualquer ação agressiva.

Módulo de Conta

Gerencia as configurações da sua conta, credenciais, profiles de configuração e o cliente do jogo.

AccountModule.accountInfo
Salva as credenciais da sua conta do PokeXGames para login automático e auto-reconnect.

Upload de settings.otml
Envia seu arquivo settings.otml do computador local para a máquina virtual.

Como Funciona: O painel envia o conteúdo para o servidor. O bot baixa na VM. Pressione ALT+K no jogo para aplicar (reinicia e carrega as novas configurações).

O que inclui: Hotkeys, posições de janelas, configurações da action bar, etc.

Manage Profiles
Sistema de perfis de configuração que permite salvar e carregar diferentes configs para diferentes hunts/atividades.

Como Funciona: Salve a config atual como um profile nomeado (ex: "Hunt Venusaur", "Farming Outland"). Troque entre profiles sem precisar reconfigurar tudo manualmente.

Compartilhamento: Profiles são visíveis entre todos os personagens do mesmo login.

Personagens Ocultos
Permite ocultar personagens antigos ou inativos da tela de seleção de character. Personagens ocultos não aparecem no GridView.
Alterar Senha
Permite alterar a senha da sua conta do painel KizuBot diretamente do dashboard.

Módulo de Setup Pokémon

O coração do combate — define as habilidades de cada Pokémon com 5 categorias de pokémoves e detecção automática de stun.

CombatModule.Spells
Define os pokémoves para cada Pokémon pelo nome exato. Cado pokémove é identificada por ID (1-12, correspondendo às teclas F1-F12 no jogo).

5 Categorias de Pokémoves:

  • targetMoves: Pokémoves de alvo único. Usadas contra um monstro específico.
  • areaMoves: Pokémoves de área (AoE). Atingem múltiplos monstros ao redor.
  • supportMoves: Buffs e pokémoves de suporte (ex: Charm, Charge, Agility).
  • healMoves: Pokémoves de cura do próprio Pokémon (ex: Synthesis, Recover).
  • stunMoves: Pokémoves de stun/CC. Detectadas automaticamente pela IA com base nos efeitos do jogo. Usadas pelo Sistema de Stun Tático configurado no módulo de Combat.

Prioridade: A ordem dos pokémoves dentro de cada lista define a prioridade de uso. O bot sempre tenta usar o primeiro pokémove disponível (que não esteja em cooldown).

Módulo de Humanização

Sistema centralizado de anti-detecção que adiciona variância natural a thresholds, micro-pausas durante a hunt, pausas longas simulando AFK, e reações humanizadas ao GM. Quando o master toggle está ativado, este módulo gerencia automaticamente configurações de outras páginas.

Geral

masterToggle
Switch principal que ativa/desativa todo o sistema de humanização. Quando ativado, gerencia configs de outras páginas e injeta regras de ações automáticas.
globalVariance
Percentual padrão de variância aplicado a thresholds numéricos. Exemplo: com 10% de variância, um monsterStop de 8 varia entre ~7 e ~9 a cada ciclo de lure.

Como funciona: A variância é recalculada uma vez por sessão de lure (quando nextCycle() é chamado). Durante o mesmo lure, os valores permanecem estáveis — não oscilam a cada segundo.

Valores sentinela: Os valores 0, 99 e 999 NUNCA são variados, pois representam "desativado" na maioria das configs.

thresholdVariance
Override de variância específico para thresholds. Se definido, substitui o globalVariance apenas para thresholds numéricos. Deixe em 0 para usar o globalVariance.
customVariances
Permite definir variância individual por threshold, sobrescrevendo o globalVariance para configs específicas.

Como funciona: Um JSON onde cada chave é o nome do threshold e o valor é a variância em %. Exemplo: {"monsterStop": 15, "potionAtPercent": 5} aplica 15% em monsterStop e 5% em potionAtPercent, independente do globalVariance.

Thresholds Afetados
Lista de thresholds que recebem variância automática quando a humanização está ativa.

  • waitForPlayerLifeRegen — % de vida do personagem para esperar regeneração
  • waitForPokemonLifeRegen — % de vida do pokémon para esperar regeneração
  • stopLureAtHealth — % de vida para parar de lurar
  • forceComboAtHealth — % de vida para forçar combo
  • healAtPercent — % para usar heal
  • potionAtPercent — % para usar poção
  • monsterStop — quantidade de monstros para parar
  • minMonsters — mínimo de monstros para combar
  • maxTimeForCombo — tempo máximo de lure antes de forçar combo
  • waitForEnd — tempo de espera após o combo antes de retomar cavebot

Comportamento

humanizedRevive
Adiciona delays ao processo de revive, esperando animações completarem. Gerencia a config equivalente em Healing.
humanizedStopWalking
O bot não para instantaneamente ao atingir o monsterStop — desacelera naturalmente como um jogador real faria.
canMadeMistakes
O bot erra propositalmente minigames de farming de vez em quando. Gerencia a config equivalente em Farming.
minigameSolveDelay
Tempo de resposta ao resolver minigames. Gerencia a config equivalente em Farming. Opções: instant, fast, default, slow, realistic.
startThrowBallDelay / delayBetweenBalls
Delays humanizados para jogar pokébolas. Gerencia as configs equivalentes em Catch. Opções: instant, fast, default, slow, realistic.

Reação ao GM

gmReactionDelayMin / gmReactionDelayMax
Range de delay em milissegundos antes de responder à seta do GM. Um valor aleatório é escolhido dentro do range a cada interação. Simula tempo de reação humano.

Padrão: 3000-8000ms (3-8 segundos). Um humano real demora alguns segundos para notar e responder.

gmDanceOrder
Ordem da reação: dançar antes de falar ou falar antes de dançar. Adiciona variação ao comportamento.
gmDoubleMessage
Envia duas mensagens sequenciais ao GM em vez de uma. Simula jogador nervoso tentando explicar.
gmMaxDances / gmMaxMessages
Limites de fadiga: após X setas do GM, o bot para de dançar e/ou enviar mensagens. Simula um jogador que se cansa de responder.

Micro-Pausas

microPausesEnabled / microPauseChance / microPauseDurationMin / microPauseDurationMax
Hesitações curtas de 0.5-3 segundos durante a caminhada. O bot para brevemente como se estivesse checando algo, depois continua.

Como funciona: São implementadas como regras de ação automáticas injetadas pelo painel. O bot processa como ações normais via polling de 250ms.

  • microPausesEnabled: Liga/desliga o sistema de micro-pausas.
  • microPauseChance: Probabilidade (0-100%) de uma micro-pausa acontecer a cada ciclo.
  • microPauseDurationMin / microPauseDurationMax: Range de duração em milissegundos (500ms = 0.5s). Padrão: 500–3000ms.

Exemplo: Chance 15%, duração 500–2000ms = a cada ~7 ciclos o bot hesita por 0.5 a 2 segundos, como se estivesse checando o celular.

Pausas Longas (Hunt Breaks)

huntBreaksEnabled / huntBreakIntervalMin / huntBreakIntervalMax / huntBreakDurationMin / huntBreakDurationMax
Pausas longas de 1-5 minutos que simulam o jogador indo fazer outra coisa (ir ao banheiro, pegar água, etc).

  • huntBreaksEnabled: Liga/desliga o sistema de hunt breaks.
  • huntBreakIntervalMin / huntBreakIntervalMax: Intervalo entre pausas (em minutos). Randomizado dentro do range.
  • huntBreakDurationMin / huntBreakDurationMax: Duração da pausa (em minutos). Randomizado dentro do range.
  • huntBreakDisableHealing: Desativa healing durante a pausa. O pokémon leva dano como se o jogador estivesse realmente AFK.
  • huntBreakDisableCombat: Desativa combat durante a pausa. O pokémon não revida — AFK completo.