📦ChaosBox
Documentação da Classe ChaosBox
A classe ChaosBox permite manipular itens no Chaos Box de um jogador em um servidor de jogos. Esta documentação apresenta as funções de forma clara, intuitiva e com exemplos práticos para facilitar o uso.
Como Usar a Classe ChaosBox
Inicialização: Crie um objeto
ChaosBoxpassando o índice do jogador (aIndex).local playerChaosBox = ChaosBox.new(aIndex)Uso de Funções: Use o operador
:para chamar as funções, passando o slot do item (posição no Chaos Box) como argumento.Observação:
Você pode usar a classe para um ou mais jogadores (ex.:
playerChaosBoxpara um jogador,playerTargetChaosBoxpara outro).É possível usar dentro de loops, como em um
for.Exemplo com múltiplos índices:
local playerChaosBox = ChaosBox.new(aIndex) local playerTargetChaosBox = ChaosBox.new(TargetIndex) playerChaosBox:isItem(1) playerTargetChaosBox:isItem(1)
Funções da Classe ChaosBox
Abaixo estão todas as funções disponíveis, explicadas de forma simples com exemplos práticos:
1. getIndex(slot)
getIndex(slot)Descrição: Retorna o índice do item no slot. Retorna
-1se o slot estiver vazio.Exemplo:
local itemIndex = playerChaosBox:getIndex(1) if itemIndex == -1 then LogAdd(string.format("[ChaosBox] - Slot %d está vazio!", 1), 0) else LogAdd(string.format("[ChaosBox] - Item no slot %d tem índice: %d", 1, itemIndex), 0) end
2. isItem(slot)
isItem(slot)Descrição: Retorna
1se o slot contém um item, ou0se estiver vazio.Exemplo:
if playerChaosBox:isItem(2) == 1 then LogAdd(string.format("[ChaosBox] - Slot %d contém um item!", 2), 0) else LogAdd(string.format("[ChaosBox] - Slot %d está vazio!", 2), 0) end
3. isExc(slot)
isExc(slot)Descrição: Retorna
1se o item no slot é excelente, ou0caso contrário.Exemplo:
if playerChaosBox:isExc(3) == 1 then LogAdd(string.format("[ChaosBox] - O item no slot %d é excelente!", 3), 0) end
4. getLevel(slot)
getLevel(slot)Descrição: Retorna o nível do item no slot.
Exemplo:
local level = playerChaosBox:getLevel(1) LogAdd(string.format("[ChaosBox] - Nível do item no slot %d: %d", 1, level), 0)
5. getName(slot)
getName(slot)Descrição: Retorna o nome do item no slot.
Exemplo:
local itemName = playerChaosBox:getName(1) LogAdd(string.format("[ChaosBox] - Nome do item no slot %d: %s", 1, itemName), 0)
6. getSection(slot)
getSection(slot)Descrição: Retorna a seção/categoria do item no slot.
Exemplo:
local section = playerChaosBox:getSection(1) LogAdd(string.format("[ChaosBox] - Seção do item no slot %d: %d", 1, section), 0)
7. getIndex2(slot)
getIndex2(slot)Descrição: Retorna o índice alternativo do item no slot.
Exemplo:
local index2 = playerChaosBox:getIndex2(1) LogAdd(string.format("[ChaosBox] - Índice alternativo do item no slot %d: %d", 1, index2), 0)
8. getSerial(slot)
getSerial(slot)Descrição: Retorna o serial único do item no slot.
Exemplo:
local serial = playerChaosBox:getSerial(1) LogAdd(string.format("[ChaosBox] - Serial do item no slot %d: %s", 1, serial), 0)
9. getDurability(slot)
getDurability(slot)Descrição: Retorna a durabilidade atual do item no slot (máximo: 255).
Exemplo:
local durability = playerChaosBox:getDurability(1) LogAdd(string.format("[ChaosBox] - Durabilidade do item no slot %d: %d", 1, durability), 0)
10. setDurability(slot, value)
setDurability(slot, value)Descrição: Define a durabilidade do item no slot (máximo: 255).
Exemplo:
playerChaosBox:setDurability(1, 200) LogAdd(string.format("[ChaosBox] - Durabilidade do item no slot %d definida para %d!", 1, 200), 0)
11. convertItem(slot)
convertItem(slot)Descrição: Atualiza o item no slot após modificações (ex.: mudar opções excelentes).
Exemplo:
playerChaosBox:setItemTable(1, 1, 1) -- Define item como excelente playerChaosBox:convertItem(1) -- Atualiza o item LogAdd(string.format("[ChaosBox] - Item no slot %d atualizado!", 1), 0)
12. getIsPeriodic(slot)
getIsPeriodic(slot)Descrição: Retorna
1se o item no slot é periódico, ou0caso contrário.Exemplo:
if playerChaosBox:getIsPeriodic(1) == 1 then LogAdd(string.format("[ChaosBox] - Item no slot %d é periódico!", 1), 0) end
13. getPeriodicTime(slot)
getPeriodicTime(slot)Descrição: Retorna o tempo restante de um item periódico no slot.
Exemplo:
local time = playerChaosBox:getPeriodicTime(1) LogAdd(string.format("[ChaosBox] - Tempo restante do item periódico no slot %d: %d", 1, time), 0)
14. getItemTable(slot, type)
getItemTable(slot, type)Descrição: Retorna o valor de uma opção específica do item no slot.
Tipos de ItemTable:
type: 1 -> valor exc (excelente)
type: 2 -> valor da opção 1
type: 3 -> valor da opção 2
type: 4 -> valor da opção 3
type: 5 -> valor anciente
type: 6 -> valor de JoH (Jewel of Harmony)
type: 7 -> opção Ex
type: 8 -> opção de bônus de socket
type: 9 -> opção de socket 1
type: 10 -> opção de socket 2
type: 11 -> opção de socket 3
type: 12 -> opção de socket 4
type: 13 -> opção de socket 5
Exemplo:
local excValue = playerChaosBox:getItemTable(1, 1) LogAdd(string.format("[ChaosBox] - Valor excelente do item no slot %d: %d", 1, excValue), 0)
15. setItemTable(slot, type, value)
setItemTable(slot, type, value)Descrição: Define o valor de uma opção específica do item no slot.
Tipos de ItemTable:
type: 1 -> valor exc (excelente)
type: 2 -> valor da opção 1
type: 3 -> valor da opção 2
type: 4 -> valor da opção 3
type: 5 -> valor anciente
type: 6 -> valor de JoH (Jewel of Harmony)
type: 7 -> opção Ex
type: 8 -> opção de bônus de socket
type: 9 -> opção de socket 1
type: 10 -> opção de socket 2
type: 11 -> opção de socket 3
type: 12 -> opção de socket 4
type: 13 -> opção de socket 5
Exemplo:
playerChaosBox:setItemTable(1, 1, 1) -- Define como excelente LogAdd(string.format("[ChaosBox] - Item no slot %d agora é excelente!", 1), 0)
Exemplo Prático Completo
Abaixo está um exemplo fictício que utiliza várias funções da classe ChaosBox em uma única função para verificar e modificar um item no Chaos Box. Este código pode ser usado como base para manipulações no Chaos Box.
function processarItemChaosBox(aIndex)
-- Cria um objeto ChaosBox para o jogador
local playerChaosBox = ChaosBox.new(aIndex)
local player = User.new(aIndex) -- Para obter o nome do jogador
local playerName = player:getName()
-- Verifica se há um item no slot 1
if playerChaosBox:isItem(1) == 1 then
-- Obtém informações do item
local itemName = playerChaosBox:getName(1)
local itemLevel = playerChaosBox:getLevel(1)
local isExc = playerChaosBox:isExc(1)
local durability = playerChaosBox:getDurability(1)
local serial = playerChaosBox:getSerial(1)
local section = playerChaosBox:getSection(1)
local index2 = playerChaosBox:getIndex2(1)
-- Exibe informações do item
LogAdd(string.format("[ChaosBox] - [%s] Item no slot 1: %s, Nível: %d, Excelente: %d, Durabilidade: %d, Serial: %s, Seção: %d, Índice Alternativo: %d",
playerName, itemName, itemLevel, isExc, durability, serial, section, index2), 0)
-- Verifica se o item é periódico
if playerChaosBox:getIsPeriodic(1) == 1 then
local periodicTime = playerChaosBox:getPeriodicTime(1)
LogAdd(string.format("[ChaosBox] - [%s] Item no slot 1 é periódico com %d segundos restantes!", playerName, periodicTime), 0)
end
-- Modifica o item: define durabilidade, torna excelente e adiciona uma opção de socket
playerChaosBox:setDurability(1, 255)
playerChaosBox:setItemTable(1, 1, 1) -- Define como excelente
playerChaosBox:setItemTable(1, 9, 3) -- Define opção de socket 1
playerChaosBox:convertItem(1) -- Atualiza o item
LogAdd(string.format("[ChaosBox] - [%s] Item no slot 1 foi atualizado: durabilidade máxima, agora é excelente e com socket!", playerName), 0)
else
LogAdd(string.format("[ChaosBox] - [%s] Nenhum item encontrado no slot 1!", playerName), 0)
end
end
-- Exemplo de chamada da função
processarItemChaosBox(100) -- Substitua 100 pelo aIndex do jogadorResumo
A classe
ChaosBoxfacilita a manipulação de itens no Chaos Box de forma prática e eficiente.Use o operador
:para chamar as funções, passando o slot do item como argumento.As funções
getItemTableesetItemTablepermitem controle detalhado sobre opções como excelente, sockets e mais.O exemplo prático mostra como verificar, exibir e modificar propriedades de um item em uma única função.
Last updated
