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

# Exports

> Integre nosso produto com outros scripts de seu servidor, deixando tudo muito mais legal e com sua cara.

## Client-side

### isUiOpen

Retorna se a interface está ou não aberta.

**Retorna:**

* isOpen: `boolean`

**Exemplo de uso:**

```lua theme={null}
local isOpen = exports.heyy_mdt:isUiOpen()
```

## Server-side

### isArrested

Retorna se o jogador está preso ou não.

**Parâmetros:**

* user\_id: `integer`

**Retorna:**

* isArrested: `boolean`

**Exemplo de uso:**

```lua theme={null}
local isArrested = exports.heyy_mdt:isArrested(user_id)
```

### getArrestTime

Retornará a quantidade de meses restantes para o jogador, ou zero.

**Parâmetros:**

* user\_id: `integer`

**Retorna:**

* arrestTime: `integer`

**Exemplo de uso:**

```lua theme={null}
local arrestTime = exports.heyy_mdt:getArrestTime(user_id)
```

### arrestPlayer

Envia um jogador à prisão, pelo tempo determinado.

**Parâmetros:**

> Parâmetros marcadas com `?` são opcionais, os que não, são obrigatórios.

* data: `table`
  * user\_id: `integer`
    * Jogador que deverá ser preso
  * officers\_id?: `integer[]`
    * Uma lista dos oficiais que prenderam o jogador
  * arrestTime: `integer`
    * O tempo de prisão que deverá ser aplicado ao jogador
  * finesValue?: `integer`
    * O valor das multas que deverá ser aplicado ao jogador
    * Padrão: `0`
  * reason?: `string`
    * O motivo da prisão
  * save?: `boolean`
    * Se essa prisão deverá ser registrada no banco de dados
    * Padrão: `false`
  * canEscape?: `boolean`
    * Se o jogador pode ou não escapar
    * Padrão: `true`
  * changeClothes?: `boolean?`
    * Se a roupa do jogador deve ser alterada para a de prisão
    * Padrão: `true`

**Exemplo de uso:**

```lua theme={null}
exports.heyy_mdt:arrestPlayer({
    user_id = 1,
    save = true,
    arrestTime = 30,
    finesValue = 30000,
    reason = reason,
    canEscape = false,
    changeClothes = false,
})
```

### getUserDepartment

Retorna o departamento que o jogador está, basicamente irá percorrer `config.departments` e buscar pelo primeiro que o jogador possui a permissão `openTablet`.

**Parâmetros:**

* user\_id: `integer`

**Retorna:**

* departmentIndex: `string?`
* departmentData: `table?`

**Exemplo de uso:**

```lua theme={null}
local departmentIndex, departmentData = exports.heyy_mdt:getUserDepartment(user_id)
```

### isUserInDepartment

Retorna se o jogador está em um departamento específico, ou não.

**Parâmetros:**

* user\_id: `integer`
* departmentIndex: `string`

**Retorna:**

* inDepartment: `boolean`

**Exemplo de uso:**

```lua theme={null}
local inDepartment = exports.heyy_mdt:isUserInDepartment(user_id, "LSPD")
```

### getUserAvatar

Retorna o link do avatar do usuário.

**Parâmetros:**

* user\_id: `integer`
* ignoreFallback: `boolean?`
  * Se for `true`, irá retornar nulo caso o jogador não possua um avatar.

**Retorna:**

* avatarUrl: `boolean`

**Exemplo de uso:**

```lua theme={null}
local avatarUrl = exports.heyy_mdt:getUserAvatar(user_id)
```

### setUserAvatar

Define um novo avatar para um usuário.

**Parâmetros:**

* user\_id: `integer`
* avatarUrl: `string`

**Exemplo de uso:**

```lua theme={null}
exports.heyy_mdt:setUserAvatar(user_id, "https://.../")
```
