[{"data":1,"prerenderedAt":710},["ShallowReactive",2],{"/docs/jobs/policejob/setup/configuration":3,"/docs/jobs/policejob/setup/configuration-surround":699,"/docs/jobs/policejob/setup/configuration-implemented-suggestions":709},{"id":4,"title":5,"body":6,"description":689,"extension":690,"head":691,"implementedSuggestions":691,"meta":692,"navigation":693,"path":694,"schemaOrg":691,"seo":695,"sitemap":696,"stem":697,"__hash__":698},"docs/1.docs/0.jobs/1.policejob/2.setup/2.configuration.md","Configuration",{"type":7,"value":8,"toc":672},"minimark",[9,14,18,60,71,85,89,112,197,206,210,273,277,283,320,323,327,330,428,431,435,454,462,466,484,497,528,532,552,556,600,604,608,617,621,635,639,642,646,668],[10,11,13],"h2",{"id":12},"configuration-sources","Configuration sources",[15,16,17],"p",{},"Sky Police Job uses two configuration layers:",[19,20,21,34],"table",{},[22,23,24],"thead",{},[25,26,27,31],"tr",{},[28,29,30],"th",{},"Layer",[28,32,33],{},"Purpose",[35,36,37,49],"tbody",{},[25,38,39,46],{},[40,41,42],"td",{},[43,44,45],"code",{},"/jobconfig",[40,47,48],{},"Job definitions and frequently changed settings stored through Sky Jobs Base",[25,50,51,57],{},[40,52,53,54],{},"Open files in ",[43,55,56],{},"sky_policejob/config",[40,58,59],{},"Defaults, fallback job data, locales, and inventory assets",[15,61,62,63,66,67,70],{},"When ",[43,64,65],{},"Config.UseJobConfigurator"," is enabled (the default), saved Job Configurator values take priority over matching fallback values in ",[43,68,69],{},"config.lua",". Editing a fallback value alone may therefore have no visible effect on an already configured server.",[15,72,73,74,77,78,81,82,84],{},"Configurator data is stored in the database through Sky Jobs Base (",[43,75,76],{},"sky_jobs_configurator_jobs",", ",[43,79,80],{},"sky_jobs_configurator_settings","), not in ",[43,83,69],{},".",[10,86,88],{"id":87},"opening-the-job-configurator","Opening the Job Configurator",[15,90,91,92,94,95,99,100,103,104,107,108,111],{},"Run ",[43,93,45],{}," in-game and select ",[96,97,98],"strong",{},"Police Jobs"," in the selector. The command is player-only and requires the ",[43,101,102],{},"sky_jobs_base.jobconfig"," ACE permission, granted through ",[43,105,106],{},"Config.CommandPermissions"," in ",[43,109,110],{},"sky_jobs_base/config/config.lua",":",[113,114,119],"pre",{"className":115,"code":116,"filename":110,"language":117,"meta":118,"style":118},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Config.CommandPermissions = {\n    jobconfig = { \"god\", \"superadmin\", \"admin\" },\n    -- ...\n}\n","lua","",[43,120,121,141,184,191],{"__ignoreMap":118},[122,123,126,130,134,138],"span",{"class":124,"line":125},"line",1,[122,127,129],{"class":128},"sTEyZ","Config.",[122,131,133],{"class":132},"sBMFI","CommandPermissions",[122,135,137],{"class":136},"sMK4o"," =",[122,139,140],{"class":128}," {\n",[122,142,144,147,150,153,156,160,162,164,166,169,171,173,175,178,181],{"class":124,"line":143},2,[122,145,146],{"class":128},"    jobconfig ",[122,148,149],{"class":136},"=",[122,151,152],{"class":128}," { ",[122,154,155],{"class":136},"\"",[122,157,159],{"class":158},"sfazB","god",[122,161,155],{"class":136},[122,163,77],{"class":128},[122,165,155],{"class":136},[122,167,168],{"class":158},"superadmin",[122,170,155],{"class":136},[122,172,77],{"class":128},[122,174,155],{"class":136},[122,176,177],{"class":158},"admin",[122,179,180],{"class":136},"\" ",[122,182,183],{"class":128},"},\n",[122,185,187],{"class":124,"line":186},3,[122,188,190],{"class":189},"sHwdD","    -- ...\n",[122,192,194],{"class":124,"line":193},4,[122,195,196],{"class":128},"}\n",[15,198,199,200,205],{},"See the ",[201,202,204],"a",{"href":203},"./permissions","Permissions"," page for the group bootstrap per framework.",[10,207,209],{"id":208},"creating-a-police-job","Creating a police job",[211,212,213,218,227,234,238,241,245,248,252,255,259,262,266],"steps",{},[214,215,217],"h3",{"id":216},"add-the-job","Add the job",[15,219,220,221,223,224,226],{},"Open ",[43,222,45],{},", select ",[96,225,98],{},", and add a new job. Enter the job name, pick the job color, and optionally enable an off-duty job.",[15,228,229,230,233],{},"The job name ",[96,231,232],{},"must already exist in your framework with the intended grades"," — the configurator stores job data, it does not create framework jobs.",[214,235,237],{"id":236},"configure-shop-props-and-vehicles","Configure shop, props, and vehicles",[15,239,240],{},"Fill the job shop catalog (item, label, price, minimum grade), configure job props, and add garage vehicles (model, price, trunk capacity, garage type, minimum grade, fuel type, livery, colors, and extras).",[214,242,244],{"id":243},"set-storage-and-society","Set storage and society",[15,246,247],{},"Configure the job storage sizes (police storage may contain weapons) and the society account used by billing and boss workflows.",[214,249,251],{"id":250},"enable-systems-and-settings","Enable systems and settings",[15,253,254],{},"Switch to the feature toggles and settings sections and configure dispatch, restraints, evidence, jail, and the other systems (see below).",[214,256,258],{"id":257},"save","Save",[15,260,261],{},"Save the configuration. Changes apply live — no resource restart is needed.",[214,263,265],{"id":264},"grant-boss-permissions","Grant boss permissions",[15,267,268,269,272],{},"After creating a new job, run ",[43,270,271],{},"/setboss \u003Cjob> \u003CtopGrade>"," once so the highest grade receives every boss permission.",[10,274,276],{"id":275},"feature-toggles","Feature toggles",[15,278,279,280,282],{},"The ",[96,281,98],{}," section exposes these system toggles:",[284,285,286,290,293,296,299,302,305,308,311,314,317],"ul",{},[287,288,289],"li",{},"Police Tablet",[287,291,292],{},"Billing",[287,294,295],{},"Prop Placement",[287,297,298],{},"Radial Actions",[287,300,301],{},"Restraints",[287,303,304],{},"Tracking (GPS trackers and ankle monitors)",[287,306,307],{},"Evidence",[287,309,310],{},"Jail",[287,312,313],{},"Social Work",[287,315,316],{},"CCTV and Speed Cameras",[287,318,319],{},"Vehicle Radar",[15,321,322],{},"Disabling a feature does not remove its old database data. This allows a feature to be enabled again without losing saved records.",[10,324,326],{"id":325},"settings-sections","Settings sections",[15,328,329],{},"Frequently changed settings are grouped into configurator sections, including:",[19,331,332,342],{},[22,333,334],{},[25,335,336,339],{},[28,337,338],{},"Section",[28,340,341],{},"What it controls",[35,343,344,352,360,368,375,382,390,398,405,412,420],{},[25,345,346,349],{},[40,347,348],{},"General",[40,350,351],{},"Primary color and shared UI behavior",[25,353,354,357],{},[40,355,356],{},"Stations / Jail / Social Work",[40,358,359],{},"Behavior of the creator-backed locations and sentences",[25,361,362,365],{},[40,363,364],{},"Dispatch",[40,366,367],{},"Dispatch notifications and behavior",[25,369,370,372],{},[40,371,301],{},[40,373,374],{},"Cuffs, zipties, leg cuffs, head bags, and escort behavior",[25,376,377,379],{},[40,378,307],{},[40,380,381],{},"Field kits, storage, and laboratory behavior",[25,383,384,387],{},[40,385,386],{},"Devices / Speed Camera App",[40,388,389],{},"CCTV cameras, speed cameras, and the tablet speed camera app",[25,391,392,395],{},[40,393,394],{},"Tracking",[40,396,397],{},"GPS tracker and ankle monitor behavior",[25,399,400,402],{},[40,401,319],{},[40,403,404],{},"Patrol vehicle radar behavior",[25,406,407,409],{},[40,408,292],{},[40,410,411],{},"Billing prices and offence handling",[25,413,414,417],{},[40,415,416],{},"Equipment / Spike Strips / Radial Actions",[40,418,419],{},"Deployables and radial menu actions, including the garage-integrated impound action",[25,421,422,425],{},[40,423,424],{},"Tablet Apps",[40,426,427],{},"Which tablet applications are available",[15,429,430],{},"Interactions (markers, blips, NPCs, and animations of the placed points) are edited in the configurator as well.",[10,432,434],{"id":433},"stations-jails-and-social-work","Stations, jails, and social work",[15,436,437,438,440,441,77,444,77,447,450,451,453],{},"Stations, jails, and social work zones are creator-backed sections inside the configurator: entries are created, placed in the world, and edited from ",[43,439,45],{},". The standalone commands (",[43,442,443],{},"/stationcreator",[43,445,446],{},"/jailcreator",[43,448,449],{},"/socialworkcreator",") are only available when ",[43,452,65],{}," is disabled.",[15,455,456,457,461],{},"See ",[201,458,460],{"href":459},"./station-setup","Station Setup"," for the placement workflow.",[10,463,465],{"id":464},"vehicle-impounding","Vehicle impounding",[15,467,468,469,472,473,475,476,479,480,483],{},"Since version 1.22.0, Police Job no longer creates or manages its own impound lots. There is no ",[96,470,471],{},"Impounds"," section in ",[43,474,45],{},", no ",[43,477,478],{},"/impoundcreator"," command, and no ",[43,481,482],{},"Config.Impound"," block.",[15,485,486,487,490,491,493,494,84],{},"Officers impound the nearest vehicle through the Police radial menu. The ",[96,488,489],{},"Radial Actions > Impound"," settings in ",[43,492,45],{}," only control whether that action is enabled, whether duty is required, and the maximum vehicle distance. The actual impound destination, storage rules, and prices belong to the garage resource selected through ",[43,495,496],{},"Sky.Config.garage",[15,498,499,500,107,503,506,507,77,510,77,513,77,516,519,520,523,524,527],{},"The provider hook is ",[43,501,502],{},"Config.Functions.OpenImpoundForm",[43,504,505],{},"sky_policejob/config/functions.lua",". The shipped hook supports the ",[43,508,509],{},"jg",[43,511,512],{},"vms",[43,514,515],{},"cd",[43,517,518],{},"quasar",", and ",[43,521,522],{},"rx"," garage integrations. Extend that function for a custom provider, or set it to ",[43,525,526],{},"false"," as shown in the file to disable the radial action.",[10,529,531],{"id":530},"recommended-workflow","Recommended workflow",[533,534,535,540,543,546,549],"ol",{},[287,536,537,538,84],{},"Enable or disable the main systems in ",[43,539,45],{},[287,541,542],{},"Configure police jobs, shops, vehicles, dispatch, restraints, evidence, jail, and the radial impound action.",[287,544,545],{},"Save the configuration and test it without restarting the resource.",[287,547,548],{},"Configure impound destinations, storage, and prices in the connected garage resource, and use the open Police Job files only for settings or integration hooks that are not exposed in the configurator.",[287,550,551],{},"Keep a backup of customized configuration files before every resource update.",[10,553,555],{"id":554},"open-configuration-files","Open configuration files",[19,557,558,568],{},[22,559,560],{},[25,561,562,565],{},[28,563,564],{},"File",[28,566,567],{},"Use",[35,569,570,580,590],{},[25,571,572,577],{},[40,573,574],{},[43,575,576],{},"config/config.lua",[40,578,579],{},"Feature defaults, fallback jobs, command permissions, and interactions",[25,581,582,587],{},[40,583,584],{},[43,585,586],{},"config/locales/*.lua",[40,588,589],{},"Translations and interface text",[25,591,592,597],{},[40,593,594],{},[43,595,596],{},"config/inventory",[40,598,599],{},"Included police item images",[10,601,603],{"id":602},"settings-that-need-extra-care","Settings that need extra care",[214,605,607],{"id":606},"job-configurator-police-jobs","Job Configurator police jobs",[15,609,610,611,613,614,616],{},"Police jobs created only through ",[43,612,45],{}," receive the same tablet applications as jobs defined in ",[43,615,69],{},". After adding or changing a job, save the Job Configurator entry and ensure the player has the correct job and duty state before checking the tablet.",[214,618,620],{"id":619},"command-permissions","Command permissions",[15,622,623,624,626,627,630,631,634],{},"Changes to ",[43,625,106],{}," (in ",[43,628,629],{},"sky_jobs_base"," or ",[43,632,633],{},"sky_policejob",") require a resource restart, and players may need to reconnect.",[214,636,638],{"id":637},"evidence-metadata","Evidence metadata",[15,640,641],{},"Evidence samples require a metadata-capable inventory. Without item metadata, collected evidence items lose their sample data — this is an inventory requirement, not a configurator setting.",[10,643,645],{"id":644},"related-pages","Related pages",[284,647,648,652,656,662],{},[287,649,650],{},[201,651,460],{"href":459},[287,653,654],{},[201,655,204],{"href":203},[287,657,658],{},[201,659,661],{"href":660},"../reference/commands","Commands",[287,663,664],{},[201,665,667],{"href":666},"../api/server-exports","Server Exports",[669,670,671],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":118,"searchDepth":125,"depth":143,"links":673},[674,675,676,677,678,679,680,681,682,683,688],{"id":12,"depth":143,"text":13},{"id":87,"depth":143,"text":88},{"id":208,"depth":143,"text":209},{"id":275,"depth":143,"text":276},{"id":325,"depth":143,"text":326},{"id":433,"depth":143,"text":434},{"id":464,"depth":143,"text":465},{"id":530,"depth":143,"text":531},{"id":554,"depth":143,"text":555},{"id":602,"depth":143,"text":603,"children":684},[685,686,687],{"id":606,"depth":186,"text":607},{"id":619,"depth":186,"text":620},{"id":637,"depth":186,"text":638},{"id":644,"depth":143,"text":645},"Understand the Job Configurator, how to create a police job, feature toggles, and the safe configuration workflow.","md",null,{},true,"/docs/jobs/policejob/setup/configuration",{"title":5,"description":689},{"loc":694},"1.docs/0.jobs/1.policejob/2.setup/2.configuration","sxVoJQTtJd29onXQwM3tIrignt-r0bkZaZGacRZ64nk",[700,705],{"title":701,"path":702,"stem":703,"description":704,"children":-1},"Installation","/docs/jobs/policejob/setup/installation","1.docs/0.jobs/1.policejob/2.setup/1.installation","Install Sky Police Job, prepare its dependencies and database, and complete the first server setup.",{"title":460,"path":706,"stem":707,"description":708,"children":-1},"/docs/jobs/policejob/setup/station-setup","1.docs/0.jobs/1.policejob/2.setup/3.station-setup","Place stations, jails, and social work zones through the Job Configurator.",[],1785073560422]