Main Config
Welcome to the main configuration file of the RCore Prison
General Settings
Debug
Debug
Debug
Type:
boolean
Default:
false
Description: Enables or disables overall debugging for
rcore_prison
.
DebugInventory
DebugInventory
Type:
boolean
Default:
false
Description: Enables debugging related to the inventory module.
DebugClothing
DebugClothing
Type:
boolean
Default:
false
Description: Enables debugging related to the clothing module.
DebugAPI
DebugAPI
Type:
boolean
Default:
false
Description: Enables debugging related to the API system.
DebugEnviroment
DebugEnviroment
Type:
boolean
Default:
false
Description: Enables debugging related to the environment.
ErrorDebug
ErrorDebug
Type:
boolean
Default:
false
Description: Makes error tracking easier.
DebugLevel
DebugLevel
Type:
table
Default:
{ 'NETWORK', 'INFO', 'CRITICAL', 'SUCCESS', 'ERROR', 'API', 'DEBUG', 'MENU', }
Description: Defines the levels of debugging information to be displayed.
Locale
Type:
string
Default:
'en'
Options:
['en']
(additional languages may be supported)Description: Sets the language for the system.
Time
Type:
enum
Default:
TIMES.MIN
Options:
['SEC', 'MIN', 'HOURS', 'DAYS', 'WEEK', 'MONTHS']
Description: Defines the time unit for jail durations.
Integrations / Framework settings
Framework
Type:
enum
Default:
AUTO_DETECT
Example:
Note: Leave it on AUTO_DETECT, if you one of supported frameworks (recommended).
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.
Inventories
Type:
enum
Default:
AUTO_DETECT
Supported Inventories:
AUTO_DETECT: Auto-detect inventory [Only detecting supported inventories below]
Inventories.ESX:
es_extended
(GitHub)Inventories.QB:
qb-inventory
(GitHub)Inventories.PS:
ps-inventory
(GitHub)Inventories.QS:
qs-inventory
Inventories.LJ:
lj-inventory
Inventories.MF:
mf-inventory
Inventories.OX:
ox-inventory
Inventories.CHEEZA:
inventory
Inventories.CODEM:
codem-inventory
Inventories.TGIANN:
tgiann-inventory
Inventories.ORIGEN:
origen-inventory
Inventories.CORE:
core_inventory
STANDALONE: No inventory found; you will need to integrate it.
Example:
Note: Leave it on AUTO_DETECT, if you one of supported inventories (recommended).
Inventories = AUTO_DETECT -- Will automatically pick up supported inventorie(s) from list if found on server.
Inventories.OX -- Will try to load ox_inventory if failed to pick up, it will switch to standalone.
Map
Type:
enum
Default:
AUTO_DETECT
Supported Prison Maps:
AUTO_DETECT: Auto-detect prison map [Only detecting supported maps below]
Map.RCORE
Map.PROMPT
Map.UNCLE
Map.ALCATRAZ
Map.YBN
Map.DESERTOS
Map.GABZ
STANDALONE: No prison map found; loading standalone preset (
data/presets/standalone.lua
)
Note: Leave it on AUTO_DETECT, if you one of supported inventories (recommended).
Map = AUTO_DETECT -- Will automatically pick up supported map(s) from list if found on server.
Map.RCORE -- Will try to load RCORE map if failed to pick up, it will switch to standalone.
Interactions
Type:
enum
Default:
AUTO_DETECT
Supported Interactions:
AUTO_DETECT: Auto-detect interactions [Only detecting supported interactions below]
Interactions.OX:
ox_target
Interactions.QB:
qb-target
Interactions.MV:
ps-inventory
Interactions.NONE: Distance interaction using [E]
STANDALONE: No target interaction found; distance interaction using [E] will be used
Note: Leave it on AUTO_DETECT, if you one of supported inventories (recommended).
Interactions = AUTO_DETECT -- Will try to load supported target system, if failed to find then it will load standalone (key press) interact
Interactions.NONE -- It will set interaction to key press [E]
Database
Type:
enum
Default:
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 one of supported databases (recommended).
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 (prison cannot run without database)
Cloth
Type:
enum
Default:
AUTO_DETECT
Supported Clothing Systems:
AUTO_DETECT: Auto-detect clothing [Only detecting supported clothing below]
Cloth.RCORE:
rcore_clothing
(Store)Cloth.ESX:
skinchanger
(GitHub)Cloth.QB:
qb-clothing
(GitHub)Cloth.IAPPEARANCE:
illenium-appearance
(GitHub)Cloth.CODEM:
codem-appearance
(Experimental)Cloth.CRM:
crm-appearance
(Experimental)Cloth.TGIANN:
tgiann-clothing
(Experimental)Cloth.WASABI:
fivem-appearance - wasabi fork
(Experimental)
Note: Leave it on AUTO_DETECT, if you one of supported clothing system (recommended).
Cloth = AUTO_DETECT -- Will automatically pick up clothing system
Cloth = Cloth.RCORE -- Will try to use RCore Clothing resource
Phones
Type:
enum
Default:
AUTO_DETECT
Supported Phone Resources:
AUTO_DETECT: Auto-detect phone resource
Phones.LB:
lb_phone
STANDALONE: Phone booths will not be usable.
Note: Leave it on AUTO_DETECT, if you one of supported phone system (recommended).
Phones = AUTO_DETECT -- Will automatically pick up phone system
Phones = Phones.STANDALONE -- No supported phone for phone boots is loaded.
Notifies
Type:
enum
Default:
AUTO_DETECT
Supported Notify Resources:
AUTO_DETECT: Auto-detect Notify resource
Notifies.BRUTAL:
brutal_notify
Notifies.PNOTIFY:
qb-pNotify
Notifies.OX:
ox_lib
Notifies.ESX_NOTIFY:
esx_notify
Notifies.QBCORE:
qb-core
Notifies.ESX:
es_extended
Notifies.MYTHIC:
mythic_notify
Notifies.OKOK:
okokNotify
STANDALONE: Will use native notifications included in the resource
Note: Leave it on AUTO_DETECT, if you one of supported notifies system (recommended).
Notifies = AUTO_DETECT -- Will automatically pick up notifies system
Notifies = Notifies.STANDALONE -- It will use native notifications if failed to find any supported.
TextUI
Type:
enum
Default:
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 one of supported Text UI system (recommended).
TextUI = AUTO_DETECT -- Will automatically pick up TextUI system
TextUI = TextUI.STANDALONE -- It will use RCore TextUI if not any found
Menus
Type:
enum
Default:
AUTO_DETECT
Supported Menus:
AUTO_DETECT: Auto-detect menu
Menus.RCORE:
rcore_prison
Menus.ESX_CONTEXT:
esx_context
Menus.OX:
ox_lib - context
Menus.QB:
qb-menu
STANDALONE: Defaults to
rcore_prison
Note: Leave it on AUTO_DETECT, if you one of supported Menu system (recommended).
Menus = AUTO_DETECT -- Will automatically pick up Menus system
Menus = Menus.OX -- Will try to pickup ox_lib contenxt for menus inside prison.
Menus = Menus.STANDALONE -- It will use RCore Menu if not any found
Dispatches
Type:
enum
Default:
AUTO_DETECT
Supported Dispatch Resources:
AUTO_DETECT: Auto-detect dispatch resources
Dispatches.RCORE:
rcore_dispatch
Dispatches.QS:
qs-dispatch
Dispatches.PS:
ps-dispatch
Dispatches.CD:
cd_dispatch
Dispatches.CORE:
core_dispatch
Dispatches.CODEM:
codem_dispatch
Dispatches.LOVE_SCRIPTS:
emergency_dispatch
Dispatches.ORIGEN:
origen_police
Dispatches.TK:
tk_dispatch
Dispatches.DUSA:
dusa_Dispatch
STANDALONE: No dispatch resource found; you will need to integrate it
Note: Leave it on AUTO_DETECT, if you one of supported Dispatches system (recommended).
Dispatches = AUTO_DETECT -- Will automatically pick up Dispatches system from the list
Dispatches = Dispatches.RCORE -- It will try to use RCore Dispatch for Prison break.
Dispatches = Dispatches.STANDALONE -- It will use standalone solution inside RCore Prison
Framework Admin Groups
Type:
table
Description: Defines admin groups based on the framework.
FrameworkAdminGroups = {
[Framework.ESX] = { 'superadmin', 'admin' },
[Framework.QBCore] = { 'god', 'admin' },
[Framework.QBOX] = { 'god', 'admin' },
},
Framework Events
Type:
table
Description: Framework event mappings.
FrameworkEvents = {
['QBCore:Client:OnJobUpdate'] = 'QBCore:Client:OnJobUpdate',
['esx:playerLoaded'] = 'esx:playerLoaded',
['esx:setJob'] = 'esx:setJob',
['esx_skin:getPlayerSkin'] = 'esx_skin:getPlayerSkin',
['skinchanger:loadSkin'] = 'skinchanger:loadSkin',
['skinchanger:getSkin'] = 'skinchanger:getSkin',
['skinchanger:loadClothes'] = 'skinchanger:loadClothes',
['qb-clothing:client:loadOutfit'] = 'qb-clothing:client:loadOutfit',
['qb-clothing:client:loadPlayerClothing'] = 'qb-clothing:client:loadPlayerClothing'
},
Other
AllowAdminGroupsUseJailCommands
Type:
boolean
Description: This is used for allowing admin groups to use prison commands which are restricted to police/sheriff jobs
AllowAdminGroupsUseJailCommands = false
RestrictCommandsForDistance
Type:
boolean
Description: This is used for restricting commands for distance to inmates.
RestrictCommandsForDistance = false
RestrictDistance
Type:
float
Description: This is the distance for restricting commands
RestrictDistance = 10.0,
RegisterChatSuggestions
Type:
boolean
Description: Allow to register chat suggestions (enable/disable)
RegisterChatSuggestions = true,
Jobs / Companion system
Type:
table
Description: This allows to handle companion for specific jobs and remove new prisoner jobs based off the job list.
Prisoners = {
Companion = true, -- This is used for enabling companion system, player with the specific job are not going to be attacked by Prison Guards
CompanionRefreshCycleTime = 1.5, -- This is the time for refreshing prisoners (default in sec)
CompanionJobList = {
['police'] = true,
['sheriff'] = true,
['ambulance'] = true,
},
RemovePlayerJobWhenJailed = false, -- This is used for removing player job when citizen is jailed (supports: ESX, QBCore)
RemovePlayerSetDefaultJob = 'unemployed', -- This is the default job set when RemovePlayerJobWhenJailed is enabled
RemoveJobList = {
['police'] = true, --
['ambulance'] = true,
['sheriff'] = true,
}
},
ReduceSentenceType
Type:
enum
Default:
SentenceTypes.ONLINE
Options:
SentenceTypes.ONLINE, SentenceTypes.OFFLINE
Description: [OFFLINE - Prisoners are not required to be on server for sentence reduce, ONLINE - Prisoners are required to be on server for sentence reducing!]
CanPrisonerBeReleasedWhenOnSolitary
Type:
boolean
Default:
true
Description: This is used for enabling prisoner to be released when they are on solitary
RenderJailTime
Type:
boolean
Default:
true
Description: This is used for rendering jail time on the screen
RenderNPCBlips
Type:
boolean
Default:
true
Description: This is used for rendering blips on map (only for prisoners)
JailByNPCSettings
Type:
table
Default:
true
Description: This is used for jailing by NPC (settings)
JailByNPCSettings = {
JailDistance = 10.0, -- This is the distance for jailing player by NPC
JailTime = 60, -- This is the jail time for NPC jail (default in min)
ResetPedPool = 5, -- This is the time for resetting ped pool - so same ped can jail other users. (default in min)
},
Prison break
Dispatch settings
Type:
table
Description: This is settings for the dispatch allows to call dispatch when destroyed wall/escaped from prison.
DispatchSettings = {
InvokeWhenDestroyedWall = false, -- This is used for invoking dispatch when wall is destroyed (without NPC seen player destroying wall)
InvokeWhenPlayerEscapePrison = false, -- This is used for invoking dispatch when player escaped from Prison (without NPC seen player escaping)
}
Escape.RequiredPolice
Type:
number
Default value:
3
Description: How many police officers needs to be online for Prison break start.
Escape.PoliceCheck
Type:
boolean
Default value:
false
Description: This is used for enabling checking if there is enough Police officers to start Prison break
Escape.Enable
Type:
boolean
Default value:
true
Description: This is used for enabling prison break system
Escape.MarkerColor
Type:
vec4
Default value:
{ r = 255, g = 0, b = 0, a = 100 }
Description: This is the color of the marker for interaction with wall
Escape.WallLodSyncDistance
Type:
number
Default value:
300
Description: This is the distance for syncing walls (recommended value)
Escape.AutoCatch
Type:
boolean
Default value:
true
Description: This is used for auto catching the prisoners are escaping with guards to put them in solitary
Escape.SolitaryTime
Type:
number
Default value:
5
Description: This is the time for solitary (default in min) when prisoner is caught
Escape.DisableBugEscape
Type:
boolean
Default value:
true
Description: Player are only allowed to escape through included Prison break system!
Escape.WhenEscapeRemoveInmateStash
Type:
boolean
Default value:
false
Description: This is used for removing inmates stash when they are escaping
Escape.BugEscapeCycleTime
Type:
number
Default value:
1
Description: This is the time for checking if prisoner is in area (default in minutes)
Escape.ViewNPCDistance
Type:
number
Default value:
30
Description: This is the distance for viewing NPC
Escape.RepairWallTime
Type:
number
Default value:
10
Description: This is the time for repairing the wall (default in seconds)
Escape.RepairWallKey
Type:
string
Default value:
'E'
Description: This is the interaction key for repairing wall
Escape.ResetTime
Type:
number
Default value:
30
Description: This is the time for resetting the escape (default in min)
Escape.EnableAutomaticReset
Type:
boolean
Default value:
true
Description: This is the time for resetting the escape (default in min)
Escape.NeedItem
Type:
boolean
Default value:
true
Description: This is used for needing item to escape from the prison
Escape.ItemName
Type:
string
Default value:
wire_cutter
Description: This is the item name for escaping from the prison
Escape.NotifyJobs
Type:
array
Default value:
{ 'police', 'leo' }
Description: This is the list of the jobs which are going to be notified when prisoner is escaping when using supported dispatch system
Escape.DisablePatrollingGuards
Type:
boolean
Default value:
false
Description: This allows to enable/disable spawning of patrolling NPC guards.
Escape.Experimental.RemoveCuttersAfterWallDestroyed
Type:
boolean
Default value:
false
Description: This will enable removing wire_cutter (ItemName) from player inventory when destroying wall
Escape.Experimental.CuttingSequence
Type:
boolean
Default value:
false
Description: This will enable/disable cutting sequence
Escape.Experimental.CuttingSequenceTime
Type:
number
Default value:
15
Description: How much the cutting should take before wall breaks (in seconds)
Escape.Experimental.ClearPlayerInventoryWhenEscape
Type:
boolean
Default value:
false
Description: This will enable/disable clearing of player inventory if he escaped
Guards
Guards.EnableJailAllCitizensWhenAttackedGuard
Type:
boolean
Default value:
true
Description: This is used for jailing all citizens when guard is attacked
Guards.JailTime
Type:
number
Default value:
20
Description: This is the jail time for attacking guard (default in min)
Solitary
Solitary.DistanceCheck
Type:
number
Default value:
10
Description: This is the distance for checking if player is in his solitary cell.
Solitary.GuardDistanceCheck
Type:
number
Default value:
10
Description: This is the distance for checking if player is in the guard area.
Solitary.Time
Type:
number
Default value:
3
Description: This is the time for solitary (default in min) - when guard is attacked by prisoner
Release checkpoint
Release.AtCheckpoint
Type:
boolean
Default value:
false
Description: This is used for releasing prisoner at the checkpoint, if disabled prisoner will be released at the prison.
Circuit
Circuit.Difficulty
Type:
number
Default value:
1
Description: 1, 2, 3, 4, 5, 6 --> This is ignored when EachJobLevelIncreaseDifficulty is enabled
Circuit.Keybinds
Type:
table
Default value:
{ ['ARROW_UP'] = 172, ['ARROW_DOWN'] = 173, ['LEFT_ARROW'] = 174, ['RIGHT_ARROW'] = 175, ['BACKSPACE'] = 177, }
Description: Default keys used for the circuit minigame.
Commands
Commands.Keybinds
Type:
table
Default value:
Commands = {
Jail = 'jail', -- This is the command for jailing player
Unjail = 'unjail', -- This is the command for unjailing player
Startcs = 'startcs', -- This is the command for starting the community service
Removecs = 'removecs', -- This is the command for removing the community service
JailCP = 'jailcp', -- This is command for opening jail dashboard
StopAlarm = 'stopalarm', -- This is the command for stopping the alarm
Solitary = 'solitary', -- This is the command for sending player to solitary cell(s)
RemoveSolitary = 'rsolitary', -- This is the command for removing player from solitary cell(s)
ResetPrisonBreak = 'resetescape', -- This is the command for resetting the prison break
}
Description: This is list of commands that are used in prison.
UI Configuration
Menu.Position
Type:
string
Default value:
top-right
Description: This is the position of the menu ['top-left', 'top-right', 'bottom-left', 'bottom-right']
Helpkeys.Position
Type:
string
Default value:
top-left
Description: This is the position of the help keys ['top-left', 'top-right', 'bottom-left', 'bottom-right']
Text.Position
Type:
string
Default value:
bottom-right
Description: This is the position of the text ['top-left', 'top-right', 'bottom-left', 'bottom-right']
Subtitles.Position
Type:
string
Default value:
bottom-center
Description: This is the position of the subtitles ['top-left', 'top-right', 'bottom-left', 'bottom-center', 'bottom-right']
Zone interaction
Zone
Type:
table
Default value:
Zone = {
CheckDist = 1.5, -- This is the distance for checking if player is in the zone
InteractKey = 'E', -- This is the key for interacting with the zone
HelpkeysInteractKeyName = 'E', -- This is the key name for the help keys
Size = vec3(1.0, 1.0, 1.0), -- This is the size of the zones
},
Description: Configuration when not using any target system in Prison.
Jobs
Jobs
Type:
table
Default value:
Jobs = {
['police'] = true,
['sheriff'] = true,
},
Description: Table of jobs which are allowed to perform RCore Prison commands
Prison Jobs
PrisonJobs
Type:
table
Default value:
PrisonJobs = {
PlayerJobCoolDown = 2, -- This is the cooldown for player to get new job (default: 2 min)
ResetJobPoolCooldown = 1, -- This is the cooldown for resetting job pool (default: 1 min)
RequiredDelivery = 5, -- This is the required delivery for prisoner to be released
TargetHighlight = false, -- This is used for highlighting the target (Only for targets)
TargetHiglightColor = { r = 50, g = 149, b = 1, a = 255 }, -- This is the color of the target highlight
SetCustomRequiredDeliveries = true, -- This is used for setting custom required deliveries for each job
-- By default using ox_lib skillCheck, can be changed to own via minigame in rcore_prison/modules/base/client/api/cl-jobs.lua
Minigame = {
Cooking = true,
Janitor = true,
CleanGround = true,
BushTrimming = true,
},
Electrician = {
EachJobLevelIncreaseDifficulty = true -- This is used for increasing difficulty for each job level
},
LeaveJobKey = 'G', -- This is the key for leaving the job
DoJobKey = 'E', -- This is the key for doing the job
Stepper = {
DoTask = 'SPACE', -- This is the key for doing exercises
StopTask = 'H', -- This is the key for stopping exercise
},
-- This is the list of the rewards which are going to be given to player when they finish the job(s)
Rewards = {
{
type = 'ITEM',