# snt-inventory

***

## Verificação de uso

```lua

-- É possível verificar se o sistema está em uso utilizando GlobalState:

if GlobalState.SNT_INVENTORY_V3 then
    -- o inventário v3 está sendo utilizado no servidor..
end

```

***

## Exports: Shared

<pre class="language-lua" data-full-width="false"><code class="lang-lua"><strong>
</strong><strong>exports['snt-inventory']:getItemList()
</strong>-- Retorna a lista completa de itens registrados no sistema


exports['snt-inventory']:isRegisteredItem(item)
-- item : string : índice do item
-- Verifica se um item está registrado no sistema


exports['snt-inventory']:getItemConfig(item)
-- item : string : índice do item
-- Retorna a configuração completa de um item


exports['snt-inventory']:getItemName(item)
-- item : string : índice do item
-- Retorna o nome de exibição do item


exports['snt-inventory']:getItemDurability(item)
-- item : string : índice do item
-- Retorna a durabilidade padrão do item em segundos


exports['snt-inventory']:getItemWeight(item)
-- item : string : índice do item
-- Retorna o peso do item


exports['snt-inventory']:getItemType(item)
-- item : string : índice do item
-- Retorna o tipo do item (weapon, ammo, use, etc.)


exports['snt-inventory']:isItemPropertyEnabled(item, key)
-- item : string : índice do item
-- key : string : propriedade a verificar
-- Verifica se uma propriedade específica está habilitada para o item


exports['snt-inventory']:getItemDescription(item)
-- item : string : índice do item
-- Retorna a descrição do item


exports['snt-inventory']:getItemLimit(item)

</code></pre>

***

## Exports: Server

<pre class="language-lua"><code class="lang-lua">
exports['snt-inventory']:getCharacterInventory(id)
-- id : number : ID do personagem
-- Retorna o inventário completo do personagem


exports['snt-inventory']:setCharacterInventory(id, inventory, skipSave)
-- id : number : ID do personagem
-- inventory : table : tabela com os dados do inventário
-- skipSave : boolean : se deve pular o salvamento automático
-- Define o inventário completo do personagem


exports['snt-inventory']:getCharacterInventoryMaxWeight(id)
-- id : number : ID do personagem
-- Retorna o peso máximo do inventário do personagem


exports['snt-inventory']:setCharacterInventoryMaxWeight(id, maxWeight)
-- id : number : ID do personagem
-- maxWeight : number : novo peso máximo
-- Define o peso máximo do inventário do personagem


exports['snt-inventory']:getCharacterInventoryCurrentWeight(id)
-- id : number : ID do personagem
-- Retorna o peso atual do inventário do personagem


exports['snt-inventory']:getCharacterInventoryLastUpdate(id)
-- id : number : ID do personagem
-- Retorna o timestamp da última atualização do inventário


exports['snt-inventory']:setCharacterInventoryLastUpdate(id, time, updatedContent)
-- id : number : ID do personagem
-- time : number : timestamp da atualização
-- updatedContent : boolean : se o conteúdo foi atualizado
-- Define o timestamp da última atualização do inventário


exports['snt-inventory']:saveCharacterInventory(id, force)
-- id : number : ID do personagem
-- force : boolean : se deve forçar o salvamento imediato
-- Salva o inventário do personagem no banco de dados


exports['snt-inventory']:saveAllInventories()
-- Salva todos os inventários em cache no banco de dados


exports['snt-inventory']:clearCharacterInventory(id)
-- id : number : ID do personagem
-- Limpa completamente o inventário do personagem


exports['snt-inventory']:getInventoryItemAmount(id, item)
-- id : number : ID do personagem
-- item : string : índice do item
-- Retorna a quantidade total de um item no inventário


exports['snt-inventory']:getCharacterInventoryEmptySlots(id)
-- id : number : ID do personagem
-- Retorna a quantidade de slots vazios no inventário


exports['snt-inventory']:addInventoryItem(id, item, amount, notify, slot, metadatas)
-- id : number : ID do personagem
-- item : string : índice do item
-- amount : number : quantidade a adicionar
-- notify : boolean : se deve notificar o jogador
-- slot : number : slot específico (opcional)
-- metadatas : table : metadados do item (opcional)
-- Adiciona um item ao inventário do personagem


exports['snt-inventory']:removeInventoryItem(id, item, amount, notify, slot)
-- id : number : ID do personagem
-- item : string : índice do item
-- amount : number : quantidade a remover
-- notify : boolean : se deve notificar o jogador
-- slot : number : slot específico (opcional)
-- Remove um item do inventário do personagem


exports['snt-inventory']:canReceiveItems(id, item, amount)
-- id : number : ID do personagem
-- item : string : índice do item
-- amount : number : quantidade a verificar
-- Verifica se o personagem pode receber uma quantidade específica de um item


exports['snt-inventory']:canReceiveBulkItems(id, bulk)
-- id : number : ID do personagem
-- bulk : table : tabela com itens e quantidades {item = amount}
-- Verifica se o personagem pode receber múltiplos itens


exports['snt-inventory']:getChestInventory(id)
-- id : string : ID do baú
-- Retorna o inventário completo de um baú


exports['snt-inventory']:setChestInventory(id, inventory, skipSave)
-- id : string : ID do baú
-- inventory : table : tabela com os dados do inventário
-- skipSave : boolean : se deve pular o salvamento automático
-- Define o inventário completo de um baú


exports['snt-inventory']:getChestInventoryLastUpdate(id)
-- id : string : ID do baú
-- Retorna o timestamp da última atualização do baú


exports['snt-inventory']:setChestInventoryLastUpdate(id, time, updatedContent)
<strong>-- id : string : ID do baú
</strong>-- time : number : timestamp da atualização
-- updatedContent : boolean : se o conteúdo foi atualizado
-- Define o timestamp da última atualização do baú


exports['snt-inventory']:saveChestInventory(id, force)
-- id : string : ID do baú
-- force : boolean : se deve forçar o salvamento imediato
-- Salva o inventário do baú no banco de dados


exports['snt-inventory']:clearChestInventory(id)
-- id : string : ID do baú
-- Limpa completamente o inventário do baú


exports['snt-inventory']:clearContainerInventory(id)
-- id : string : ID do contêiner
-- Alias para clearChestInventory


exports['snt-inventory']:getChestInventoryCurrentWeight(id)
-- id : string : ID do baú
-- Retorna o peso atual do inventário do baú


exports['snt-inventory']:addChestItem(id, item, amount, slot, metadatas)
-- id : string : ID do baú
-- item : string : índice do item
-- amount : number : quantidade a adicionar
-- slot : number : slot específico (opcional)
-- metadatas : table : metadados do item (opcional)
-- Adiciona um item ao inventário do baú


exports['snt-inventory']:tryChest(src, id, weight, slots, items, webhook, save, slowDurMult)
-- src : number : ID do jogador
-- id : string : ID do baú
-- weight : number : peso máximo do baú
-- slots : number : quantidade de slots (opcional)
-- items : table : itens iniciais (opcional)
-- webhook : string : URL do webhook (opcional)
-- save : boolean : se deve salvar (opcional)
-- slowDurMult : number : multiplicador de redução de durabilidade (padrão 1, quanto maior mais lenta a durabilidade será reduzida)
-- Cria e abre um baú personalizado


exports['snt-inventory']:openExternalChest(src, id, weight, webhook)
-- src : number : ID do jogador
-- id : string : ID do baú
-- weight : number : peso máximo do baú
-- webhook : string : URL do webhook (opcional)
-- Abre um baú externo existente


exports['snt-inventory']:forceInspect(src, targetId)
-- src : number : ID do jogador que vai inspecionar
-- targetId : number : ID do personagem a ser inspecionado
-- Força a abertura da interface de inspeção

</code></pre>

***

## Exports: Client

<pre class="language-lua"><code class="lang-lua"><strong>
</strong><strong>exports['snt-inventory']:tryInspect()
</strong>-- Tenta inspecionar o jogador mais próximo 


exports['snt-inventory']:tryOpenTrunkChest()
-- Tenta abrir o porta-malas do veículo mais próximo


exports['snt-inventory']:tryOpenGlovesChest()
-- Tenta abrir o porta-luvas do veículo atual


exports['snt-inventory']:tryOpenChest(id)
-- id : string : ID do baú
-- Tenta abrir um baú específico


exports['snt-inventory']:getCurrentHotbar()
-- retorna a hotbar atual do jogador, table no formato {"slot":"item_index"}, ex:
-- { "0" = "pistolmk2", "1" = "energydrink" },

</code></pre>
