# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.rcore.cz/paid-resources/rcore_police/configurations/main.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
