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

# Funções em Server

# Configuração de Permissões e Porta-Malas

Este documento detalha as funções de configuração para permissões relacionadas ao sistema de porta-malas no **dk\_trunkin**.

<Note>
  📁 dk\_trunkin > config > server > functions.lua
</Note>

***

## 1. Definição de Capacidade do Porta-Malas

O sistema permite definir um limite de jogadores dentro do porta-malas de um veículo.

```lua dk_trunkin/config/server/functions.lua theme={null}
local trunkMaxPlayers = 4
```

Para modificar essa configuração, altere o valor da variável `trunkMaxPlayers`.

### **getTrunkMaxPlayers(vehId)**

Esta função retorna o número máximo de jogadores permitidos dentro do porta-malas.

```lua dk_trunkin/config/server/functions.lua theme={null}
local function getTrunkMaxPlayers(vehId)
    return trunkMaxPlayers
end
```

Caso deseje definir valores específicos por modelo de veículo, adicione a lógica dentro desta função.

***

## 2. Permissão para Entrar ou Sair do Porta-Malas

### **toggleTrunkPermission(source, entering, vehId, kidnapped, trunkPlayersAmount)**

Esta função valida se um jogador pode entrar ou sair do porta-malas.

```lua dk_trunkin/config/server/functions.lua theme={null}
function Config.functions.toggleTrunkPermission(source, entering, vehId, kidnapped, trunkPlayersAmount)
```

#### Parâmetros

* `source` - ID do jogador.
* `entering` - Booleano indicando se o jogador está entrando ou saindo.
* `vehId` - ID do veículo.
* `kidnapped` - Booleano indicando se o jogador está sequestrado.
* `trunkPlayersAmount` - Quantidade atual de jogadores no porta-malas.

#### Lógica

* Impede a entrada caso o número de jogadores no porta-malas já tenha atingido o limite.
* Se o jogador estiver sequestrado, permite a entrada ou saída sem restrição.

***

## 3. Permissão para Sequestrar Jogador

### **kidnapPermission(source, target, vehId, entering, isKidnapped)**

Esta função verifica se um jogador pode ser sequestrado.

```lua dk_trunkin/config/server/functions.lua theme={null}
function Config.functions.kidnapPermission(source, target, vehId, entering, isKidnapped)
```

#### Parâmetros

* `source` - ID do jogador tentando sequestrar.
* `target` - ID do jogador sendo sequestrado.
* `vehId` - ID do veículo.
* `entering` - Booleano indicando se o jogador está tentando entrar no porta-malas.
* `isKidnapped` - Booleano indicando se o jogador já está sequestrado.

#### Lógica

* Impede o sequestro caso o jogador não esteja abatido (adicione também a verificação de algema, se necessário).
* Bloqueia remover do porta-malas se o jogador não estiver sequestrado.

***

🔔 **Resumo:**

* `getTrunkMaxPlayers` define a quantidade máxima de jogadores dentro do porta-malas.
* `toggleTrunkPermission` valida se um jogador pode entrar ou sair do porta-malas.
* `kidnapPermission` define se um jogador pode ser sequestrado.
* Todas as permissões podem ser ajustadas no `dk_snippets`.
