[{"data":1,"prerenderedAt":391},["ShallowReactive",2],{"/docs/jobs/policejob/reference/exports/advanced-speed-camera":3,"/docs/jobs/policejob/reference/exports/advanced-speed-camera-surround":379,"/docs/jobs/policejob/reference/exports/advanced-speed-camera-implemented-suggestions":390},{"id":4,"title":5,"body":6,"description":370,"extension":371,"head":372,"implementedSuggestions":372,"meta":373,"navigation":93,"path":374,"schemaOrg":372,"seo":375,"sitemap":376,"stem":377,"__hash__":378},"docs/1.docs/0.jobs/1.policejob/4.reference/3.exports/10.advanced-speed-camera.md","Advanced Speed Camera",{"type":7,"value":8,"toc":364},"minimark",[9,17,20,24,29,37,40,155,158,335,338,342,345,353,360],[10,11,12],"p",{},[13,14,16],"a",{"href":15},"/docs/jobs/policejob/reference/exports","All exports",[10,18,19],{},"This page documents the supported public integration calls. Client values are never authoritative for police permissions, review decisions, evidence, offences, or billing.",[21,22,5],"h2",{"id":23},"advanced-speed-camera",[25,26,28],"h3",{"id":27},"read-deployed-speed-cameras","Read deployed speed cameras",[30,31,33],"h4",{"id":32},"getspeedcamcameras",[34,35,36],"code",{},"GetSpeedcamCameras()",[10,38,39],{},"Returns the current server-owned camera catalogue. This is a server export and cannot be called\ndirectly by a FiveM client.",[41,42,48],"pre",{"className":43,"code":44,"filename":45,"language":46,"meta":47,"style":47},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","local cameras = exports[\"sky_policejob\"]:GetSpeedcamCameras()\n\nfor _, camera in ipairs(cameras) do\n    print(camera.id, camera.label, camera.status, camera.limit)\nend\n","server.lua","lua","",[34,49,50,88,95,117,149],{"__ignoreMap":47},[51,52,55,59,63,66,69,72,76,78,81,85],"span",{"class":53,"line":54},"line",1,[51,56,58],{"class":57},"sMK4o","local",[51,60,62],{"class":61},"sTEyZ"," cameras ",[51,64,65],{"class":57},"=",[51,67,68],{"class":61}," exports[",[51,70,71],{"class":57},"\"",[51,73,75],{"class":74},"sfazB","sky_policejob",[51,77,71],{"class":57},[51,79,80],{"class":61},"]:",[51,82,84],{"class":83},"s2Zo4","GetSpeedcamCameras",[51,86,87],{"class":61},"()\n",[51,89,91],{"class":53,"line":90},2,[51,92,94],{"emptyLinePlaceholder":93},true,"\n",[51,96,98,102,105,108,111,114],{"class":53,"line":97},3,[51,99,101],{"class":100},"s7zQu","for",[51,103,104],{"class":61}," _, camera ",[51,106,107],{"class":100},"in",[51,109,110],{"class":83}," ipairs",[51,112,113],{"class":61},"(cameras) ",[51,115,116],{"class":100},"do\n",[51,118,120,123,126,130,133,136,138,141,143,146],{"class":53,"line":119},4,[51,121,122],{"class":83},"    print",[51,124,125],{"class":61},"(camera.",[51,127,129],{"class":128},"sBMFI","id",[51,131,132],{"class":61},", camera.",[51,134,135],{"class":128},"label",[51,137,132],{"class":61},[51,139,140],{"class":128},"status",[51,142,132],{"class":61},[51,144,145],{"class":128},"limit",[51,147,148],{"class":61},")\n",[51,150,152],{"class":53,"line":151},5,[51,153,154],{"class":100},"end\n",[10,156,157],{},"Each entry contains:",[159,160,161,177],"table",{},[162,163,164],"thead",{},[165,166,167,171,174],"tr",{},[168,169,170],"th",{},"Field",[168,172,173],{},"Type",[168,175,176],{},"Description",[178,179,180,198,211,228,251,266,279,293,307,321],"tbody",{},[165,181,182,187,192],{},[183,184,185],"td",{},[34,186,129],{},[183,188,189],{},[34,190,191],{},"string",[183,193,194,195],{},"Display ID such as ",[34,196,197],{},"SP-004",[165,199,200,204,208],{},[183,201,202],{},[34,203,135],{},[183,205,206],{},[34,207,191],{},[183,209,210],{},"Configured camera name",[165,212,213,218,222],{},[183,214,215],{},[34,216,217],{},"type",[183,219,220],{},[34,221,191],{},[183,223,224,225],{},"Always ",[34,226,227],{},"speedcam",[165,229,230,234,238],{},[183,231,232],{},[34,233,140],{},[183,235,236],{},[34,237,191],{},[183,239,240,243,244,247,248],{},[34,241,242],{},"online",", ",[34,245,246],{},"maintenance",", or ",[34,249,250],{},"offline",[165,252,253,258,263],{},[183,254,255],{},[34,256,257],{},"durability",[183,259,260],{},[34,261,262],{},"number",[183,264,265],{},"Current server-owned durability",[165,267,268,272,276],{},[183,269,270],{},[34,271,145],{},[183,273,274],{},[34,275,262],{},[183,277,278],{},"Configured speed limit",[165,280,281,286,290],{},[183,282,283],{},[34,284,285],{},"tolerance",[183,287,288],{},[34,289,262],{},[183,291,292],{},"Configured tolerance",[165,294,295,300,304],{},[183,296,297],{},[34,298,299],{},"target",[183,301,302],{},[34,303,262],{},[183,305,306],{},"Internal numeric camera ID used by supported camera views",[165,308,309,314,318],{},[183,310,311],{},[34,312,313],{},"coords",[183,315,316],{},[34,317,159],{},[183,319,320],{},"Server-stored world coordinates",[165,322,323,328,332],{},[183,324,325],{},[34,326,327],{},"heading",[183,329,330],{},[34,331,262],{},[183,333,334],{},"Server-stored camera heading",[10,336,337],{},"Treat the returned table as a snapshot. Changing it does not change the server cache or database.",[25,339,341],{"id":340},"review-mutations-are-intentionally-private","Review mutations are intentionally private",[10,343,344],{},"Advanced review approval and discard are not public exports. The built-in path validates the acting\nofficer's current police job, duty, Boss Menu permission, review ownership, evidence, offence, fine,\nbilling adapter, target player, and review status immediately before mutation.",[346,347,350],"callout",{"color":348,"icon":349},"success","i-lucide-shield-check",[10,351,352],{},"Do not proxy a raw client event into a server export. If an integration exposes camera information to\na client, filter the returned fields and authorize the requesting player first. Review IDs, owner\nrecords, evidence, and billing actions must remain server-side.",[10,354,355,356,359],{},"See ",[13,357,5],{"href":358},"/docs/jobs/policejob/features/advanced-speed-camera"," for the complete\nreview and exploit-protection workflow.",[361,362,363],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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":47,"searchDepth":54,"depth":90,"links":365},[366],{"id":23,"depth":90,"text":5,"children":367},[368,369],{"id":27,"depth":97,"text":28},{"id":340,"depth":97,"text":341},"Reference for Advanced Speed Camera in policejob.","md",null,{},"/docs/jobs/policejob/reference/exports/advanced-speed-camera",{"title":5,"description":370},{"loc":374},"1.docs/0.jobs/1.policejob/4.reference/3.exports/10.advanced-speed-camera","NhHAMHAgScDWwTVl-6oX01Zc1L-x-r-LjyU9pisYMRk",[380,385],{"title":381,"path":382,"stem":383,"description":384,"children":-1},"Server: Vehicle certificates","/docs/jobs/policejob/reference/exports/server-vehicle-certificates","1.docs/0.jobs/1.policejob/4.reference/3.exports/1.server-vehicle-certificates","Reference for Server: Vehicle certificates in policejob.",{"title":386,"path":387,"stem":388,"description":389,"children":-1},"Client: Restraints","/docs/jobs/policejob/reference/exports/client-restraints","1.docs/0.jobs/1.policejob/4.reference/3.exports/11.client-restraints","Reference for Client: Restraints in policejob.",[],1791814211648]