[{"data":1,"prerenderedAt":357},["ShallowReactive",2],{"/docs/base/jobs-base/features/radial-and-player-interactions":3,"/docs/base/jobs-base/features/radial-and-player-interactions-surround":344,"/docs/base/jobs-base/features/radial-and-player-interactions-implemented-suggestions":356},{"id":4,"title":5,"body":6,"description":334,"extension":335,"head":336,"implementedSuggestions":336,"meta":337,"navigation":338,"path":339,"schemaOrg":336,"seo":340,"sitemap":341,"stem":342,"__hash__":343},"docs/1.docs/base/2.jobs-base/2.features/6.radial-and-player-interactions.md","Radial and Player Interactions",{"type":7,"value":8,"toc":324},"minimark",[9,14,32,119,122,126,132,236,239,243,260,263,275,279,285,293,297],[10,11,13],"h2",{"id":12},"open-the-radial","Open the radial",[15,16,17,18,22,23,27,28,31],"p",{},"The shared job radial uses ",[19,20,21],"strong",{},"G"," by default. Configure ",[24,25,26],"code",{},"Config.JobRadial"," in Jobs Base or its matching ",[24,29,30],{},"/jobconfig"," settings. Saved configurator settings take precedence over file defaults.",[33,34,35,48],"table",{},[36,37,38],"thead",{},[39,40,41,45],"tr",{},[42,43,44],"th",{},"Setting",[42,46,47],{},"Purpose",[49,50,51,62,79,89,99,109],"tbody",{},[39,52,53,59],{},[54,55,56],"td",{},[24,57,58],{},"enabled",[54,60,61],{},"Enable Sky's radial interface",[39,63,64,69],{},[54,65,66],{},[24,67,68],{},"mode",[54,70,71,74,75,78],{},[24,72,73],{},"toggle"," to open/close with a press, or ",[24,76,77],{},"hold"," to select when releasing",[39,80,81,86],{},[54,82,83],{},[24,84,85],{},"logo",[54,87,88],{},"Optional center logo; empty hides it",[39,90,91,96],{},[54,92,93],{},[24,94,95],{},"submenuOpenDelayMs",[54,97,98],{},"Hold-mode submenu delay; default 350 ms",[39,100,101,106],{},[54,102,103],{},[24,104,105],{},"keybinds.enabled",[54,107,108],{},"Enable the shared direct action keybinds independently",[39,110,111,116],{},[54,112,113],{},[24,114,115],{},"oxTarget.enabled",[54,117,118],{},"Add eligible actions to the configured ox/qb target provider",[15,120,121],{},"Disabling the radial UI does not disable direct action exports or every keybind. Target-based tablet access uses the tablet item's normal usable-item flow.",[10,123,125],{"id":124},"player-target-context","Player target context",[15,127,128,131],{},[24,129,130],{},"Config.JobRadial.targetContext"," resolves the person near the camera's look direction. An exact hit on the character's body is not required.",[33,133,134,146],{},[36,135,136],{},[39,137,138,140,144],{},[42,139,44],{},[42,141,143],{"align":142},"right","Default",[42,145,47],{},[49,147,148,162,177,192,207,222],{},[39,149,150,154,159],{},[54,151,152],{},[24,153,58],{},[54,155,156],{"align":142},[24,157,158],{},"true",[54,160,161],{},"Resolve camera context for Sky and external radial integrations",[39,163,164,169,174],{},[54,165,166],{},[24,167,168],{},"maxDistance",[54,170,171],{"align":142},[24,172,173],{},"3.0",[54,175,176],{},"Maximum context-selection distance",[39,178,179,184,189],{},[54,180,181],{},[24,182,183],{},"playerToleranceRadius",[54,185,186],{"align":142},[24,187,188],{},"1.1",[54,190,191],{},"Radius around the look line",[39,193,194,199,204],{},[54,195,196],{},[24,197,198],{},"playerToleranceAngleDegrees",[54,200,201],{"align":142},[24,202,203],{},"24.0",[54,205,206],{},"Allowed angle around the look direction",[39,208,209,214,219],{},[54,210,211],{},[24,212,213],{},"playerToleranceCloseRangeSlack",[54,215,216],{"align":142},[24,217,218],{},"0.45",[54,220,221],{},"Tolerance for a person very close to the camera origin",[39,223,224,229,233],{},[54,225,226],{},[24,227,228],{},"marker.enabled",[54,230,231],{"align":142},[24,232,158],{},[54,234,235],{},"Show the selected-person marker while Sky's radial is open",[15,237,238],{},"Selection tolerance does not increase an action's allowed server distance. Individual actions still check access, proximity, target state, items and the relevant policy.",[10,240,242],{"id":241},"restrain-then-inspect","Restrain, then inspect",[244,245,246,250,257],"ol",{},[247,248,249],"li",{},"Approach the person and use the authorized handcuff or ziptie action.",[247,251,252,253,256],{},"Once restrained, open ",[19,254,255],{},"Player interactions → Documents",".",[247,258,259],{},"Inspect the person's identity, licenses or service ID, when permitted and enabled.",[15,261,262],{},"A hands-up visitor and an officer directly behind them produce the rear-restraint workflow shown in the showcase. Standing behind someone and hands-up are not universal requirements for every handcuff action; the server chooses the applicable interaction from the actual positions and configured rules. Ziptie policy can require hands-up.",[15,264,265,266,269,270,256],{},"Document inspection reads a restrained person's data directly. It does not send the earlier identity-request/consent prompt. Showing your ",[19,267,268],{},"own"," document to someone is a separate ",[271,272,274],"a",{"href":273},"./player-documents","presentation action",[10,276,278],{"id":277},"police-crime-and-creator-jobs","Police, Crime and Creator jobs",[15,280,281,284],{},[24,282,283],{},"Config.JobPlayerInteractions.groups"," defines the shared policies. Police requires duty by default; Crime does not. Both default policies allow identity/license inspection, subject to the restrained-target requirement. Crime enables zipties rather than handcuffs by default.",[15,286,287,288,292],{},"Police and Crime register their configured jobs automatically and refresh their registration when Job Configurator settings change. Other integrations must register their owned job list through the ",[271,289,291],{"href":290},"/docs/base/jobs-base/server-exports/player-interaction-whitelist","server whitelist API",". Menu visibility never grants server access.",[10,294,296],{"id":295},"integration-reference","Integration reference",[298,299,300,306,312,318],"ul",{},[247,301,302],{},[271,303,305],{"href":304},"/docs/base/jobs-base/client-exports/radial-menu","Radial client exports",[247,307,308],{},[271,309,311],{"href":310},"/docs/base/jobs-base/client-exports/player-interactions","Restraint, escort and search client exports",[247,313,314],{},[271,315,317],{"href":316},"/docs/base/jobs-base/server-exports/player-interaction-actions","Authoritative server actions",[247,319,320],{},[271,321,323],{"href":322},"/docs/base/jobs-base/client-exports/documents","Document client exports",{"title":325,"searchDepth":326,"depth":327,"links":328},"",1,2,[329,330,331,332,333],{"id":12,"depth":327,"text":13},{"id":124,"depth":327,"text":125},{"id":241,"depth":327,"text":242},{"id":277,"depth":327,"text":278},{"id":295,"depth":327,"text":296},"Configure the shared radial, natural player targeting and authorized restraint/document workflows.","md",null,{},true,"/docs/base/jobs-base/features/radial-and-player-interactions",{"title":5,"description":334},{"loc":339},"1.docs/base/2.jobs-base/2.features/6.radial-and-player-interactions","GSH__AkBfst9oJpZg9DPGto8ASW9QBvsIOUzD6EwfHE",[345,351],{"title":346,"path":347,"stem":348,"description":349,"icon":350,"children":-1},"Player Documents","/docs/base/jobs-base/features/player-documents","1.docs/base/2.jobs-base/2.features/5.player-documents","View identity, license and service cards, customize their appearance, and configure department service numbers.","i-lucide-id-card",{"title":352,"path":353,"stem":354,"description":355,"children":-1},"Job Bells","/docs/base/jobs-base/features/job-bells","1.docs/base/2.jobs-base/2.features/7.job-bells","Place desk bells and doorbells and configure who receives visitor requests.",[],1791814188683]