> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dopenuis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exports

> Nosso script integra com outros via exports, permitindo estender suas funções. Veja abaixo os exports disponíveis e exemplos de uso.

Para utilizar os exports, a estrutura correta é `exports["dope_doors"]:export(dados)`

## Detectar porta próxima para usar lockpick `canUseLockpick`

Detecta automaticamente se o jogador está próximo de uma porta habilitada para lockpick

<ResponseField name="source" type="string" required>
  Identificação da source do jogador que está realizando a ação

  Exemplo (server-side):

  ```lua theme={null}
  local source = -1
  if exports["dope_doors"]:canUseLockpick(source) then
    -- o jogador pode utilizar a lockpick aqui
  end
  ```

  Exemplo (client-side):

  ```lua theme={null}
  if exports["dope_doors"]:canUseLockpick() then
    -- o jogador pode utilizar a lockpick aqui
  end
  ```

  <Note>O campo `source` é necessário apenas para o lado do servidor.</Note>
</ResponseField>

## Utilizar a lockpick na porta mais próxima `useLockpick`

Use a lockpick na porta mais próxima e receba todas as informações necessárias!

<ResponseField name="source" type="string" required>
  Identificação da source do jogador que está realizando a ação

  Exemplo (server-side):

  ```lua theme={null}
  local source = -1
  local status = exports["dope_doors"]:useLockpick(source)
  if status then
    -- a porta foi destrancada
  else
    -- a sequência está incorreta
  end
  ```

  Exemplo (client-side):

  ```lua theme={null}
  local data = exports["dope_doors"]:useLockpick()
  --[[ return: table { canuse: boolean, status: boolean } ]]

  if data[1] then
    -- há uma porta próxima para destrancar
    if data[2] then
        -- a porta foi destrancada
    else
        -- a sequência está incorreta
    end
  end

  ```

  <Note>O campo `source` é necessário apenas para o lado do servidor.</Note>
</ResponseField>

## Exemplo para a lockpick

Segue um exemplo para você integrar a utilização do lockpick ao seu inventário.

<ResponseField>
  Exemplo (server-side):

  ```lua theme={null}
  elseif item == "lockpick" then
      if exports["dope_doors"]:canUseLockpick(source) then
          if vRP.tryGetInventoryItem(user_id, "lockpick", 1) then
              local status = exports["dope_doors"]:useLockpick(source)
              if status then
                  -- a porta foi destrancada
              else
                  -- a sequência está incorreta
              end
          end
      end
  ```

  <Note>Este exemplo é exclusivo para o nosso [inventário V3](/scripts/inventario-v3/instalacao) porém pode ser replicado em outros inventários.</Note>
</ResponseField>

## Detectar porta próxima para usar C4 `canUseC4`

Detecta automaticamente se o jogador está próximo de uma porta habilitada para C4

<ResponseField name="source" type="string" required>
  Identificação da source do jogador que está realizando a ação

  Exemplo (server-side):

  ```lua theme={null}
  local source = -1
  if exports["dope_doors"]:canUseC4(source) then
    -- o jogador pode utilizar a C$ aqui
  end
  ```

  Exemplo (client-side):

  ```lua theme={null}
  if exports["dope_doors"]:canUseC4() then
    -- o jogador pode utilizar a C4 aqui
  end
  ```

  <Note>O campo `source` é necessário apenas para o lado do servidor.</Note>
</ResponseField>

## Utilizar a C4 na porta mais próxima `useC4`

Use a C4 na porta mais próxima e receba todas as informações necessárias!

<ResponseField name="source" type="string" required>
  Identificação da source do jogador que está realizando a ação

  Exemplo (server-side):

  ```lua theme={null}
  local source = -1
  local status = exports["dope_doors"]:useC4(source)
  if status then
    -- a bomba foi plantada
  else
    -- a não bomba foi plantada
  end
  ```

  Exemplo (client-side):

  ```lua theme={null}
  local status = exports["dope_doors"]:useC4()
  if status then
    -- a bomba foi plantada
  else
    -- a não bomba foi plantada
  end
  ```

  <Note>O campo `source` é necessário apenas para o lado do servidor.</Note>
</ResponseField>

## Exemplo para a C4

Segue um exemplo para você integrar a utilização do C4 ao seu inventário.

<ResponseField>
  Exemplo (server-side):

  ```lua theme={null}
  elseif item == "c4" then
      if exports["dope_doors"]:canUseC4(source) then
          if vRP.tryGetInventoryItem(user_id, "c4", 1) then
              local status = exports["dope_doors"]:useC4(source)
              if status then
                  -- a bomba foi plantada
              else
                  -- a bomba não foi plantada
              end
          end
      end
  ```

  <Note>Este exemplo é exclusivo para o nosso [inventário V3](/scripts/inventario-v3/instalacao) porém pode ser replicado em outros inventários.</Note>
</ResponseField>
