[{"data":1,"prerenderedAt":1196},["ShallowReactive",2],{"/docs/base/jobs-base/client-exports/player-interactions":3,"/docs/base/jobs-base/client-exports/player-interactions-surround":1184,"/docs/base/jobs-base/client-exports/player-interactions-implemented-suggestions":1195},{"id":4,"title":5,"body":6,"description":1175,"extension":1176,"head":1177,"implementedSuggestions":1177,"meta":1178,"navigation":635,"path":1179,"schemaOrg":1177,"seo":1180,"sitemap":1181,"stem":1182,"__hash__":1183},"docs/1.docs/base/2.jobs-base/3.client-exports/4.player-interactions.md","Player Interactions",{"type":7,"value":8,"toc":1165},"minimark",[9,17,21,29,32,53,63,70,100,156,160,167,170,232,298,307,312,331,375,379,477,489,493,504,508,582,691,700,704,710,737,785,789,873,881,885,979,1013,1019,1023,1081,1155,1158,1161],[10,11,12],"p",{},[13,14,16],"a",{"href":15},"/docs/base/jobs-base/client-exports","All client exports",[18,19,5],"h2",{"id":20},"player-interactions",[10,22,23,24,28],{},"For identity and license views, see the ",[13,25,27],{"href":26},"/docs/base/jobs-base/client-exports/documents","document exports",".",[10,30,31],{},"The client exports below open or execute the shared handcuff, ziptie, leg-restraint, escort, vehicle, head-bag, and player-search flows.",[33,34,37],"callout",{"color":35,"icon":36},"warning","i-lucide-shield-check",[10,38,39,40,44,45,48,49,52],{},"Calling a client export does not grant access. The player's current job must be registered through the server export ",[41,42,43],"code",{},"registerInteractionJobs",", and the server validates the whitelist, duty state, target, distance, restraint state, and required items again when the action is executed. ",[41,46,47],{},"sky_policejob"," and ",[41,50,51],{},"sky_crimesystem"," register their configured jobs automatically.",[10,54,55,56,48,59,62],{},"The old ",[41,57,58],{},"civilianUse",[41,60,61],{},"skipAccess"," options are no longer supported. Do not pass them. For another job resource, register its jobs on the server before exposing any of these client actions.",[64,65,67],"h3",{"id":66},"hasinteractionaccesspermission",[41,68,69],{},"hasInteractionAccess(permission)",[10,71,72,73,76,77,80,81,80,84,80,87,80,90,80,93,96,97,28],{},"Returns ",[41,74,75],{},"boolean, string?"," for the local player's current server-authoritative whitelist and duty access. Permission names are ",[41,78,79],{},"cuffs",", ",[41,82,83],{},"zipties",[41,85,86],{},"legRestraints",[41,88,89],{},"escort",[41,91,92],{},"vehicle",[41,94,95],{},"headBag",", and ",[41,98,99],{},"search",[101,102,107],"pre",{"className":103,"code":104,"language":105,"meta":106,"style":106},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","local allowed, reason = exports[\"sky_jobs_base\"]:hasInteractionAccess(\"search\")\n","lua","",[41,108,109],{"__ignoreMap":106},[110,111,114,118,122,125,128,131,135,137,140,144,147,149,151,153],"span",{"class":112,"line":113},"line",1,[110,115,117],{"class":116},"sMK4o","local",[110,119,121],{"class":120},"sTEyZ"," allowed, reason ",[110,123,124],{"class":116},"=",[110,126,127],{"class":120}," exports[",[110,129,130],{"class":116},"\"",[110,132,134],{"class":133},"sfazB","sky_jobs_base",[110,136,130],{"class":116},[110,138,139],{"class":120},"]:",[110,141,143],{"class":142},"s2Zo4","hasInteractionAccess",[110,145,146],{"class":120},"(",[110,148,130],{"class":116},[110,150,99],{"class":133},[110,152,130],{"class":116},[110,154,155],{"class":120},")\n",[64,157,159],{"id":158},"handcuffs-and-zipties","Handcuffs and zipties",[161,162,164],"h4",{"id":163},"getcuffavailabilityaction-options",[41,165,166],{},"getCuffAvailability(action, options)",[10,168,169],{},"Checks whether an action is currently available without executing it.",[171,172,173,200,209,226],"ul",{},[174,175,176,179,180,183,184,80,187,80,190,80,193,196,197,28],"li",{},[41,177,178],{},"action"," (",[41,181,182],{},"string",") - ",[41,185,186],{},"cuff",[41,188,189],{},"uncuff",[41,191,192],{},"ziptie",[41,194,195],{},"unziptie",", or ",[41,198,199],{},"cut_ziptie",[174,201,202,179,205,208],{},[41,203,204],{},"options.targetId",[41,206,207],{},"number?",") - server ID of a specific target. The nearest player is used when omitted.",[174,210,211,179,214,217,218,221,222,225],{},[41,212,213],{},"options.displayOnly",[41,215,216],{},"boolean?",") - use ",[41,219,220],{},"true"," while building a menu. Missing cuff, ziptie, or cutter items and the ziptie hands-up execution requirement do not hide the action in this mode. Call the real action export without ",[41,223,224],{},"displayOnly","; it validates these requirements and returns the failure reason for the user-facing message.",[174,227,72,228,231],{},[41,229,230],{},"boolean, table?"," - availability and context or failure information.",[101,233,235],{"className":103,"code":234,"language":105,"meta":106,"style":106},"local available, context = exports[\"sky_jobs_base\"]:getCuffAvailability(\"ziptie\", {\n    targetId = targetId,\n    displayOnly = true\n})\n",[41,236,237,270,281,292],{"__ignoreMap":106},[110,238,239,241,244,246,248,250,252,254,256,259,261,263,265,267],{"class":112,"line":113},[110,240,117],{"class":116},[110,242,243],{"class":120}," available, context ",[110,245,124],{"class":116},[110,247,127],{"class":120},[110,249,130],{"class":116},[110,251,134],{"class":133},[110,253,130],{"class":116},[110,255,139],{"class":120},[110,257,258],{"class":142},"getCuffAvailability",[110,260,146],{"class":120},[110,262,130],{"class":116},[110,264,192],{"class":133},[110,266,130],{"class":116},[110,268,269],{"class":120},", {\n",[110,271,273,276,278],{"class":112,"line":272},2,[110,274,275],{"class":120},"    targetId ",[110,277,124],{"class":116},[110,279,280],{"class":120}," targetId,\n",[110,282,284,287,289],{"class":112,"line":283},3,[110,285,286],{"class":120},"    displayOnly ",[110,288,124],{"class":116},[110,290,291],{"class":116}," true\n",[110,293,295],{"class":112,"line":294},4,[110,296,297],{"class":120},"})\n",[161,299,301,48,304],{"id":300},"requestcuffcufftype-options-and-requestuncuffcufftype-options",[41,302,303],{},"requestCuff(cuffType, options)",[41,305,306],{},"requestUncuff(cuffType, options)",[10,308,309,310,28],{},"Runs the validated cuff flow for the nearest player or ",[41,311,204],{},[171,313,314,326],{},[174,315,316,179,319,183,321,323,324,28],{},[41,317,318],{},"cuffType",[41,320,182],{},[41,322,79],{}," or ",[41,325,83],{},[174,327,72,328,330],{},[41,329,75],{}," - whether the request started and an optional failure reason.",[101,332,334],{"className":103,"code":333,"language":105,"meta":106,"style":106},"exports[\"sky_jobs_base\"]:requestCuff(\"zipties\", {\n    targetId = targetId\n})\n",[41,335,336,362,371],{"__ignoreMap":106},[110,337,338,341,343,345,347,349,352,354,356,358,360],{"class":112,"line":113},[110,339,340],{"class":120},"exports[",[110,342,130],{"class":116},[110,344,134],{"class":133},[110,346,130],{"class":116},[110,348,139],{"class":120},[110,350,351],{"class":142},"requestCuff",[110,353,146],{"class":120},[110,355,130],{"class":116},[110,357,83],{"class":133},[110,359,130],{"class":116},[110,361,269],{"class":120},[110,363,364,366,368],{"class":112,"line":272},[110,365,275],{"class":120},[110,367,124],{"class":116},[110,369,370],{"class":120}," targetId\n",[110,372,373],{"class":112,"line":283},[110,374,297],{"class":120},[161,376,378],{"id":377},"nearest-player-cuff-exports","Nearest-player cuff exports",[380,381,382,395],"table",{},[383,384,385],"thead",{},[386,387,388,392],"tr",{},[389,390,391],"th",{},"Export",[389,393,394],{},"Purpose",[396,397,398,414,424,434,444,454,464],"tbody",{},[386,399,400,406],{},[401,402,403],"td",{},[41,404,405],{},"cuffPlayer(cuffType, options?)",[401,407,408,409,323,411,413],{},"Applies ",[41,410,79],{},[41,412,83],{}," to the nearest valid player.",[386,415,416,421],{},[401,417,418],{},[41,419,420],{},"uncuffPlayer(options?)",[401,422,423],{},"Removes the nearest player's current restraints.",[386,425,426,431],{},[401,427,428],{},[41,429,430],{},"cutZipties(options?)",[401,432,433],{},"Cuts the nearest player's zipties with the configured cutter.",[386,435,436,441],{},[401,437,438],{},[41,439,440],{},"isPlayerCuffed(serverId?)",[401,442,443],{},"Returns whether the selected target or local player is currently cuffed.",[386,445,446,451],{},[401,447,448],{},[41,449,450],{},"useHandcuffsItem()",[401,452,453],{},"Starts the handcuff item flow.",[386,455,456,461],{},[401,457,458],{},[41,459,460],{},"useZiptiesItem()",[401,462,463],{},"Starts the ziptie item flow.",[386,465,466,471],{},[401,467,468],{},[41,469,470],{},"getCuffConfig()",[401,472,473,474,28],{},"Returns a read-only snapshot of ",[41,475,476],{},"Config.PoliceCuffs",[10,478,479,80,482,96,485,488],{},[41,480,481],{},"useCuffPlayer",[41,483,484],{},"useUncuffPlayer",[41,486,487],{},"useCutZipties"," are compatibility aliases. They use the same job whitelist and do not bypass access checks.",[161,490,492],{"id":491},"escape-minigame","Escape minigame",[10,494,495,496,499,500,503],{},"Escape opportunities are configured through ",[41,497,498],{},"Config.PoliceCuffs.escape"," in ",[41,501,502],{},"sky_jobs_base/config/config.lua",". The server rolls the chance when restraints are applied and owns every minigame round. There is no public client export or event for forcing an escape opportunity or declaring success.",[64,505,507],{"id":506},"leg-restraints","Leg restraints",[380,509,510,518],{},[383,511,512],{},[386,513,514,516],{},[389,515,391],{},[389,517,394],{},[396,519,520,540,550,560,570],{},[386,521,522,527],{},[401,523,524],{},[41,525,526],{},"getLegRestraintsAvailability(action, options?)",[401,528,529,530,323,533,536,537,539],{},"Checks ",[41,531,532],{},"apply",[41,534,535],{},"remove"," for ",[41,538,204],{}," or the nearest player.",[386,541,542,547],{},[401,543,544],{},[41,545,546],{},"applyLegRestraints(options?)",[401,548,549],{},"Applies leg restraints to the selected valid target.",[386,551,552,557],{},[401,553,554],{},[41,555,556],{},"removeLegRestraints(options?)",[401,558,559],{},"Removes leg restraints from the selected valid target.",[386,561,562,567],{},[401,563,564],{},[41,565,566],{},"isLegRestrained()",[401,568,569],{},"Returns whether the local player currently has leg restraints.",[386,571,572,577],{},[401,573,574],{},[41,575,576],{},"getLegRestraintsConfig()",[401,578,473,579,28],{},[41,580,581],{},"Config.LegRestraints",[101,583,585],{"className":103,"code":584,"language":105,"meta":106,"style":106},"local available = exports[\"sky_jobs_base\"]:getLegRestraintsAvailability(\"apply\", {\n    targetId = targetId\n})\n\nif available then\n    exports[\"sky_jobs_base\"]:applyLegRestraints({\n        targetId = targetId\n    })\nend\n",[41,586,587,619,627,631,637,649,669,679,685],{"__ignoreMap":106},[110,588,589,591,594,596,598,600,602,604,606,609,611,613,615,617],{"class":112,"line":113},[110,590,117],{"class":116},[110,592,593],{"class":120}," available ",[110,595,124],{"class":116},[110,597,127],{"class":120},[110,599,130],{"class":116},[110,601,134],{"class":133},[110,603,130],{"class":116},[110,605,139],{"class":120},[110,607,608],{"class":142},"getLegRestraintsAvailability",[110,610,146],{"class":120},[110,612,130],{"class":116},[110,614,532],{"class":133},[110,616,130],{"class":116},[110,618,269],{"class":120},[110,620,621,623,625],{"class":112,"line":272},[110,622,275],{"class":120},[110,624,124],{"class":116},[110,626,370],{"class":120},[110,628,629],{"class":112,"line":283},[110,630,297],{"class":120},[110,632,633],{"class":112,"line":294},[110,634,636],{"emptyLinePlaceholder":635},true,"\n",[110,638,640,644,646],{"class":112,"line":639},5,[110,641,643],{"class":642},"s7zQu","if",[110,645,593],{"class":120},[110,647,648],{"class":642},"then\n",[110,650,652,655,657,659,661,663,666],{"class":112,"line":651},6,[110,653,654],{"class":120},"    exports[",[110,656,130],{"class":116},[110,658,134],{"class":133},[110,660,130],{"class":116},[110,662,139],{"class":120},[110,664,665],{"class":142},"applyLegRestraints",[110,667,668],{"class":120},"({\n",[110,670,672,675,677],{"class":112,"line":671},7,[110,673,674],{"class":120},"        targetId ",[110,676,124],{"class":116},[110,678,370],{"class":120},[110,680,682],{"class":112,"line":681},8,[110,683,684],{"class":120},"    })\n",[110,686,688],{"class":112,"line":687},9,[110,689,690],{"class":642},"end\n",[10,692,693,694,696,697,28],{},"The acting job needs the ",[41,695,86],{}," permission. The server also validates the target, distance, vehicle state, item requirement, current restraint state, and ",[41,698,699],{},"Config.LegRestraints.requireCuffed",[64,701,703],{"id":702},"escort-and-vehicle-actions","Escort and vehicle actions",[161,705,707],{"id":706},"getescortavailabilityaction-options",[41,708,709],{},"getEscortAvailability(action, options)",[171,711,712,726,733],{},[174,713,714,179,716,183,718,80,720,196,723,28],{},[41,715,178],{},[41,717,182],{},[41,719,89],{},[41,721,722],{},"place_in_vehicle",[41,724,725],{},"take_out_vehicle",[174,727,728,179,730,732],{},[41,729,204],{},[41,731,207],{},") - specific target for the escort action.",[174,734,72,735,28],{},[41,736,230],{},[101,738,740],{"className":103,"code":739,"language":105,"meta":106,"style":106},"local available = exports[\"sky_jobs_base\"]:getEscortAvailability(\"escort\", {\n    targetId = targetId\n})\n",[41,741,742,773,781],{"__ignoreMap":106},[110,743,744,746,748,750,752,754,756,758,760,763,765,767,769,771],{"class":112,"line":113},[110,745,117],{"class":116},[110,747,593],{"class":120},[110,749,124],{"class":116},[110,751,127],{"class":120},[110,753,130],{"class":116},[110,755,134],{"class":133},[110,757,130],{"class":116},[110,759,139],{"class":120},[110,761,762],{"class":142},"getEscortAvailability",[110,764,146],{"class":120},[110,766,130],{"class":116},[110,768,89],{"class":133},[110,770,130],{"class":116},[110,772,269],{"class":120},[110,774,775,777,779],{"class":112,"line":272},[110,776,275],{"class":120},[110,778,124],{"class":116},[110,780,370],{"class":120},[110,782,783],{"class":112,"line":283},[110,784,297],{"class":120},[161,786,788],{"id":787},"escort-exports","Escort exports",[380,790,791,799],{},[383,792,793],{},[386,794,795,797],{},[389,796,391],{},[389,798,394],{},[396,800,801,811,821,831,841,851,861],{},[386,802,803,808],{},[401,804,805],{},[41,806,807],{},"escortToggle()",[401,809,810],{},"Starts or stops escorting the nearest cuffed player.",[386,812,813,818],{},[401,814,815],{},[41,816,817],{},"escortToggleTarget(targetId, options?)",[401,819,820],{},"Starts or stops escorting a specific cuffed player.",[386,822,823,828],{},[401,824,825],{},[41,826,827],{},"escortPutInVehicle()",[401,829,830],{},"Places the currently escorted player in the nearest valid vehicle.",[386,832,833,838],{},[401,834,835],{},[41,836,837],{},"escortTakeOutVehicle()",[401,839,840],{},"Removes a cuffed player from the nearest vehicle.",[386,842,843,848],{},[401,844,845],{},[41,846,847],{},"escortPlaceInVehicle(options?)",[401,849,850],{},"Availability-driven variant used by menu integrations.",[386,852,853,858],{},[401,854,855],{},[41,856,857],{},"escortRemoveFromVehicle(options?)",[401,859,860],{},"Availability-driven removal variant.",[386,862,863,868],{},[401,864,865],{},[41,866,867],{},"getEscortConfig()",[401,869,473,870,28],{},[41,871,872],{},"Config.PoliceEscort",[10,874,875,876,48,878,880],{},"The ",[41,877,89],{},[41,879,92],{}," permissions are separate. A job can be allowed to escort players without being allowed to place them in or remove them from vehicles.",[64,882,884],{"id":883},"head-bag","Head bag",[380,886,887,895],{},[383,888,889],{},[386,890,891,893],{},[389,892,391],{},[389,894,394],{},[396,896,897,912,922,932,944,957,967],{},[386,898,899,904],{},[401,900,901],{},[41,902,903],{},"getHeadBagAvailability(action, options?)",[401,905,529,906,323,908,536,910,539],{},[41,907,532],{},[41,909,535],{},[41,911,204],{},[386,913,914,919],{},[401,915,916],{},[41,917,918],{},"applyHeadBag(options?)",[401,920,921],{},"Applies a head bag to the selected valid target.",[386,923,924,929],{},[401,925,926],{},[41,927,928],{},"removeHeadBag(options?)",[401,930,931],{},"Removes the selected target's head bag.",[386,933,934,939],{},[401,935,936],{},[41,937,938],{},"useHeadBag(options?)",[401,940,941,942,28],{},"Toggles a head bag on the nearest player or ",[41,943,204],{},[386,945,946,951],{},[401,947,948],{},[41,949,950],{},"useHeadBagTarget(options?)",[401,952,953,954,28],{},"Compatibility alias for ",[41,955,956],{},"useHeadBag",[386,958,959,964],{},[401,960,961],{},[41,962,963],{},"isHeadBagged()",[401,965,966],{},"Returns whether the local player is currently hooded.",[386,968,969,974],{},[401,970,971],{},[41,972,973],{},"getHeadBagConfig()",[401,975,473,976,28],{},[41,977,978],{},"Config.HeadBag",[101,980,982],{"className":103,"code":981,"language":105,"meta":106,"style":106},"exports[\"sky_jobs_base\"]:applyHeadBag({\n    targetId = targetId\n})\n",[41,983,984,1001,1009],{"__ignoreMap":106},[110,985,986,988,990,992,994,996,999],{"class":112,"line":113},[110,987,340],{"class":120},[110,989,130],{"class":116},[110,991,134],{"class":133},[110,993,130],{"class":116},[110,995,139],{"class":120},[110,997,998],{"class":142},"applyHeadBag",[110,1000,668],{"class":120},[110,1002,1003,1005,1007],{"class":112,"line":272},[110,1004,275],{"class":120},[110,1006,124],{"class":116},[110,1008,370],{"class":120},[110,1010,1011],{"class":112,"line":283},[110,1012,297],{"class":120},[10,1014,1015,1016,1018],{},"Applying or removing a head bag from another player requires the ",[41,1017,95],{}," whitelist permission. A hooded player may still use the configured self-remove flow.",[64,1020,1022],{"id":1021},"player-search","Player search",[380,1024,1025,1033],{},[383,1026,1027],{},[386,1028,1029,1031],{},[389,1030,391],{},[389,1032,394],{},[396,1034,1035,1045,1055,1067],{},[386,1036,1037,1042],{},[401,1038,1039],{},[41,1040,1041],{},"getPlayerSearchAvailability(options?)",[401,1043,1044],{},"Checks the nearest target.",[386,1046,1047,1052],{},[401,1048,1049],{},[41,1050,1051],{},"getTargetPlayerSearchAvailability(targetId, options?)",[401,1053,1054],{},"Checks a specific target.",[386,1056,1057,1062],{},[401,1058,1059],{},[41,1060,1061],{},"getPlayerSearchConfig()",[401,1063,473,1064,28],{},[41,1065,1066],{},"Config.PlayerSearch",[386,1068,1069,1074],{},[401,1070,1071],{},[41,1072,1073],{},"startPlayerSearch(context?)",[401,1075,1076,1077,1080],{},"Starts the search UI for ",[41,1078,1079],{},"context.targetId"," or the nearest target.",[101,1082,1084],{"className":103,"code":1083,"language":105,"meta":106,"style":106},"local available = exports[\"sky_jobs_base\"]:getTargetPlayerSearchAvailability(targetId)\n\nif available then\n    exports[\"sky_jobs_base\"]:startPlayerSearch({\n        targetId = targetId\n    })\nend\n",[41,1085,1086,1110,1114,1122,1139,1147,1151],{"__ignoreMap":106},[110,1087,1088,1090,1092,1094,1096,1098,1100,1102,1104,1107],{"class":112,"line":113},[110,1089,117],{"class":116},[110,1091,593],{"class":120},[110,1093,124],{"class":116},[110,1095,127],{"class":120},[110,1097,130],{"class":116},[110,1099,134],{"class":133},[110,1101,130],{"class":116},[110,1103,139],{"class":120},[110,1105,1106],{"class":142},"getTargetPlayerSearchAvailability",[110,1108,1109],{"class":120},"(targetId)\n",[110,1111,1112],{"class":112,"line":272},[110,1113,636],{"emptyLinePlaceholder":635},[110,1115,1116,1118,1120],{"class":112,"line":283},[110,1117,643],{"class":642},[110,1119,593],{"class":120},[110,1121,648],{"class":642},[110,1123,1124,1126,1128,1130,1132,1134,1137],{"class":112,"line":294},[110,1125,654],{"class":120},[110,1127,130],{"class":116},[110,1129,134],{"class":133},[110,1131,130],{"class":116},[110,1133,139],{"class":120},[110,1135,1136],{"class":142},"startPlayerSearch",[110,1138,668],{"class":120},[110,1140,1141,1143,1145],{"class":112,"line":639},[110,1142,674],{"class":120},[110,1144,124],{"class":116},[110,1146,370],{"class":120},[110,1148,1149],{"class":112,"line":651},[110,1150,684],{"class":120},[110,1152,1153],{"class":112,"line":671},[110,1154,690],{"class":642},[10,1156,1157],{},"The target must be nearby and restrained. Inventory reads and every item transfer are validated again on the server.",[1159,1160],"br",{},[1162,1163,1164],"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}",{"title":106,"searchDepth":113,"depth":272,"links":1166},[1167],{"id":20,"depth":272,"text":5,"children":1168},[1169,1170,1171,1172,1173,1174],{"id":66,"depth":283,"text":69},{"id":158,"depth":283,"text":159},{"id":506,"depth":283,"text":507},{"id":702,"depth":283,"text":703},{"id":883,"depth":283,"text":884},{"id":1021,"depth":283,"text":1022},"Reference for Player Interactions in sky_jobs_base.","md",null,{},"/docs/base/jobs-base/client-exports/player-interactions",{"title":5,"description":1175},{"loc":1179},"1.docs/base/2.jobs-base/3.client-exports/4.player-interactions","zyBqZY1HRH_v6vgumdOSWP7mm2oCI_I-dVXwGt2Xgfk",[1185,1190],{"title":1186,"path":26,"stem":1187,"description":1188,"icon":1189,"children":-1},"Documents","1.docs/base/2.jobs-base/3.client-exports/3.documents","Client exports for viewing your own documents and inspecting a selected player's identity, licenses or service ID.","i-lucide-id-card",{"title":1191,"path":1192,"stem":1193,"description":1194,"children":-1},"Radial Menu","/docs/base/jobs-base/client-exports/radial-menu","1.docs/base/2.jobs-base/3.client-exports/5.radial-menu","Reference for Radial Menu in sky_jobs_base.",[],1791814188415]