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

# inspect

> Sistema de revista de jogadores: abre o inventário de outro player para visualizar e transferir itens entre as duas mochilas (uso policial, RP consentido ou administrativo).

O **inspect**, apesar do nome (usado no webhook do Discord), implementa a **revista** de jogadores. Ao iniciá-la, o admin/policial abre uma interface de inventário tipo `Inspect` com dois lados: o seu (`Primary`) e o do alvo (`Secondary`), permitindo pegar (`Take`) e guardar (`Store`) respeitando peso, slots e itens bloqueados.

## Regras da revista

As regras a seguir são aplicadas no evento `inspect:Player`.

<CardGroup cols={2}>
  <Card title="Policial" icon="shield-halved">
    `vRP.HasGroup(...,"Policia")`: revista liberada diretamente.
  </Card>

  <Card title="Alvo inconsciente" icon="bed-pulse">
    Vida `<= 100`: revista liberada sem consentimento.
  </Card>

  <Card title="Consentimento" icon="handshake">
    Nos demais casos, pede consentimento via `vRP.Request`.
  </Card>

  <Card title="Restrições" icon="ban">
    Alvo em serviço policial **não** pode ser revistado.
  </Card>
</CardGroup>

<Info>
  Exige distância `<= 2.0` e congela o alvo durante a revista.
</Info>

***

## Dependências

<CardGroup cols={2}>
  <Card title="vrp" icon="cube">
    Framework base.
  </Card>

  <Card title="oxmysql" icon="database">
    `five_characters_vehicles`, `propertys`.
  </Card>

  <Card title="PolyZone" icon="draw-polygon">
    Zonas e áreas.
  </Card>

  <Card title="inventory" icon="box">
    Eventos `inventory:Open/Close/Update/Notify`.
  </Card>
</CardGroup>

<Info>
  Os recursos **discord** e **core\_logs** são opcionais.
</Info>

***

## Comandos

| Comando             | Permissão     | Descrição                                                                            |
| ------------------- | ------------- | ------------------------------------------------------------------------------------ |
| `/inv <passaporte>` | Admin nível 4 | Abre o inventário de outro jogador. Modo administrativo: o alvo **não** é congelado. |

***

## Eventos

Publica a interface `inspect` (tabela `Core`) no servidor, consumida pela NUI e pelo cliente.

### Recebidos no servidor

| Evento           | Descrição                                                                                                                       |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `inspect:Player` | Inicia a revista do alvo (`OtherSource`); aplica todas as regras (polícia/inconsciente/consentimento, distância, congelamento). |

### Cliente

| Evento            | Descrição                                                     |
| ----------------- | ------------------------------------------------------------- |
| `inspect:Open`    | Abre a NUI de revista (inventário duplo).                     |
| `inventory:Close` | Fecha a revista: chama `vSERVER.Reset()` e descongela o alvo. |

### NUI Callbacks

| Callback | Descrição                                                           |
| -------- | ------------------------------------------------------------------- |
| `Mount`  | Carrega/monta os dois inventários (próprio e do alvo) na interface. |
| `Take`   | Pega um item do inventário do alvo.                                 |
| `Store`  | Guarda um item no inventário do alvo.                               |

***

## Customização

Sem config própria (os `shared_scripts` só carregam configs do vRP). Ajustes em `server-side/core.lua`: grupo/nível do `/inv` (`"Admin",4`), limite de vida do inconsciente (`<= 100`), distância máxima (`2.0`), mensagens de log/embed.
