Pular para o conteúdo principal

Documentação KizuBot

Seu guia completo para dominar o painel de controle.

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.