[{"data":1,"prerenderedAt":488},["ShallowReactive",2],{"/docs/jobs/policejob/reference/exports/client-restraints":3,"/docs/jobs/policejob/reference/exports/client-restraints-surround":476,"/docs/jobs/policejob/reference/exports/client-restraints-implemented-suggestions":487},{"id":4,"title":5,"body":6,"description":466,"extension":467,"head":468,"implementedSuggestions":468,"meta":469,"navigation":470,"path":471,"schemaOrg":468,"seo":472,"sitemap":473,"stem":474,"__hash__":475},"docs/1.docs/0.jobs/1.policejob/4.reference/3.exports/11.client-restraints.md","Client: Restraints",{"type":7,"value":8,"toc":461},"minimark",[9,17,20,25,30,46,59,62,69,115,153,159,172,194,200,213,235,248,270,343,352,366,405,411,424,457],[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},"restraints","Restraints",[10,31,32,33,37,38,41,42,45],{},"These exports use the shared ",[34,35,36],"code",{},"sky_jobs_base"," interaction system. The local player's job must be\nregistered on the server and have the required capability. Police jobs from ",[34,39,40],{},"Config.Jobs"," are\nregistered automatically; other job resources must use the server-side ",[34,43,44],{},"registerInteractionJobs","\nexport first. Calling a client export alone does not whitelist a job.",[10,47,48,49,53,54,58],{},"See the ",[13,50,52],{"href":51},"/docs/base/jobs-base/client-exports#player-interactions","Sky Jobs Base client exports"," and\n",[13,55,57],{"href":56},"/docs/base/jobs-base/server-exports#player-interaction-whitelist","server whitelist documentation","\nfor the preferred shared API.",[10,60,61],{},"Police keeps compatibility forwards for cuffs, zipties, and escort. Use the direct Jobs Base exports for leg restraints and head bags.",[63,64,66],"h4",{"id":65},"cuffplayercufftype",[34,67,68],{},"cuffPlayer(cuffType?)",[70,71,72,80,106],"ul",{},[73,74,75,79],"li",{},[76,77,78],"strong",{},"Purpose",": Applies cuffs or zipties to the nearest valid player as an officer.",[73,81,82,85,86],{},[76,83,84],{},"Arguments",":\n",[70,87,88],{},[73,89,90,93,94,97,98,101,102,105],{},[34,91,92],{},"cuffType"," (",[34,95,96],{},"string?","): ",[34,99,100],{},"\"cuffs\""," (default) or ",[34,103,104],{},"\"zipties\"",".",[73,107,108,111,112,105],{},[76,109,110],{},"Returns",": ",[34,113,114],{},"boolean, string?",[116,117,122],"pre",{"className":118,"code":119,"language":120,"meta":121,"style":121},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","exports[\"sky_policejob\"]:cuffPlayer()\n","lua","",[34,123,124],{"__ignoreMap":121},[125,126,129,133,137,141,143,146,150],"span",{"class":127,"line":128},"line",1,[125,130,132],{"class":131},"sTEyZ","exports[",[125,134,136],{"class":135},"sMK4o","\"",[125,138,140],{"class":139},"sfazB","sky_policejob",[125,142,136],{"class":135},[125,144,145],{"class":131},"]:",[125,147,149],{"class":148},"s2Zo4","cuffPlayer",[125,151,152],{"class":131},"()\n",[63,154,156],{"id":155},"uncuffplayer",[34,157,158],{},"uncuffPlayer()",[70,160,161,166],{},[73,162,163,165],{},[76,164,78],{},": Removes cuffs from the nearest player as an officer.",[73,167,168,111,170,105],{},[76,169,110],{},[34,171,114],{},[116,173,175],{"className":118,"code":174,"language":120,"meta":121,"style":121},"exports[\"sky_policejob\"]:uncuffPlayer()\n",[34,176,177],{"__ignoreMap":121},[125,178,179,181,183,185,187,189,192],{"class":127,"line":128},[125,180,132],{"class":131},[125,182,136],{"class":135},[125,184,140],{"class":139},[125,186,136],{"class":135},[125,188,145],{"class":131},[125,190,191],{"class":148},"uncuffPlayer",[125,193,152],{"class":131},[63,195,197],{"id":196},"cutzipties",[34,198,199],{},"cutZipties()",[70,201,202,207],{},[73,203,204,206],{},[76,205,78],{},": Cuts zipties on the nearest player as an officer.",[73,208,209,111,211,105],{},[76,210,110],{},[34,212,114],{},[116,214,216],{"className":118,"code":215,"language":120,"meta":121,"style":121},"exports[\"sky_policejob\"]:cutZipties()\n",[34,217,218],{"__ignoreMap":121},[125,219,220,222,224,226,228,230,233],{"class":127,"line":128},[125,221,132],{"class":131},[125,223,136],{"class":135},[125,225,140],{"class":139},[125,227,136],{"class":135},[125,229,145],{"class":131},[125,231,232],{"class":148},"cutZipties",[125,234,152],{"class":131},[63,236,238,241,242,241,245],{"id":237},"usecuffplayercufftype-useuncuffplayer-usecutzipties",[34,239,240],{},"useCuffPlayer(cuffType?)"," / ",[34,243,244],{},"useUncuffPlayer()",[34,246,247],{},"useCutZipties()",[70,249,250,264],{},[73,251,252,254,255,257,258,260,261,263],{},[76,253,78],{},": Compatibility aliases for ",[34,256,149],{},", ",[34,259,191],{},", and ",[34,262,232],{},". They use the same server-side job whitelist and do not bypass access or item checks.",[73,265,266,111,268,105],{},[76,267,110],{},[34,269,114],{},[116,271,273],{"className":118,"code":272,"language":120,"meta":121,"style":121},"exports[\"sky_policejob\"]:useCuffPlayer(\"cuffs\") -- or \"zipties\"\nexports[\"sky_policejob\"]:useUncuffPlayer()\nexports[\"sky_policejob\"]:useCutZipties()\n",[34,274,275,307,325],{"__ignoreMap":121},[125,276,277,279,281,283,285,287,290,293,295,298,300,303],{"class":127,"line":128},[125,278,132],{"class":131},[125,280,136],{"class":135},[125,282,140],{"class":139},[125,284,136],{"class":135},[125,286,145],{"class":131},[125,288,289],{"class":148},"useCuffPlayer",[125,291,292],{"class":131},"(",[125,294,136],{"class":135},[125,296,297],{"class":139},"cuffs",[125,299,136],{"class":135},[125,301,302],{"class":131},") ",[125,304,306],{"class":305},"sHwdD","-- or \"zipties\"\n",[125,308,310,312,314,316,318,320,323],{"class":127,"line":309},2,[125,311,132],{"class":131},[125,313,136],{"class":135},[125,315,140],{"class":139},[125,317,136],{"class":135},[125,319,145],{"class":131},[125,321,322],{"class":148},"useUncuffPlayer",[125,324,152],{"class":131},[125,326,328,330,332,334,336,338,341],{"class":127,"line":327},3,[125,329,132],{"class":131},[125,331,136],{"class":135},[125,333,140],{"class":139},[125,335,136],{"class":135},[125,337,145],{"class":131},[125,339,340],{"class":148},"useCutZipties",[125,342,152],{"class":131},[63,344,346,241,349],{"id":345},"usehandcuffsitem-useziptiesitem",[34,347,348],{},"useHandcuffsItem()",[34,350,351],{},"useZiptiesItem()",[70,353,354,359],{},[73,355,356,358],{},[76,357,78],{},": Runs the full handcuffs/zipties item flow (the same path as using the inventory item), including the item checks.",[73,360,361,111,363,105],{},[76,362,110],{},[34,364,365],{},"boolean",[116,367,369],{"className":118,"code":368,"language":120,"meta":121,"style":121},"exports[\"sky_policejob\"]:useHandcuffsItem()\nexports[\"sky_policejob\"]:useZiptiesItem()\n",[34,370,371,388],{"__ignoreMap":121},[125,372,373,375,377,379,381,383,386],{"class":127,"line":128},[125,374,132],{"class":131},[125,376,136],{"class":135},[125,378,140],{"class":139},[125,380,136],{"class":135},[125,382,145],{"class":131},[125,384,385],{"class":148},"useHandcuffsItem",[125,387,152],{"class":131},[125,389,390,392,394,396,398,400,403],{"class":127,"line":309},[125,391,132],{"class":131},[125,393,136],{"class":135},[125,395,140],{"class":139},[125,397,136],{"class":135},[125,399,145],{"class":131},[125,401,402],{"class":148},"useZiptiesItem",[125,404,152],{"class":131},[63,406,408],{"id":407},"isplayercuffedserverid",[34,409,410],{},"isPlayerCuffed(serverId)",[70,412,413,418],{},[73,414,415,417],{},[76,416,78],{},": Checks the locally known cuff state for a player.",[73,419,420,111,422,105],{},[76,421,110],{},[34,423,365],{},[116,425,427],{"className":118,"code":426,"language":120,"meta":121,"style":121},"local cuffed = exports[\"sky_policejob\"]:isPlayerCuffed(serverId)\n",[34,428,429],{"__ignoreMap":121},[125,430,431,434,437,440,443,445,447,449,451,454],{"class":127,"line":128},[125,432,433],{"class":135},"local",[125,435,436],{"class":131}," cuffed ",[125,438,439],{"class":135},"=",[125,441,442],{"class":131}," exports[",[125,444,136],{"class":135},[125,446,140],{"class":139},[125,448,136],{"class":135},[125,450,145],{"class":131},[125,452,453],{"class":148},"isPlayerCuffed",[125,455,456],{"class":131},"(serverId)\n",[458,459,460],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .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":121,"searchDepth":128,"depth":309,"links":462},[463],{"id":23,"depth":309,"text":24,"children":464},[465],{"id":28,"depth":327,"text":29},"Reference for Client: Restraints in policejob.","md",null,{},true,"/docs/jobs/policejob/reference/exports/client-restraints",{"title":5,"description":466},{"loc":471},"1.docs/0.jobs/1.policejob/4.reference/3.exports/11.client-restraints","u4PZnrfxZ9b0D86-H_orm2YZaHbAT634QmYuZ1BitYQ",[477,482],{"title":478,"path":479,"stem":480,"description":481,"children":-1},"Advanced Speed Camera","/docs/jobs/policejob/reference/exports/advanced-speed-camera","1.docs/0.jobs/1.policejob/4.reference/3.exports/10.advanced-speed-camera","Reference for Advanced Speed Camera in policejob.",{"title":483,"path":484,"stem":485,"description":486,"children":-1},"Client: Escort","/docs/jobs/policejob/reference/exports/client-escort","1.docs/0.jobs/1.policejob/4.reference/3.exports/12.client-escort","Reference for Client: Escort in policejob.",[],1791814211997]