← PXG Helper

POKEXGAMES / PXG Helper

Referência de scripts

PXG scripts use a bounded, ElfBot-style command language in Hotkeys, Shortkeys, Cavebot Actions and scripts saved with each route. This reference covers the 1.0.125 release.

Versão publicada 1.0.125

PRIMEIROS PASSOS

Exemplos de scripts

Hotkey automáticaauto 200 say "Tibia"
Ação do Cavebotif [$pokemon.exists && $pokemon.hppc > 50] goto "Hunt"
NPCtalktonpc("Nurse Joy")
Route death scriptauto 100 if [$onDead] { gotolabel "Respawn" | wait 200 }
Use map tileUseTile(100, 200, 7)
Use ground itemUseGroundItem(1234)
Action: enable shiny priorityseton ShinyPriority
Hotkey: keep shiny priority enabledauto 200 if [$targeting] seton ShinyPriority
Shortkey: toggle shiny prioritysettoggle "shiny priority"
Shortkey: enable Targeting and Cavebotseton Targeting | seton Cavebot
Route script: restore Targeting after deathauto 100 if [$onDead] { setoff ShinyPriority | seton Targeting | gotolabel "Respawn" | wait 200 }

COMANDOS E VALORES

Encontre um comando de script

Comandos executam ações. Valores que começam com $ podem ser usados em condições e expressões.

Fluxo e variáveis

auto DELAY COMMAND

Repeat the script at the given interval (50–60000 ms). Use in Hotkeys, Shortkeys or Edit Scripts for a route; a waypoint Action runs once and should not use auto.

if [EXPRESSION] COMMAND

Execute o comando apenas quando a expressão for verdadeira. As expressões aceitam aritmética, comparações, &&, || e parênteses.

ifnot [EXPRESSION] COMMAND

Execute o comando apenas quando a expressão for falsa. Usa a mesma sintaxe de expressão de if.

else COMMAND

Execute um comando alternativo após um if ou ifnot correspondente quando sua condição não for atendida.

loop COUNT { COMMANDS }

Execute o bloco a quantidade indicada de vezes; COUNT deve estar entre 0 e 100.

set $NAME VALUE

Atribua uma expressão numérica a uma variável local do script.

inc $NAME

Adicione 1 a uma variável local do script.

dec $NAME

Subtraia 1 de uma variável local do script.

clear $NAME

Redefina uma variável local do script para 0.

wait MS

Pause o script pelo tempo indicado em milissegundos (0–600000) e continue depois.

end

Encerre a execução atual do script.

turnoff

Interrompa a tarefa de script em execução.

dontlist

Oculte a etiqueta do script na lista de Hotkey HUD.

listas NAME

Defina a etiqueta exibida para este script na lista de Hotkey HUD.

Jogo e helper

say TEXT

Envie TEXT como mensagem de chat pelo cliente do jogo.

gamesay TEXT

Envie TEXT como mensagem de chat pelo cliente do jogo.

castSpell TEXT

Envie as palavras da magia pelo chat do cliente do jogo.

log TEXT

Exiba TEXT na saída de status do Cavebot do helper.

statusmessage TEXT

Exiba TEXT na saída de status do Cavebot do helper.

displaytext TEXT

Exiba TEXT na saída de status do Cavebot do helper.

moveTo X Y Z

Solicite ao cliente que caminhe automaticamente até as coordenadas X, Y, Z.

useItem ID

Use um item do inventário pelo ID numérico.

UseGroundItem(ID)

Use the nearest visible ground item with this ID on the player’s floor, within the current 15 × 11 map view. Uses the map item, not an inventory item. Missing items and invalid arguments report an action error. The client still controls proximity and whether use is allowed.

UseTile(X, Y, Z)

Use the tile’s top usable item at these coordinates. Missing items, unavailable tiles and invalid arguments report an action error instead of waiting indefinitely. The client still controls proximity and whether use is allowed.

UseTile(Position(X, Y, Z))

Equivalent coordinate form of UseTile(X, Y, Z).

useOnSelf ID

Use o item ID do inventário no próprio personagem.

useItemOnSelf ID

Alias de useOnSelf: use o item ID do inventário no próprio personagem.

useFishingRod(X, Y, Z)

Quando a vara no espaço Fishing está inativa, lance-a na água em X, Y, Z sem mira. Se o espaço contém a vara ativa (ID 6300), use-a diretamente para recolher a linha. A pesca automática observa o efeito de fisgada 390 no espaço selecionado.

useFishingRood(X, Y, Z)

Alias de compatibilidade de useFishingRod(): use o item atual do espaço Fishing no ponto selecionado do mapa.

setfishingon()

Ative a pesca automática na posição selecionada. Exige estar online, uma posição guardada e um item utilizável no espaço Fishing.

setfishingoff()

Interrompa a pesca automática e desmarque Enable Fishing. Não remove posições guardadas ou iscas.

setfishingtoggle()

Alterne a pesca automática: inicie quando estiver desligada ou pare quando estiver ligada. A caixa de seleção permanece sincronizada.

setfishing on | off | toggle

Sintaxe alternativa de setfishingon(), setfishingoff() e setfishingtoggle().

stopAttack

Cancele o ataque atual.

setTargeting VALUE

Ative ou desative Targeting; use 1/on para ativar e 0/off para desativar.

startTargeting

Retome Targeting.

stopTargeting

Pause Targeting.

setCavebot VALUE

Ative ou desative Cavebot; use 1/on para ativar e 0/off para desativar.

setFollowWaypoints VALUE

Alias de setCavebot: ative ou desative o seguimento dos pontos do Cavebot.

setStance "atk" | "bal" | "def"

Defina o modo de combate do Pokémon: "atk" = ofensivo, "bal" = equilibrado, "def" = defensivo. Outros nomes aceitos: offensive/off/attack, balanced/balance, defensive/defence/defense. Os valores não diferenciam maiúsculas de minúsculas. Use nomes, não 1/2/3. O alias "off" significa ofensivo, não desativado. Exemplos: setStance "atk" e setStance("def").

stance "atk" | "bal" | "def"

Alias de setStance: defina o modo de combate do Pokémon como ofensivo (atk), equilibrado (bal) ou defensivo (def). Aceita os mesmos nomes alternativos. Exemplo: stance "def".

talktonpc("NPC NAME")

Use a ação Talk do cliente em um NPC visível com este nome. O servidor mantém sua verificação normal da distância de interação.

CallPokemon("1" … "6")

Invoque o espaço selecionado da equipe na nova interface de Pokémon. Exige essa interface; no modo Legacy, o helper avisa e interrompe o script.

CallPokemonLegacy("Primary")

Invoque o Pokémon principal no modo Legacy. Exige Legacy; na interface nova, o helper avisa e interrompe o script. Secondary não é compatível.

goto "WAYPOINT LABEL"

Jump Cavebot to the first waypoint whose custom label matches the given name, without case sensitivity. Function syntax goto("Respawn") is also supported. Create the named waypoint before using it.

gotolabel "WAYPOINT LABEL"

Alias of goto: jump to a waypoint with this custom label. Example: gotolabel "Respawn".

Module controls

seton MODULE

Enable ShinyPriority, Targeting or Cavebot. FollowWaypoints is an alias of Cavebot. Enabling an already enabled module leaves it enabled. Command and module names are case-insensitive. Example: seton ShinyPriority.

setoff MODULE

Disable ShinyPriority, Targeting or Cavebot; FollowWaypoints also selects Cavebot. Disabling an already disabled module leaves it disabled. Example: setoff ShinyPriority.

settoggle MODULE

Switch ShinyPriority, Targeting or Cavebot once each time this command runs; FollowWaypoints also selects Cavebot. Example: settoggle ShinyPriority. Use it in a one-shot Action or shortcut.

seton("shiny priority")

Function-style and quoted names are supported by seton, setoff and settoggle. ShinyPriority also accepts shiny priority, shiny-priority and shiny_priority. Examples: setoff("ShinyPriority") and settoggle("Cavebot").

Module control contexts

Use the same commands in Cavebot Actions, Hotkeys, Shortkeys and Cavebot Edit Scripts saved with a route. These commands change the named helper module; they do not execute arbitrary Lua. Existing setTargeting and setCavebot commands remain available.

Repeated module commands

Use seton or setoff in repeating auto scripts and other persistent route scripts. A repeated settoggle changes the state on every iteration instead of keeping a chosen state.

Turning Cavebot off

setoff Cavebot also stops future runs of its saved route scripts. Enable Cavebot again through its checkbox, a Hotkey or a Shortkey; a stopped route script cannot enable itself on a later iteration.

Scripts saved with a route

Edit Scripts

Open Edit Scripts in the Cavebot header beside Close, enter one independent persistent script per line, then choose Save with route. Each route keeps its own scripts in the same .cavebot file as its waypoints; no separate profile or global script file is created.

Route script interval

A line without auto uses a 100 ms interval. An explicit auto DELAY prefix accepts 50–60000 ms. Up to 32 scripts and 32000 bytes total are allowed; comment and blank lines are ignored.

Route script lifecycle

Route scripts run only with Cavebot enabled and honor the helper’s global pause. Loading a legacy route without saved scripts clears scripts from the previous route. Empty editor text removes the route’s scripts.

Save with route / Cancel

Save with route saves scripts and waypoints together atomically. Cancel leaves the route unchanged. A failed save keeps the editor open and retains its text.

Player death example

Create a waypoint named Respawn, then add: auto 100 if [$onDead] { gotolabel "Respawn" | wait 200 }. Put the death condition at the beginning of the script line.

Use Tile button

Record a UseTile Action at the position selected by Direction: Center uses the player’s tile; North, South, East and West select the adjacent tile. Recording does not use the item. Add a Stand waypoint first when the object requires proximity.

Empty Action

An empty or whitespace-only Action stays in the route for later editing. Cavebot advances past it without stopping or adding the normal Action cooldown. Invalid nonempty code still reports an error.

Blocked movement waypoint

Cavebot skips a movement waypoint after eight active seconds without an observed position change, or two active minutes of movement oscillation. Combat, loot, catch, revive, global pause and intentional Action waits do not consume the stationary timeout.

Automação de Pokémon

waitForPokemons(MIN, RANGE)

Espere até que a quantidade solicitada de alvos de caça elegíveis esteja em RANGE SQM. MIN é opcional; quando omitido, espera todos os alvos da verificação atual. A espera tem limite de 5 segundos; o alcance padrão é 3 SQM.

waitForAllSpells()

Espere todos os golpes disponíveis do Pokémon ficarem prontos para uso, sem cooldown ou outra indisponibilidade.

waitAllSpells()

Alias de waitForAllSpells(): espere todos os golpes disponíveis do Pokémon ficarem prontos.

waitForMoves()

Alias de waitForAllSpells(): espere todos os golpes disponíveis do Pokémon ficarem prontos.

waitAllMoves()

Alias de waitForAllSpells(): espere todos os golpes disponíveis do Pokémon ficarem prontos.

hunt(MIN, RANGE, REVIVE_MODE)

Execute um ciclo de caça gerenciado: espere os alvos, derrote-os, processe loot e captura e realize a etapa solicitada de recuperação.

huntCycle(MIN, RANGE, REVIVE_MODE)

Alias de hunt(): execute a sequência gerenciada de espera, combate, loot/captura e recuperação.

killPokemons(WITH_LOOT, ATTACK_ALL, RANGE)

Inicie ou continue o ataque a Pokémon próximos elegíveis. WITH_LOOT e ATTACK_ALL são opções true/false; RANGE é a distância máxima opcional do alvo.

killAllPokemons()

Execute a ação kill com seleção ampla de alvos, usando as opções atuais de loot e alcance do helper.

setCombo(SLOT, ...)

Selecione espaços da barra de golpes para o próximo combo. Uma chamada sem espaços válidos limpa o combo configurado.

setKillCombo(SLOT, ...)

Alias de setCombo(): configure os espaços da barra de golpes usados pelo combo.

setMoves(SLOT, ...)

Alias de setCombo(): configure os espaços da barra de golpes usados pelo combo.

killCombo(SLOT, ...)

Execute o combo configurado ou indicado de espaços de golpes contra o alvo elegível atual.

combo(SLOT, ...)

Alias de killCombo(): execute um combo de espaços de golpes.

killMoves(SLOT, ...)

Alias de killCombo(): execute um combo de espaços de golpes.

collectLoot()

Processe o próximo corpo elegível na fila de loot do Cavebot.

processCatch([CORPSE_ID])

Use o item de captura configurado no próximo corpo elegível de Pokémon ou em CORPSE_ID quando indicado.

reviveIfDead()

Inicie a sequência estrita de revive apenas quando o helper detectar que o Pokémon morreu.

refreshPokemon()

Execute a sequência de recuperação/renovação do Pokémon do helper.

processRevive()

Alias de refreshPokemon(): execute a sequência de recuperação do Pokémon do helper.

Valores somente de leitura

$connected

Estado da conexão do jogador: 1 quando conectado ao jogo; caso contrário, 0.

$onDead

A single player-death event delivered once after the trainer is alive again. It describes the trainer, not a dead Pokémon, and does not stay true while the trainer is dead. Put if [$onDead] at the beginning of its route-script line. Route scripts require Cavebot enabled and respect the global pause.

$hp

HP absoluto atual do jogador.

$maxhp

HP máximo do jogador.

$hppc

HP atual do jogador em porcentagem. No PXG, este é o valor do jogador.

$posx

Coordenada X atual do jogador no mapa.

$posy

Coordenada Y atual do jogador no mapa.

$posz

Andar atual do jogador no mapa (coordenada Z).

$targeting

Estado de Targeting: 1 quando ativado; caso contrário, 0.

$cavebot

Estado de Cavebot: 1 quando ativado; caso contrário, 0.

$pokemon

Verificação booleana da presença do Pokémon invocado atual (1/0).

$pokemon.exists

1 quando seu próprio Pokémon está invocado; caso contrário, 0.

$pokemon.hppc

Porcentagem atual de HP do Pokémon invocado. Retorna 0 quando não há Pokémon invocado.

$pokemon.hp

HP absoluto do Pokémon invocado conforme informado pelo painel verificado do cliente PXG.

$pokemon.maxhp

HP máximo do Pokémon invocado conforme informado pelo painel verificado do cliente PXG.

$pokemon.id

ID de criatura do Pokémon invocado no cliente; 0 quando indisponível.

$pokemon.posx

Coordenada X atual do Pokémon invocado no mapa; 0 quando indisponível.

$pokemon.posy

Coordenada Y atual do Pokémon invocado no mapa; 0 quando indisponível.

$pokemon.posz

Andar atual do Pokémon invocado no mapa (coordenada Z); 0 quando indisponível.

$pokemon.order(X, Y, Z)

Use o item Order no alvo utilizável superior do mapa em X, Y, Z. O Pokémon invocado e o item Order devem estar disponíveis.

$pokemon.order(Position(X, Y, Z))

Forma equivalente de coordenadas usando o construtor Position. O Pokémon invocado, o item Order e o alvo utilizável no mapa devem estar disponíveis.

$pokemon.order("self")

Use o item Order no próprio personagem. O Pokémon invocado e o item Order devem estar disponíveis.

$pokemon.turn("north" | "east" | "south" | "west")

Vire o Pokémon invocado para a direção solicitada. Exige um Pokémon invocado ativo.

$pokemon.standstill()

Faça o Pokémon invocado parar de se mover. Exige um Pokémon invocado ativo.

PXG não usa $self.hppc; use $hppc para o HP do jogador ou $pokemon.hppc para o Pokémon invocado. Ações de Pokémon exigem um personagem online e um Pokémon invocado ativo. CallPokemonLegacy("Secondary") ainda não é compatível.