Documentação › Lua

Spells e Npc

Spells dá os dados das magias e o cooldown delas. Npc compra e vende na janela de trade aberta.

Spells#

Os dados vêm da lista de magias do bot. O cooldown vem dos avisos de cooldown que o servidor manda depois de cada magia: até você usar a magia uma vez, ela aparece como pronta.

Spells.getIdByWords(palavras)#

Spells.getIdByWords(palavras) → número

Id da magia pelas palavras. Retorna -1 se não existe.

lua
local id = Spells.getIdByWords("exura vita")

Spells.getIdByName(nome)#

Spells.getIdByName(nome) → número

Id da magia pelo nome. Retorna -1 se não existe.

lua
local id = Spells.getIdByName("Ultimate Healing")

Spells.getDataById(id)#

Spells.getDataById(id) → tabela ou nil

Dados da magia:

CampoDescrição
id, name, wordsId, nome e palavras
primaryGroupGrupo, como em Enums.SpellGroups
secondaryGroupSempre 0
vocationsLista de vocações que usam a magia
mana, level, cooldown, iconMana, level mínimo, cooldown em ms e ícone (extras)
lua
local s = Spells.getDataById(Spells.getIdByWords("exura vita"))
if s then print(s.name, s.mana, s.cooldown) end

Spells.isInCooldown(id)#

Spells.isInCooldown(id) → booleano

Se a magia está em cooldown.

lua
local id = Spells.getIdByWords("exori gran")
if not Spells.isInCooldown(id) then Game.talk("exori gran") end

Spells.getLeftCooldownTime(id)#

Spells.getLeftCooldownTime(id) → número

Milissegundos até a magia ficar pronta. Retorna -1 quando ela já está pronta ou o tempo é desconhecido.

lua
print(Spells.getLeftCooldownTime(Spells.getIdByWords("utani hur")))

Spells.groupIsInCooldown(grupo)#

Spells.groupIsInCooldown(grupo) → booleano

Se o grupo de magias está em cooldown.

lua
if not Spells.groupIsInCooldown(Enums.SpellGroups.SPELLGROUP_HEALING) then Game.talk("exura") end

Spells.getLeftGroupCooldownTime(grupo)#

Spells.getLeftGroupCooldownTime(grupo) → número

Milissegundos até o grupo ficar pronto, ou -1.

lua
print(Spells.getLeftGroupCooldownTime(Enums.SpellGroups.SPELLGROUP_ATTACK))

Npc#

Funcionam com a janela de trade do NPC aberta. Para saber se ela está aberta, use Client.isTradeShopOpen().

Npc.buy(itemId, quantidade, ignorarCap, emBackpacks)#

Npc.buy(itemId, quantidade, ignorarCap, emBackpacks) → true

ParâmetroTipoDescrição
itemIdnúmeroItem a comprar
quantidadenúmero, opcionalPadrão 1
ignorarCapbooleano, opcionalCompra mesmo sem cap (padrão false)
emBackpacksbooleano, opcionalCompra dentro de backpacks (padrão false)
lua
Game.talk("hi") wait(1000) Game.talk("trade") wait(1500)
if Client.isTradeShopOpen() then Npc.buy(268, 100) end

Npc.sell(itemId, quantidade, ignorarEquipados)#

Npc.sell(itemId, quantidade, ignorarEquipados) → true

ParâmetroTipoDescrição
itemIdnúmeroItem a vender
quantidadenúmero, opcionalPadrão 1
ignorarEquipadosbooleano, opcionalNão vende o que está equipado (padrão true)
lua
Npc.sell(3357, 1) -- 3357 = plate armor