> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_police/configurations/main.md).

# Main Config

* Welcome to the main configuration file of the RCore Police.
* Path: rcore\_police/config.lua

## Items

<details>

<summary>Items.Spikes</summary>

* **Type:** `string`
* **Default value:** `spikes`
* **Description:** Here you can define your item for Spikes.
* **Example:**

```lua
Items = {
    Spikes = "spikes",
}
```

</details>

<details>

<summary>Items.SpeedCamera</summary>

* **Type:** `string`
* **Default value:** `speed_camera`
* **Description:** Here you can define your item for SpeedCamera.
* **Example:**

```lua
Items = {
    SpeedCamera = "speed_camera",
}
```

</details>

<details>

<summary>Items.Megaphone</summary>

* **Type:** `string`
* **Default value:** `megaphone`
* **Description:** Here you can define your item for Megaphone.
* **Example:**

```lua
Items = {
    Megaphone = "megaphone",
}
```

</details>

<details>

<summary>Items.Barrier</summary>

* **Type:** `string`
* **Default value:** `barrier`
* **Description:** Here you can define your item for Barrier.
* **Example:**

```lua
Items = {
    Barrier = "barrier",
}
```

</details>

<details>

<summary>Items.Handcuffs</summary>

* **Type:** `string`
* **Default value:** `handcuffs`
* **Description:** Here you can define your item for Handcuffs.
* **Example:**

```lua
Items = {
    Handcuffs = "handcuffs",
}
```

</details>

<details>

<summary>Items.HandcuffsKeys</summary>

* **Type:** `string`
* **Default value:** `handcuffs_key`
* **Description:** Here you can define your item for HandcuffsKeys.
* **Example:**

```lua
Items = {
    HandcuffsKeys = "handcuffs_key",
}
```

</details>

<details>

<summary>Items.PaperBag</summary>

* **Type:** `string`
* **Default value:** `paper_bag`
* **Description:** Here you can define your item for PaperBag.
* **Example:**

```lua
Items = {
    PaperBag = "paper_bag",
}
```

</details>

<details>

<summary>Items.Zipties</summary>

* **Type:** `string`
* **Default value:** `zipties`
* **Description:** Here you can define your item for Zipties.
* **Example:**

```lua
Items = {
    Zipties = "zipties",
}
```

</details>

## General Settings

<details>

<summary>Debug</summary>

#### `Debug`

* **Type:** `boolean`
* **Default value:** `false`
* **Description:** Enables or disables overall debugging for `rcore_police`.
* **Example:**

```lua
Config = {
  	Debug = false
}
```

#### `DebugInventory`

* **Type:** `boolean`
* **Default value:** `false`
* **Description:** Enables debugging related to the inventory module.
* **Example:**

```lua
Config = {
  	DebugInventory = false
}
```

#### `DebugClothing`

* **Type:** `boolean`
* **Default value:** `false`
* **Description:** Enables debugging related to the clothing module.
* **Example:**

```lua
Config = {
  	DebugClothing = false
}
```

#### `DebugAPI`

* **Type:** `boolean`
* **Default value:** `false`
* **Description:** Enables debugging related to the API system.
* **Example:**

```lua
Config = {
  	DebugAPI = false
}
```

#### `DebugServer`

* **Type:** `boolean`
* **Default value:** `false`
* **Description:** Enables debugging related to the server enviroment.
* **Example:**

```lua
Config = {
  	DebugServer = false
}
```

#### `DebugLevel`

* **Type:** `table`
* **Default value:**

```lua
{
	'NETWORK',
	'INFO',
	'CRITICAL',
	'SUCCESS',
	'ERROR',
	'API',
	'DEBUG',
	'MENU',
}
```

* **Description:** Defines the levels of debugging information to be displayed.

</details>

<details>

<summary>Locale</summary>

* **Type:** `string`
* **Default value:** `'en'`
* **Options:** `['en']` *(additional languages may be supported)*
* **Description:** Sets the language for the system.
* **Example:**

```lua
Config = {
  	Locale = 'en'
}
```

</details>

## Integrations / Framework settings

<details>

<summary>Framework</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Frameworks:**
  * **AUTO\_DETECT:** Automatically detects the framework.
  * **Framework.ESX:** `es_extended` ([GitHub](https://github.com/esx-framework/esx_core))
  * **Framework.QBCore:** `qb-core` ([GitHub](https://github.com/qbcore-framework/qb-core))
  * **Framework.QBOX:** `qbx_core` ([GitHub](https://github.com/Qbox-project/qbx_core))
  * **Framework.NDCore:** `ND_Core` ([GitHub](https://github.com/ND-Framework/ND_Core))
  * **STANDALONE:** No framework found; you will need to integrate it.
* **Example:**
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported frameworks (recommended).

```lua
Framework = AUTO_DETECT -- Will automatically pick up supported framework(s) from list if found on server.
Framework.ESX -- Will try to load ESX if failed to pick up, it will switch to standalone.
```

</details>

<details>

<summary>Inventory</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Inventories:**
  * **AUTO\_DETECT:** Auto-detect inventory \[Only detecting supported inventories below]
  * **Inventory.ESX:** `es_extended` ([GitHub](https://github.com/esx-framework/esx_core))
  * **Inventory.QB:** `qb-inventory` ([GitHub](https://github.com/qbcore-framework/qb-inventory))
  * **Inventory.PS:** `ps-inventory` ([GitHub](https://github.com/Project-Sloth/ps-inventory))
  * **Inventory.QS:** `qs-inventory`
  * **Inventory.LJ:** `lj-inventory`
  * **Inventory.MF:** `mf-inventory`
  * **Inventory.OX:** `ox-inventory`
  * **Inventory.CHEEZA:** `inventory`
  * **Inventory.CODEM:** `codem-inventory`
  * **Inventory.TGIANN:** `tgiann-inventory`
  * **Inventory.ORIGEN:** `origen-inventory`
  * **STANDALONE:** No inventory found; you will need to integrate it.
* **Example:**
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported inventories (recommended).

```lua
Inventory = AUTO_DETECT -- Will automatically pick up supported inventorie(s) from list if found on server.
Inventory.OX -- Will try to load ox_inventory if failed to pick up, it will switch to standalone.
```

</details>

<details>

<summary>Database</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Database Connectors:**
  * **AUTO\_DETECT:** Auto-detect DB connector
  * **Database.OX:** `oxmysql`
  * **Database.MYSQL\_ASYNC:** `mysql-async`
  * **Database.GHMATTI:** `ghmattimysql`
  * **STANDALONE:** No DB connector found
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported databases (recommended).
* **Example:**

```lua
Database = AUTO_DETECT -- Will automatically pick up db connector(s) from list if found on server.
Database.OX -- Will try to load OX, if fails to detect - no db connector found (police cannot run without database)
```

</details>

<details>

<summary>Clothing</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Clothing Systems:**
  * **AUTO\_DETECT:** Auto-detect clothing \[Only detecting supported clothing below]
  * **Clothing.RCORE:** `rcore_clothing` ([Store](https://store.rcore.cz/package/6430968))
  * **Clothing.ESX:** `skinchanger` ([GitHub](https://github.com/esx-framework/esx_core/tree/main/\[core]/skinchanger))
  * **Clothing.QB:** `qb-clothing` ([GitHub](https://github.com/qbcore-framework/qb-clothing))
  * **Clothing.IAPPEARANCE:** `illenium-appearance` ([GitHub](https://github.com/iLLeniumStudios/illenium-appearance))
  * **Clothing.CODEM:** `codem-appearance` *(Experimental)*
  * **Clothing.CRM:** `crm-appearance` *(Experimental)*
  * **Clothing.TGIANN:** `tgiann-clothing` *(Experimental)*
  * **Clothing.WASABI:** `fivem-appearance - wasabi fork` *(Experimental)*
  * **STANDALONE:** no clothing found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported clothing system (recommended).
* **Example:**

```lua
Clothing = AUTO_DETECT -- Will automatically pick up clothing system
Clothing = Cloth.RCORE -- Will try to use RCore Clothing resource
```

</details>

<details>

<summary>Prison</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Prison Resources:**
  * **Prison.RCORE:** `rcore-prison`
  * **Prison.QB\_PRISON:** `qb-prison`
  * **STANDALONE:** no prison found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported prison system (recommended).
* **Example:**

```lua
Prison = AUTO_DETECT -- Will automatically pick up prison system
Prison = Prison.STANDALONE -- No supported prison  loaded
```

</details>

<details>

<summary>Invoices</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Invoices Resources:**
  * **Invoices.QB\_PHONE:** `qb-phone`
  * **Invoices.ESX\_BILLING:** `esx_billing`
  * **Invoices.OKOK:** `okokBilling`
  * **STANDALONE:** no billing resource found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Invoices system (recommended).
* **Example:**

```lua
Invoices = AUTO_DETECT -- Will automatically pick up invoices system
Invoices = STANDALONE -- No supported invoices system loaded
```

</details>

<details>

<summary>Notify</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Notify Resources:**
  * **AUTO\_DETECT:** Auto-detect Notify resource
  * **Notify.BRUTAL:** `brutal_notify`
  * **Notify.PNOTIFY:** `qb-pNotify`
  * **Notify.OX:** `ox_lib`
  * **Notify.ESX\_NOTIFY:** `esx_notify`
  * **Notify.QBCORE:** `qb-core`
  * **Notify.ESX:** `es_extended`
  * **Notify.MYTHIC:** `mythic_notify`
  * **Notify.OKOK:** `okokNotify`
  * **STANDALONE:** Will use native notifications included in the resource
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Notify system (recommended).
* **Example:**

```lua
Notify = AUTO_DETECT -- Will automatically pick up notifies system
Notify = STANDALONE -- It will use native notifications if failed to find any supported.
```

</details>

<details>

<summary>TextUI</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported TextUI Resources:**
  * **AUTO\_DETECT:** Auto-detect TextUI resource
  * **TextUI.RCORE:** `rcore_prison`
  * **TextUI.OX:** `ox_lib`
  * **TextUI.QBCORE:** `qb-core`
  * **TextUI.ESX:** `esx_textui`
  * **STANDALONE:** No TextUI resource found
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Text UI system (recommended).
* **Example:**

```lua
TextUI = AUTO_DETECT -- Will automatically pick up TextUI system
TextUI = TextUI.STANDALONE -- It will use RCore TextUI if not any found
```

</details>

<details>

<summary>Menu</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Menu:**
  * **AUTO\_DETECT:** Auto-detect menu
  * **Menu.RCORE:** `rcore_police`
  * **Menu.ESX\_CONTEXT:** `esx_context`
  * **Menu.OX:** `ox_lib - context`
  * **Menu.QB:** `qb-menu`
  * **STANDALONE:** Defaults to `rcore_prison`
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Menu system (recommended).
* **Example:**

```lua
Menu = AUTO_DETECT -- Will automatically pick up Menu system
Menu = Menu.OX -- Will try to pickup ox_lib contenxt for menus inside prison.
Menu = STANDALONE -- It will use RCore Menu if not any found
```

</details>

<details>

<summary>Dispatch</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Dispatch Resources:**
  * **AUTO\_DETECT:** Auto-detect dispatch resources
  * **Dispatch.RCORE:** `rcore_dispatch`
  * **Dispatch.QS:** `qs-dispatch`
  * **Dispatch.PS:** `ps-dispatch`
  * **Dispatch.CD:** `cd_dispatch`
  * **Dispatch.CORE:** `core_dispatch`
  * **Dispatch.CODEM:** `codem_dispatch`
  * **Dispatch.LOVE\_SCRIPTS:** `emergency_dispatch`
  * **Dispatch.ORIGEN:** `origen_police`
  * **Dispatch.TK:** `tk_dispatch`
  * **Dispatch.DUSA:** `dusa_Dispatch`
  * **STANDALONE:** No dispatch resource found; you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Dispatch system (recommended).
* **Example:**

```lua
Dispatch = AUTO_DETECT -- Will automatically pick up Dispatch system from the list
```

</details>

<details>

<summary>Garages</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Garage Resources:**
  * **AUTO\_DETECT:** Auto-detect garage resources
  * **Garages.QB:** `qb-garage`
  * **Garages.ESX:** `esx_garage`
  * **Garages.QBOX** `qbx_garages`
  * **STANDALONE:** No garage resource found; you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported garage system (recommended).
* **Example:**

```lua
Garages = AUTO_DETECT -- Will automatically pick up Garages system from the list
```

</details>

<details>

<summary>Fuel</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **Fuel.RCORE:** `rcore_fuel` ([Buy](https://store.rcore.cz/package/6222210))
  * **Fuel.LEGACY:** `esx_garage`
  * **Fuel.CDN** `cdn-fuel`
  * **Fuel.TI** `ti_fuel`
  * **Fuel.MY** `myFuel`
  * **Fuel.OKOK** `okokGasStation`
  * **Fuel.LJ** `lj-fuel`
  * **Fuel.ND** `nd_fuel`
  * **Fuel.HYON\_GAS** `HYON_GAS`
  * **STANDALONE:** no fuel found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Fuel system (recommended).
* **Example:**

```lua
Fuel = AUTO_DETECT -- Will automatically pick up Fuel system from the list
```

</details>

<details>

<summary>Licence</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **Licence.ESX:** `esx_license`
  * **Licence.QBCORE:** `qb-core`
  * **STANDALONE:** no Licence found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Licence system (recommended).
* **Example:**

```lua
Licence = AUTO_DETECT -- Will automatically pick up Fuel system from the list
```

</details>

<details>

<summary>MDT</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **MDT.PS:** `ps_mdt`
  * **MDT.REDUTZU:** `redutzu-mdt`
  * **STANDALONE:** no mdt found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported MDT system (recommended).
* **Example:**

```lua
MDT = AUTO_DETECT -- Will automatically pick up MDT system from the list
```

</details>

<details>

<summary>Society</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **Society.ESX:** `esx_society`
  * **Society.QB\_BANKING:** `qb-banking`
  * **Society.QB\_MANAGEMENT** `qb_management`
  * **Society.SNIPE** `snipe_banking`
  * **Society.RENEWED** `renewed_banking`
  * **Society.FD** `fd_banking`
  * **Society.OKOK** `okok_banking`
  * **STANDALONE:** no society found, running standalone bridge
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Society system (recommended).
* **Example:**

```lua
Society = AUTO_DETECT -- Will automatically pick up Society system from the list
```

</details>

<details>

<summary>Duty</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Duty Resources:**
  * **Duty.ESX\_SERVICE:** `ESX_SERVICE`
  * **STANDALONE:** no Duty found, running standalone bridge
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Duty system (recommended).
* **Example:**

```lua
Duty = AUTO_DETECT -- Will automatically pick up Duty system from the list
```

</details>

<details>

<summary>Keys</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **Keys.RCORE:** `rcore_garage`
  * **Keys.FIVECODE:** `fivecode_carkeys`
  * **Keys.CD** `cd_garage`
  * **Keys.QS** `qs-vehiclekeys`
  * **Keys.XD** `xd_locksystem`
  * **Keys.OKOK** `okokGarage`
  * **Keys.JAKSAM** `vehicle_keys`
  * **Keys.MR\_NEWB** `MrNewbVehicleKeys`
  * **Keys.WASABI** `wasabi_carlock`
  * **STANDALONE:** no keys found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Keys system (recommended).
* **Example:**

```lua
Keys = AUTO_DETECT -- Will automatically pick up Keys system from the list
```

</details>

<details>

<summary>Armoury</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **Armoury.OX** `ox_inventory`
  * **Armoury.CHEEZA:** `inventory`
  * **STANDALONE:** no armoury UI found, it will use our solution.
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported Keys system (recommended).
* **Example:**

```lua
Armoury = AUTO_DETECT -- Will automatically pick up Armoury system from the list
```

</details>

<details>

<summary>PG</summary>

* **Type:** `enum`
* **Default value:** `AUTO_DETECT`
* **Supported Fuel Resources:**
  * **PG.OX** `ox_lib`
  * **PG.ESX:** `es_extended`
  * **PG.QBCORE:** `qb-core`
  * **STANDALONE:** no PG found, you will need to integrate it
* **Note:** Leave it on AUTO\_DETECT, if you have one of supported PG system (recommended).
* **Example:**

```lua
PG = AUTO_DETECT -- Will automatically pick up PG system from the list
```

</details>

<details>

<summary>Prefixes</summary>

* **Type:** `table`
* **Description:** List of prefixes used for third party resources
* **Example:**

```lua
Prefixes = {
	['qb-policejob'] = 'police:client', -- Event name for qb-policejob
},
```

</details>

<details>

<summary>Events</summary>

* **Type:** `table`
* **Description:** Framework event mappings.
* **Example:**

```lua
Events = {
    ['qb-openBossMenu'] = 'qb-bossmenu:client:OpenMenu',
    ['esx-openBossMenu'] = 'esx_society:openBossMenu',
    ['esx:playerLoaded'] = 'esx:playerLoaded',
    ['esx:setJob'] = 'esx:setJob',
    ['esx:playerLogout'] = 'esx:onPlayerLogout',
    ['QBCore:Client:OnPlayerLoaded'] = 'QBCore:Client:OnPlayerLoaded',
    ['QBCore:Client:OnJobUpdate'] = 'QBCore:Client:OnJobUpdate',
    ['esx_addonaccount:getSharedAccount'] = 'esx_addonaccount:getSharedAccount',
    ['esx_society:registerSociety'] = 'esx_society:registerSociety',
    ['skinchanger:getSkin'] = 'skinchanger:getSkin',
    ['skinchanger:loadClothes'] = 'skinchanger:loadClothes',
    ['qb-clothing:client:loadOutfit'] = 'qb-clothing:client:loadOutfit',
    ['QBCore:Server:SetDuty'] = 'QBCore:Server:SetDuty',
    ['QBCore:Client:SetDuty'] = 'QBCore:Client:SetDuty',
    ['esx_skin:getPlayerSkin'] = 'esx_skin:getPlayerSkin',
    ['skinchanger:loadSkin'] = 'skinchanger:loadSkin',
},
```

</details>

## Society

<details>

<summary>Business.SocietyPrefix</summary>

* **Type:** `string`
* **Default value:** `society`
* **Description:** This is used for prefixing society handy for esx\_society
* **Example:**

```lua
Business = {
	SocietyPrefix = 'society'
},
```

</details>

<details>

<summary>SocietyOptionsESX</summary>

* **Type:** `table`
* **Description:** List of options for esx society boss menu
* **Example:**

```lua
SocietyOptionsESX = {
	checkBal = true,  -- Allow to check society money from boss menu.
	withdraw = true,  -- Allow to withdraw from society (boss menu)
	deposit = true,   -- Allow to deposit to society (boss menu)
	employees = true, -- Allow to hire employees in business (boss menu)
	salary = true,    -- Allow to adjust employeees salary (boss menu)
	grades = true,    -- Allow to adjust grades in boss menu.
	wash = false,     -- Allow to wash business money.
},
```

</details>

## Tackle

<details>

<summary>Tackle.Enable</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used for enabling/disabling tackle feature.
* **Example:**

```lua
Tackle = {
	Enable = 'true' -- This is used for enabling/disabling tackle feature.
},
```

</details>

<details>

<summary>Tackle.Key</summary>

* **Type:** `string`
* **Default value:** `H`
* **Description:** This is default key for tackling closest player.
* **Example:**

```lua
Tackle = {
	Key = 'H' -- Key used for tackling nearby player.
},
```

</details>

<details>

<summary>Tackle.CooldownKey</summary>

* **Type:** `number`
* **Default value:** `500`
* **Description:** This allows to define cooldown before able to do another tackle.
* **Example:**

```lua
Tackle = {
	CooldownKey = '500' -- This allows to define cooldown before able to do another tackle.
},
```

</details>

<details>

<summary>Tackle.KeyReleaseTackledPlayer</summary>

* **Type:** `string`
* **Default value:** `E`
* **Description:** This is key for releasing tackled player from tackle.
* **Example:**

```lua
Tackle = {
	KeyReleaseTackledPlayer = 'E' -- This is key for releasing tackled player from tackle.
},
```

</details>

<details>

<summary>Tackle.KeyReleaseTackledPlayerCooldown</summary>

* **Type:** `float`
* **Default value:** `1.5`
* **Description:** This allows to define cooldown before able to do another release.
* **Example:**

```lua
Tackle = {
	CooldownKey = '1.5' -- This allows to define cooldown before able to do another release. (In seconds)
},
```

</details>

<details>

<summary>Tackle.Distance</summary>

* **Type:** `float`
* **Default value:** `3.0`
* **Description:** This allows to define range in which should be the target player for tackle
* **Example:**

```lua
Tackle = {
	Distance = '3.0' -- This allows to define range in which should be the target player for tackle
},
```

</details>

## MegaPhone

<details>

<summary>MegaPhone.Enable</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used for enabling/disabling megaphone feature.
* **Example:**

```lua
MegaPhone = {
	Enable = 'true' -- This is used for enabling/disabling megaphone feature.
},
```

* **Note**: Currently supporting only pma-voice resource.

</details>

<details>

<summary>MegaPhone.HearRangeRadius</summary>

* **Type:** `float`
* **Default value:** `50.0`
* **Description:** This allows to define hear range radius from megaphone
* **Example:**

```lua
MegaPhone = {
	HearRangeRadius = 50.0 -- This allows to define hear range radius from megaphone
},
```

</details>

<details>

<summary>MegaPhone.ExitKey</summary>

* **Type:** `string`
* **Default value:** `E`
* **Description:** This is key used to hide (exit) from megaphone.
* **Example:**

```lua
MegaPhone = {
	ExitKey = 'E' -- This is key used to hide (exit) from megaphone.
},
```

</details>

<details>

<summary>MegaPhone.TurnKey</summary>

* **Type:** `string`
* **Default value:** `H`
* **Description:** This is key used switch megaphone (on/off) toggle
* **Example:**

```lua
MegaPhone = {
	TurnKey = 'H' -- This is key used switch megaphone (on/off) toggle
},
```

</details>

## Duty

<details>

<summary>Service.Cooldown</summary>

* **Type:** `number`
* **Default value:** 2
* **Description:** This is default cooldown when player set on/off duty (in seconds by default)
* **Example:**

```lua
Service = {
	Cooldown = 2
},
```

</details>

## Outfits

<details>

<summary>Outfits.EnableRestoreOutfit</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This option allows to restore outfit in police clothing room
* **Example:**

```lua
Outfits = {
	EnableRestoreOutfit = true
},
```

</details>

<details>

<summary>Outfits.UseIncludedOutfitSystem</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This allows to enable/disable included outfit system (or switch to own system)
* **Example:**

```lua
Outfits = {
	UseIncludedOutfitSystem = true -- This allows to enable/disable included outfit system (or switch to own system)
}, 
```

</details>

## Fines

<details>

<summary>Fines.Enable</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This allows to enable/disable included fines system
* **Example:**

```lua
Fines = {
	Enable = true -- This allows to enable/disable included fines system
}, 
```

</details>

<details>

<summary>Fines.List</summary>

* **Type:** `array`
* **Default value:** `Fines`
* **Description:** This load fines from the Fines (rcore\_police/configs/fines.lua)
* **Example:**

```lua
Fines = {
	List = Fines -- This load fines from the Fines (rcore_police/configs/fines.lua)
}, 
```

</details>

## Vehicle info

<details>

<summary>Vehicle.UseProgressBar</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This allows to enable/disable vehicle info PG (progress bar)
* **Example:**

```lua
Vehicle = {
	UseProgressBar = true -- This allows to enable/disable vehicle info PG (progress bar)
}, 
```

</details>

<details>

<summary>Vehicle.ProgressBarTime</summary>

* **Type:** `number`
* **Default value:** `5`
* **Description:** This allows to define how much time will take to get vehicle info
* **Example:**

```lua
Vehicle = {
	ProgressBarTime = 5 -- This allows to define how much time will take to get vehicle info (By default: in seconds)
}, 
```

</details>

<details>

<summary>Vehicle.TemporaryPersistentFakeInfo</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This setting will for the same vehicle show same generated fake info, until TemporaryPersistentFakeInfoTime
* **Example:**

```lua
Vehicle = {
	TemporaryPersistentFakeInfo = true -- This setting will for the same vehicle show same generated fake info, until TemporaryPersistentFakeInfoTime
}, 
```

</details>

<details>

<summary>Vehicle.TemporaryPersistentFakeInfoTime</summary>

* **Type:** `number`
* **Default value:** `5`
* **Description:** This allows to define how much time will the fake info for the vehicle will persist (By default: in minutes)
* **Example:**

```lua
Vehicle = {
	TemporaryPersistentFakeInfoTime = 5 -- This allows to define how much time will the fake info for the vehicle will persist (By default: in minutes)
}, 
```

</details>

<details>

<summary>Vehicle.NotOwnedVehicleFakeInfo</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This will allow to generate fake informations for non-owned vehicles (NPC) when using F6 - Vehicle - Vehicle information
* **Example:**

```lua
Vehicle = {
	NotOwnedVehicleFakeInfo = true -- TThis will allow to generate fake informations for non-owned vehicles (NPC) when using F6 - Vehicle - Vehicle information
}, 
```

</details>

## Unlock vehicle

<details>

<summary>UnlockVehicle.UseProgressBar</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This allow to use progressbar for unlocking vehicle / disable.
* **Example:**

```lua
UnlockVehicle = {
	UseProgressBar = true --This allow to use progressbar for unlocking vehicle / disable.
}, 
```

</details>

<details>

<summary>UnlockVehicle.ProgressBarTime</summary>

* **Type:** `number`
* **Default value:** `5`
* **Description:** This allows to define how much time will take to open the nearby locked vehicle
* **Example:**

```lua
Vehicle = {
	TemporaryPersistentFakeInfoTime = 5 -- This allows to define how much time will take to open the nearby locked vehicle (By default: in seconds)
}, 
```

</details>

## Select players

* This is only supported to run with our RCore Context menu. (Config.Menu)

<details>

<summary>SelectPlayers.ShowMode</summary>

* **Type:** `enum`
* **Default value:** SHOW\_MODE.ID
* **Description:** This allows to define which show mode will be used for Context Menu, when interacting with nearby players
* **Example:**

```lua
SelectPlayers = {
	--[[
		ShowMode:
			* ID: This will only show playerId of nearby players Player: (#1)
			* OOC_ID: This will show OOC name with playerId: NewEdit (#1)
	]]

	ShowMode = SHOW_MODE.ID,
}, 
```

</details>

<details>

<summary>SelectPlayers.Marker</summary>

* **Description:** This allows to marker (type, color) for interaction with nearby players
* **Example:**

```lua
SelectPlayers = {
	Marker = {
		type = 21, -- The type of marker
		r = 255,   -- Red
		g = 255,   -- Green
		b = 255,   -- Blue
		a = 100,   -- Alpha
	}
}, 
```

</details>

## Reports

<details>

<summary>Reports.Enable</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used to enable/disable report system
* **Example:**

```lua
Reports = {
	Enable = true -- This is used to enable/disable report system
}, 
```

</details>

<details>

<summary>Reports.NotifyAllDepartmentOfficersWhenNewReport</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used for notify all departments officers when new report occured at Lobby
* **Example:**

```lua
Reports = {
	NotifyAllDepartmentOfficersWhenNewReport = true -- This is used for notify all departments officers when new report occured at Lobby
}, 
```

</details>

<details>

<summary>Reports.NotifyAllDepartmentOfficersWhenUpdatedReport</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used for notify all departments officers when report was updated by officer
* **Example:**

```lua
Reports = {
	NotifyAllDepartmentOfficersWhenUpdatedReport = true -- This is used for notify all departments officers when report was updated by officer
}, 
```

</details>

<details>

<summary>Reports.LimitReportsPerPlayer</summary>

* **Type:** `boolean`
* **Default value:** `true`
* **Description:** This is used for limit reports per player, to not able spam the reports
* **Example:**

```lua
Reports = {
	LimitReportsPerPlayer = true -- This is used for limit reports per player, to not able spam the reports
}, 
```

</details>

<details>

<summary>Reports.CooldownResetPerPlayer</summary>

* **Type:** `number`
* **Default value:** `5`
* **Description:** This allows to define how much time will take to cooldown reset for reports (By default: in minutes)
* **Example:**

```lua
Reports = {
	CooldownResetPerPlayer = 5 -- This allows to define how much time will take to cooldown reset for reports (By default: in minutes)
}, 
```

</details>
