Pular para o conteúdo principal

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.

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
O nome do arquivo de script de waypoint (.kwpt) que o bot deve seguir.

Como Funciona: O bot solicita ao servidor o conteúdo do arquivo com este nome. É crucial que o nome corresponda exatamente ao arquivo salvo no seu painel de Waypoints.

Exemplo: Se seu script se chama shiny_charizard.kwpt, você deve inserir shiny_charizard.kwpt neste campo.

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

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

avoidLostMultiplier
Multiplicador de tempo de espera para evitar que seu Pokémon se perca.

Como Funciona: O bot multiplica o número de monstros na tela por este valor para determinar um tempo de espera em segundos. Se seu pokémon estiver a mais de 3 tiles de distância, o bot aguarda esse tempo para caminhar, tornando o lure mais lento e seguro.

Exemplo: Com valor `0.2` e 10 monstros na tela, o bot espera `10 * 0.2 = 2` segundos antes de dar o próximo passo.

nodeRadius
Define a 'margem de erro' em tiles para considerar que um waypoint foi alcançado.

Como Funciona: Um valor maior permite que o bot considere um ponto como 'alcançado' mesmo estando um pouco longe, o que pode acelerar a movimentação em áreas abertas. Um valor menor força mais precisão, ideal para corredores apertados.

Exemplo: Valor `1` (padrão) significa que o bot precisa chegar a 1 tile de distância do waypoint. Valor `3` permite uma margem maior.

diagonalType
Controla a frequência com que o bot utiliza movimentos diagonais.

Como Funciona: É uma porcentagem de chance. `100` significa que o bot sempre tentará usar diagonais quando for o caminho mais curto. `0` desativa completamente os movimentos diagonais. Valores intermediários (ex: `50`) adicionam um fator de aleatoriedade, tornando o movimento menos robótico.

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. Útil para dar tempo para o respawn dos monstros.
  • waitForPlayerLifeRegen: O bot para se a sua vida estiver abaixo do percentual definido e só volta a andar quando a vida regenerar.
  • waitForPokemonLifeRegen: O mesmo que o anterior, mas para a vida do seu Pokémon.
  • waitForAreaMovesCooldown / waitForTargetMovesCooldown: O bot espera o cooldown das suas magias de área ou de alvo único terminarem antes de ir para o próximo waypoint. Útil para garantir que você sempre chegue no respawn com suas magias prontas.

Módulo de Combate

Gerencia todas as ações de combate: luring, targeting, uso de magias e coleta de loot.

doCombat
Ativa ou desativa o módulo de combate. Se desligado, o bot não atacará monstros.
targetCreatures / ignoreCreatures / targetAll
Listas para controlar quais monstros atacar.

  • targetAll: Ataca todos os monstros, ignorando as outras listas (exceto `ignoreCreatures`).
  • targetCreatures: É uma 'lista branca'. Se `targetAll` estiver desligado, o bot SÓ atacará os monstros nesta lista.
  • ignoreCreatures: É uma 'lista negra'. O bot atacará todos os monstros, EXCETO os que estiverem nela.
monsterStop
Número de monstros na tela para o bot parar de andar (lurar) e começar a atacar.

Como Funciona: Este é o principal gatilho para iniciar o combate. A contagem considera todos os monstros visíveis na tela, não apenas os que estão perto.

Exemplo: Se definido como `8`, o bot andará pela hunt juntando monstros. Assim que o 8º monstro aparecer na tela, ele para e inicia o combo.

stopLureAtHealth
Percentual de vida do seu Pokémon para parar de lurar e iniciar o combate, mesmo que o `monsterStop` não tenha sido atingido. Defina como `0` para desativar.
forceComboAtHealth
Percentual de vida do seu Pokémon para forçar o início imediato do combo, ignorando o tempo de lure. Útil como uma medida de segurança para evitar a morte do seu pokémon.
maxTimeForCombo
Tempo máximo em segundos que o bot ficará lurando antes de forçar o início do combo, mesmo que `monsterStop` não tenha sido atingido. Use `999` para desativar.
ksIgnoreLoot / ksIgnoreCatch
Opções de segurança para quando há outros jogadores na tela.

  • ksIgnoreLoot: Se ativado, o bot não coletará o loot se houver outros jogadores (que não sejam da sua party) na tela, para evitar acusações de roubo.
  • ksIgnoreCatch: Se ativado, o bot não tentará capturar pokémons se houver outros jogadores na tela.
endOfComboActionOrder
Define a prioridade das ações após o fim de um combo (quando todos os monstros morrem).

Como Funciona: Você pode escolher entre "Loot First" ou "Healing First".

  • Loot First (Padrão): O bot primeiro coleta todo o loot e depois usa revives/potions. É mais eficiente, mas arriscado se seu pokémon estiver com vida baixa.
  • Healing First: O bot primeiro usa revive/potion e depois coleta o loot. Mais seguro, mas pode perder alguns corpos de loot se eles desaparecerem.

Módulo de Healing

Gerencia a cura e recuperação do seu personagem e Pokémon.

doHealing
Ativa ou desativa todo o módulo de cura.
useRevive / reviveName
Controla o uso de revives.

Como Funciona: Se `useRevive` estiver ativo, o bot usará o item definido em `reviveName` para reviver seus pokémons. As sub-opções controlam QUANDO reviver:

  • reviveOnEndLure: Usa revive ao final de cada lure/combo, garantindo que o pokémon esteja com a vida cheia para o próximo.
  • forceReviveByCds: Se as magias acabarem e ainda houver monstros, o bot usa outro revive para resetar os cooldowns.
  • reviveOnAllMovesInCooldown: Usa revive apenas se TODAS as magias (de área e de alvo) estiverem em cooldown.
  • useCriticalRevive: Usa revive se a vida do pokémon cair abaixo de um percentual crítico (`criticalRevivePercent`), mesmo no meio do combate.
usePotion / potionName / potionAtPercent
Controla o uso de poções de vida no Pokémon.

Como Funciona: Se `usePotion` estiver ativo, o bot usará o item de `potionName` no Pokémon sempre que a vida dele cair abaixo de `potionAtPercent`.

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

useBerry / berryConfig
Sistema avançado para uso de berries.

Como Funciona: Você pode criar regras complexas, como "Usar `Aspear Berry` no `Charizard` quando ele estiver com o status `Frozen`" ou "Usar `Sitrus Berry` no `Snorlax` quando a vida estiver abaixo de `40%`".

keepDistance / pokemonKeepDistance
Controle de posicionamento durante o combate.

  • keepDistance: Faz o SEU PERSONAGEM manter distância dos monstros. `distanceToKeep` define a distância em tiles. `minMonstersToKeepDistance` é o gatilho para ativar a função.
  • pokemonKeepDistance: Faz o SEU POKÉMON manter distância dos monstros. `pokemonDistanceToKeep` define a distância.

Smart Swap System

Sistema inteligente de troca de Pokémon baseado em condições avançadas.

Smart Swap
Troca automática de Pokémon quando condições específicas são atendidas.

Como Funciona: O Smart Swap monitora o estado do seu Pokémon e troca automaticamente para o próximo da lista quando as condições configuradas são satisfeitas. É mais inteligente que o antigo sistema de troca ao morrer.

  • Enabled: Ativa ou desativa o sistema de Smart Swap.
  • Strategy: Define a estratégia de troca:
    • sequential: Troca para o próximo Pokémon na ordem do time.
    • random: Troca para um Pokémon aleatório do time.
    • priority: Troca baseado em prioridade configurada.
Condições de Swap
Quando o Smart Swap deve ser acionado.

Configure múltiplas condições para acionar a troca:

  • pokemon_died: Troca quando o Pokémon atual morre.
  • all_moves_in_cooldown: Troca quando TODAS as magias (área e alvo) estão em cooldown - ideal para maximizar DPS.
  • target_moves_in_cooldown: Troca quando apenas as magias de alvo estão em cooldown.
  • pokemon_unsummoned: Troca quando o Pokémon é dessummonado forçadamente (teleport, dive, etc.).
  • health_below: Troca quando a vida do Pokémon cai abaixo de um percentual crítico.
Fallback Actions
O que fazer quando a troca não é possível.

Quando não há mais Pokémons disponíveis para trocar, o sistema executa uma ação de fallback:

  • revive_main: Usa revive no Pokémon principal (slot 1).
  • revive_last: Usa revive no último Pokémon que estava ativo.
  • revive_all: Usa revive em TODOS os Pokémons mortos, um por um.
  • wait: Apenas espera até que um Pokémon esteja disponível.
  • teleport: Teleporta de volta à cidade/nurse.

Módulo de Catch

Todas as configurações relacionadas à captura de Pokémon.

catchMode
Define o modo de captura: Simples ou Avançado.

  • Simples: Uma única lista de nomes de Pokémon a serem capturados. Todos usarão a mesma pokébola definida globalmente.
  • Avançado: Permite configurar pokébolas específicas e persistência para cada Pokémon individualmente.
pokeballName / shinyPokeballName
Define as pokébolas padrão para pokémons normais e shinies. As opções 'alternative' são usadas como fallback se a primeira acabar.
catchAllEnabled
Se ativado, tenta capturar TODO pokémon derrotado, ignorando as listas de captura, mas ainda respeitando a `ignoreCatchList`.

catchAllIsPersistency: Se ativado, o bot continuará capturando a mesma espécie repetidamente. Se desativado, captura cada espécie apenas uma vez por sessão.

ignoreCatchList
Lista de pokémons que NUNCA devem ser capturados, mesmo que `catchAllEnabled` esteja ativo.
onlyCatchOneTimePerServerSave
Impede que o bot capture a mesma espécie de Pokémon mais de uma vez por dia (entre server saves).

Módulo de Farming

Automatiza a coleta de recursos baseada na sua profissão, com sistema inteligente de anti-bot.

doFarm
Ativa ou desativa a coleta automática de recursos.
farmingRadius / bigBushRadius / headbuttRadius
Define o raio (em tiles) em que o bot irá procurar por recursos normais, arbustos grandes (professor) e árvores de headbutt (estilista), respectivamente.
minigameSolveDelay
Controla o tempo de resposta do bot ao resolver minigames anti-bot durante o farming.

  • default: Delay de 3-7 segundos (comportamento padrão, simula reflexo humano).
  • slow: Delay de 5-7 segundos (mais seguro, parece mais humano).
  • fast: Delay de 4-6 segundos (um pouco mais rápido).
  • instant: Sem delay, resolve imediatamente (use com extremo cuidado).
Anti-Bot Minigames
O bot resolve automaticamente os minigames anti-bot que aparecem durante o farming.

  • Music Minigame: Simula acertos perfeitos com suporte a extraData (hits, notas erradas, margem de erro).
  • Mastermind: Resolve o puzzle de cores enviando o sinal de vitória.
  • Cook Minigame: Completa automaticamente o minigame de cozinha.
  • Progress Bar: Resolve minigames de barra de progresso com precisão.
flyFarm
[VIP1] Permite que o bot colete recursos em andares diferentes do seu (para cima ou para baixo), usando a habilidade de voar.
useVehicle
[VIP2] Utiliza bike/montaria para se mover entre os pontos de coleta, acelerando o farming.
canMadeMistakes
Se ativado, o bot errará propositalmente o minigame de coleta de vez em quando para simular um comportamento mais humano.
resumeCavebotBehavior
Define como o bot deve retomar o cavebot após terminar uma tarefa de farming: `nearest` (waypoint mais próximo), `next` (próximo da sequência) ou `previous` (anterior).

Módulo de Fishing

Automatiza a pesca com configurações avançadas de timing e segurança.

doFishing
Ativa ou desativa a pesca automática.
maxBoxCreatures
Número máximo de monstros na tela para que o bot continue pescando. Se o limite for excedido, a pesca para por segurança.
hookFallbackDelay
Tempo máximo em segundos para aguardar o efeito de fisgada antes de puxar a vara automaticamente.

Como Funciona: Se o bot não detectar o efeito visual de fisgada após esse tempo, ele puxa a vara mesmo assim. Aumente este valor se perceber que o bot está puxando cedo demais (antes do peixe fisgar).

Valor Padrão: 70 segundos. Aumente para 90-120s em locais com spawn mais lento.

descaralhadoMode
Modo agressivo de pesca que ignora obstáculos e visão. Use com extremo cuidado, alto risco de detecção por GMs.

fishOnly...
Modos de pesca mais seguros que verificam condições antes de pescar: `WithSight` (requer linha de visão), `WithoutObstacle` (apenas em tiles de água livres), `WhenHaveJustWater` (a condição mais segura, verifica andares inferiores também).

Módulo de Alarmes

Configura notificações para eventos importantes via WhatsApp e Telegram.

alarmEnabled
Liga ou desliga o envio de todas as notificações.
botterPhone / telegramID
Seu número de WhatsApp e/ou ID do Telegram para receber os alertas. Você pode adicionar múltiplos contatos.
enabledAlarms
Uma lista de todos os eventos que podem gerar um alarme (ex: `playerDetected`, `shinyDetected`, `privateMessage`). Você pode ativar ou desativar cada um individualmente no painel.
ignoredNames / ignoredItems
Listas de jogadores ou itens que não devem acionar alarmes. Útil para ignorar amigos na tela ou drops comuns.
useSimilarity
Detecta nomes de staff mesmo que não sejam exatos (ex: 'GMaster' seria detectado como 'GM'). Pode gerar falsos positivos.

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 e comportamento do núcleo do bot.

stopBotOnStaff / shutdownOnStaff / suicideOnStaff
Ações de emergência ao detectar um GM/Staff.

  • stopBotOnStaff: Pausa os módulos de automação (cavebot, farming, etc) mas continua curando.
  • shutdownOnStaff: Inicia um logout seguro (termina o combate e desloga).
  • suicideOnStaff: Desliga a cura e anda em direção aos monstros. Use como último recurso.
autoKillExtraordinary
Quando ativado, o bot priorizará e atacará imediatamente qualquer criatura extraordinária (Shiny, Boss, Mega, ou da lista customizada) que aparecer na tela.
extraordinaryCreatures / priorityCreatures
Listas customizáveis para o targeting.

  • extraordinaryCreatures: Monstros nesta lista serão tratados com a mesma lógica de um Shiny/Boss (ataque imediato, keep distance, etc).
  • priorityCreatures: Monstros nesta lista irão parar o lure, mas serão combatidos com a lógica normal, não a de extraordinários.
In-Game Commands
Permite enviar comandos para seu personagem (say, reply, panic) diretamente do painel, mesmo que você não esteja 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 (a cada X segundos).
    • 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 todas as magias (á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_death / character_disconnected / character_stuck / pokemon_caught / player_watching_tv: condições baseadas em eventos pontuais observados pelo bot.
    • 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 todas as magias (á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 e do cliente do jogo.

AccountModule.accountInfo
Salva as credenciais da sua conta do PokeXGames para permitir o login automático, especialmente útil para a função de auto-reconnect.

Upload de settings.otml
Permite que você envie seu arquivo `settings.otml` do seu computador local.

Como Funciona: O painel envia o conteúdo do seu arquivo para o servidor. O bot, que roda na máquina virtual, pode então baixar esse conteúdo. Para aplicar as configurações na VM, você precisa logar no jogo e pressionar `ALT + K`, o que fará o jogo reiniciar e carregar as novas configurações.

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

Módulo de Setup Pokémon

O coração do combate, onde você define as habilidades de cada um dos seus Pokémon.

CombatModule.Spells
Define as magias para cada Pokémon.

Como Funciona: Você cria uma entrada para cada Pokémon (pelo nome exato) e dentro dela, adiciona os IDs das magias (de 1 a 12, correspondendo à ordem no jogo) em quatro categorias:

  • targetMoves: Magias de alvo único.
  • areaMoves: Magias de área.
  • supportMoves: Buffs e outras magias de suporte (ex: Charm, Charge).
  • healMoves: Magias de cura (ex: Seed Bomb).

Dica: A ordem das magias dentro de cada lista define a prioridade de uso. O bot sempre tentará usar a primeira magia da lista que não estiver em cooldown.