[{"data":1,"prerenderedAt":521},["ShallowReactive",2],{"/docs/jobs/policejob/reference/exports/client-radial-menu-actions":3,"/docs/jobs/policejob/reference/exports/client-radial-menu-actions-surround":509,"/docs/jobs/policejob/reference/exports/client-radial-menu-actions-implemented-suggestions":520},{"id":4,"title":5,"body":6,"description":499,"extension":500,"head":501,"implementedSuggestions":501,"meta":502,"navigation":503,"path":504,"schemaOrg":501,"seo":505,"sitemap":506,"stem":507,"__hash__":508},"docs/1.docs/0.jobs/1.policejob/4.reference/3.exports/14.client-radial-menu-actions.md","Client: Radial menu actions",{"type":7,"value":8,"toc":494},"minimark",[9,17,20,25,30,33,105,112,143,190,196,210,249,255,272,364,370,384,421,427,453,490],[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,24],"h2",{"id":23},"client-exports","Client Exports",[26,27,29],"h3",{"id":28},"radial-menu-actions","Radial menu actions",[10,31,32],{},"Other resources (e.g. a custom radial menu or keybind resource) can read and trigger the police radial actions instead of using the built-in radial menu. In the built-in menu, currently available actions are grouped into localized person and vehicle submenus.",[10,34,35,36,40,41,40,44,40,47,40,50,40,53,40,56,40,59,40,62,40,65,40,68,40,71,40,74,40,77,40,80,40,83,40,86,40,89,40,92,40,95,40,98,40,101,104],{},"Available action IDs: ",[37,38,39],"code",{},"handcuff",", ",[37,42,43],{},"unhandcuff",[37,45,46],{},"ziptie",[37,48,49],{},"cut_zipties",[37,51,52],{},"leg_restraints",[37,54,55],{},"ankle_monitor",[37,57,58],{},"head_bag",[37,60,61],{},"escort",[37,63,64],{},"escort_vehicle",[37,66,67],{},"escort_take_out",[37,69,70],{},"tackle",[37,72,73],{},"tackle_cuff",[37,75,76],{},"tackle_release",[37,78,79],{},"player_search",[37,81,82],{},"carry_patient",[37,84,85],{},"impound",[37,87,88],{},"park_vehicle",[37,90,91],{},"wheel_clamp",[37,93,94],{},"wheel_clamp_remove",[37,96,97],{},"camera_disassemble",[37,99,100],{},"billing",[37,102,103],{},"tablet",".",[106,107,109],"h4",{"id":108},"getradialactions",[37,110,111],{},"getRadialActions()",[113,114,115,123],"ul",{},[116,117,118,122],"li",{},[119,120,121],"strong",{},"Purpose",": Returns every radial action currently offered to the local player, including its availability state.",[116,124,125,128,129,132,133,40,136,40,139,142],{},[119,126,127],{},"Returns",": ",[37,130,131],{},"table"," — array of action records (",[37,134,135],{},"id",[37,137,138],{},"label",[37,140,141],{},"disabled",", …). Empty when the radial system is disabled.",[144,145,150],"pre",{"className":146,"code":147,"language":148,"meta":149,"style":149},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","local actions = exports[\"sky_policejob\"]:getRadialActions()\n","lua","",[37,151,152],{"__ignoreMap":149},[153,154,157,161,165,168,171,174,178,180,183,187],"span",{"class":155,"line":156},"line",1,[153,158,160],{"class":159},"sMK4o","local",[153,162,164],{"class":163},"sTEyZ"," actions ",[153,166,167],{"class":159},"=",[153,169,170],{"class":163}," exports[",[153,172,173],{"class":159},"\"",[153,175,177],{"class":176},"sfazB","sky_policejob",[153,179,173],{"class":159},[153,181,182],{"class":163},"]:",[153,184,186],{"class":185},"s2Zo4","getRadialActions",[153,188,189],{"class":163},"()\n",[106,191,193],{"id":192},"getradialactionactionid",[37,194,195],{},"getRadialAction(actionId)",[113,197,198,203],{},[116,199,200,202],{},[119,201,121],{},": Returns a single radial action record by ID.",[116,204,205,128,207,104],{},[119,206,127],{},[37,208,209],{},"table | nil",[144,211,213],{"className":146,"code":212,"language":148,"meta":149,"style":149},"local action = exports[\"sky_policejob\"]:getRadialAction(\"handcuff\")\n",[37,214,215],{"__ignoreMap":149},[153,216,217,219,222,224,226,228,230,232,234,237,240,242,244,246],{"class":155,"line":156},[153,218,160],{"class":159},[153,220,221],{"class":163}," action ",[153,223,167],{"class":159},[153,225,170],{"class":163},[153,227,173],{"class":159},[153,229,177],{"class":176},[153,231,173],{"class":159},[153,233,182],{"class":163},[153,235,236],{"class":185},"getRadialAction",[153,238,239],{"class":163},"(",[153,241,173],{"class":159},[153,243,39],{"class":176},[153,245,173],{"class":159},[153,247,248],{"class":163},")\n",[106,250,252],{"id":251},"getradialactionreport",[37,253,254],{},"getRadialActionReport()",[113,256,257,262],{},[116,258,259,261],{},[119,260,121],{},": Returns all actions plus a per-ID availability map — useful to build an external menu in one call.",[116,263,264,128,266,268,269,104],{},[119,265,127],{},[37,267,131],{}," — ",[37,270,271],{},"{ actions = { ... }, availability = { [actionId] = { available, disabledReasonKey, disabledReason } } }",[144,273,275],{"className":146,"code":274,"language":148,"meta":149,"style":149},"local report = exports[\"sky_policejob\"]:getRadialActionReport()\nif report.availability[\"handcuff\"] and report.availability[\"handcuff\"].available then\n    -- show the handcuff option\nend\n",[37,276,277,301,351,358],{"__ignoreMap":149},[153,278,279,281,284,286,288,290,292,294,296,299],{"class":155,"line":156},[153,280,160],{"class":159},[153,282,283],{"class":163}," report ",[153,285,167],{"class":159},[153,287,170],{"class":163},[153,289,173],{"class":159},[153,291,177],{"class":176},[153,293,173],{"class":159},[153,295,182],{"class":163},[153,297,298],{"class":185},"getRadialActionReport",[153,300,189],{"class":163},[153,302,304,308,311,315,318,320,322,324,327,330,332,334,336,338,340,342,345,348],{"class":155,"line":303},2,[153,305,307],{"class":306},"s7zQu","if",[153,309,310],{"class":163}," report.",[153,312,314],{"class":313},"sBMFI","availability",[153,316,317],{"class":163},"[",[153,319,173],{"class":159},[153,321,39],{"class":176},[153,323,173],{"class":159},[153,325,326],{"class":163},"] ",[153,328,329],{"class":159},"and",[153,331,310],{"class":163},[153,333,314],{"class":313},[153,335,317],{"class":163},[153,337,173],{"class":159},[153,339,39],{"class":176},[153,341,173],{"class":159},[153,343,344],{"class":163},"].",[153,346,347],{"class":313},"available",[153,349,350],{"class":306}," then\n",[153,352,354],{"class":155,"line":353},3,[153,355,357],{"class":356},"sHwdD","    -- show the handcuff option\n",[153,359,361],{"class":155,"line":360},4,[153,362,363],{"class":306},"end\n",[106,365,367],{"id":366},"isradialmenuactionavailableactionid",[37,368,369],{},"isRadialMenuActionAvailable(actionId)",[113,371,372,377],{},[116,373,374,376],{},[119,375,121],{},": Checks whether one radial action is currently available.",[116,378,379,128,381,104],{},[119,380,127],{},[37,382,383],{},"boolean",[144,385,387],{"className":146,"code":386,"language":148,"meta":149,"style":149},"local available = exports[\"sky_policejob\"]:isRadialMenuActionAvailable(\"impound\")\n",[37,388,389],{"__ignoreMap":149},[153,390,391,393,396,398,400,402,404,406,408,411,413,415,417,419],{"class":155,"line":156},[153,392,160],{"class":159},[153,394,395],{"class":163}," available ",[153,397,167],{"class":159},[153,399,170],{"class":163},[153,401,173],{"class":159},[153,403,177],{"class":176},[153,405,173],{"class":159},[153,407,182],{"class":163},[153,409,410],{"class":185},"isRadialMenuActionAvailable",[153,412,239],{"class":163},[153,414,173],{"class":159},[153,416,85],{"class":176},[153,418,173],{"class":159},[153,420,248],{"class":163},[106,422,424],{"id":423},"triggerradialmenuactionactionid",[37,425,426],{},"triggerRadialMenuAction(actionId)",[113,428,429,434],{},[116,430,431,433],{},[119,432,121],{},": Executes a radial action for the local player.",[116,435,436,128,438,268,441,444,445,448,449,452],{},[119,437,127],{},[37,439,440],{},"boolean, table?",[37,442,443],{},"true"," on success, otherwise ",[37,446,447],{},"false"," and a reason (",[37,450,451],{},"{ key, fallback }",").",[144,454,456],{"className":146,"code":455,"language":148,"meta":149,"style":149},"local success, reason = exports[\"sky_policejob\"]:triggerRadialMenuAction(\"player_search\")\n",[37,457,458],{"__ignoreMap":149},[153,459,460,462,465,467,469,471,473,475,477,480,482,484,486,488],{"class":155,"line":156},[153,461,160],{"class":159},[153,463,464],{"class":163}," success, reason ",[153,466,167],{"class":159},[153,468,170],{"class":163},[153,470,173],{"class":159},[153,472,177],{"class":176},[153,474,173],{"class":159},[153,476,182],{"class":163},[153,478,479],{"class":185},"triggerRadialMenuAction",[153,481,239],{"class":163},[153,483,173],{"class":159},[153,485,79],{"class":176},[153,487,173],{"class":159},[153,489,248],{"class":163},[491,492,493],"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 .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);}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 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}",{"title":149,"searchDepth":156,"depth":303,"links":495},[496],{"id":23,"depth":303,"text":24,"children":497},[498],{"id":28,"depth":353,"text":29},"Reference for Client: Radial menu actions in policejob.","md",null,{},true,"/docs/jobs/policejob/reference/exports/client-radial-menu-actions",{"title":5,"description":499},{"loc":504},"1.docs/0.jobs/1.policejob/4.reference/3.exports/14.client-radial-menu-actions","zwZ8l2smLRbqpciZ6zx_cH7qMSNGOdtt0DyCYSKg9hA",[510,515],{"title":511,"path":512,"stem":513,"description":514,"children":-1},"Client: Jail","/docs/jobs/policejob/reference/exports/client-jail","1.docs/0.jobs/1.policejob/4.reference/3.exports/13.client-jail","Reference for Client: Jail in policejob.",{"title":516,"path":517,"stem":518,"description":519,"children":-1},"Client: Usable items","/docs/jobs/policejob/reference/exports/client-usable-items","1.docs/0.jobs/1.policejob/4.reference/3.exports/15.client-usable-items","Reference for Client: Usable items in policejob.",[],1791814212142]