[{"data":1,"prerenderedAt":515},["ShallowReactive",2],{"/docs/base/jobs-base/client-events/emergency-dispatch":3,"/docs/base/jobs-base/client-events/emergency-dispatch-surround":501,"/docs/base/jobs-base/client-events/emergency-dispatch-implemented-suggestions":514},{"id":4,"title":5,"body":6,"description":490,"extension":491,"head":492,"implementedSuggestions":492,"meta":493,"navigation":494,"path":496,"schemaOrg":492,"seo":497,"sitemap":498,"stem":499,"__hash__":500},"docs/1.docs/base/2.jobs-base/5.client-events/1.emergency-dispatch.md","Emergency Dispatch",{"type":7,"value":8,"toc":484},"minimark",[9,14,18,23,94,99,132,210,214,248,342,346,372,439,443,449,452,472,480],[10,11,13],"h2",{"id":12},"emergency-dispatch-events","Emergency Dispatch Events",[15,16,17],"p",{},"The following events are the supported client-facing lifecycle interface for the Dispatch App.\nState is server-authoritative; listeners should treat received payloads as read-only.",[19,20,22],"h3",{"id":21},"events-emitted-to-the-client","Events emitted to the client",[24,25,26,42],"table",{},[27,28,29],"thead",{},[30,31,32,36,39],"tr",{},[33,34,35],"th",{},"Event",[33,37,38],{},"Payload",[33,40,41],{},"Description",[43,44,45,61,80],"tbody",{},[30,46,47,54,58],{},[48,49,50],"td",{},[51,52,53],"code",{},"sky_jobs_base:dispatch:stateChanged",[48,55,56],{},[51,57,24],{},[48,59,60],{},"Signals that incident, unit, center, reporter, or audit state changed.",[30,62,63,68,73],{},[48,64,65],{},[51,66,67],{},"sky_jobs_base:dispatch:unitState",[48,69,70],{},[51,71,72],{},"table | false",[48,74,75,76,79],{},"Provides the local player's current dispatch unit, or ",[51,77,78],{},"false"," after release.",[30,81,82,87,91],{},[48,83,84],{},[51,85,86],{},"sky_jobs_base:dispatch:alarm",[48,88,89],{},[51,90,24],{},[48,92,93],{},"Notifies an assigned unit about an incident and includes map target data.",[95,96,98],"h4",{"id":97},"state-changes","State changes",[15,100,101,102,105,106,109,110,113,114,113,117,120,121,113,124,127,128,131],{},"Use ",[51,103,104],{},"stateChanged"," as a refresh signal. Its ",[51,107,108],{},"type"," can be ",[51,111,112],{},"incident",", ",[51,115,116],{},"unit",[51,118,119],{},"unitReleased",",\n",[51,122,123],{},"center",[51,125,126],{},"reporters",", or ",[51,129,130],{},"audit","; additional fields depend on that type.",[133,134,140],"pre",{"className":135,"code":136,"filename":137,"language":138,"meta":139,"style":139},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","AddEventHandler(\"sky_jobs_base:dispatch:stateChanged\", function(change)\n    print(\"Dispatch state changed:\", change.type)\nend)\n","client.lua","lua","",[51,141,142,179,202],{"__ignoreMap":139},[143,144,147,151,155,159,162,164,166,170,172,176],"span",{"class":145,"line":146},"line",1,[143,148,150],{"class":149},"s2Zo4","AddEventHandler",[143,152,154],{"class":153},"sTEyZ","(",[143,156,158],{"class":157},"sMK4o","\"",[143,160,53],{"class":161},"sfazB",[143,163,158],{"class":157},[143,165,113],{"class":153},[143,167,169],{"class":168},"s7zQu","function",[143,171,154],{"class":157},[143,173,175],{"class":174},"sHdIc","change",[143,177,178],{"class":157},")\n",[143,180,182,185,187,189,192,194,197,200],{"class":145,"line":181},2,[143,183,184],{"class":149},"    print",[143,186,154],{"class":153},[143,188,158],{"class":157},[143,190,191],{"class":161},"Dispatch state changed:",[143,193,158],{"class":157},[143,195,196],{"class":153},", change.",[143,198,108],{"class":199},"sBMFI",[143,201,178],{"class":153},[143,203,205,208],{"class":145,"line":204},3,[143,206,207],{"class":168},"end",[143,209,178],{"class":153},[95,211,213],{"id":212},"unit-state","Unit state",[15,215,216,217,113,220,113,223,113,226,113,228,113,231,120,234,113,237,113,240,243,244,247],{},"An active unit payload contains ",[51,218,219],{},"plate",[51,221,222],{},"callsign",[51,224,225],{},"job",[51,227,108],{},[51,229,230],{},"statusCode",[51,232,233],{},"channel",[51,235,236],{},"frequency",[51,238,239],{},"crew",[51,241,242],{},"incidentId",", and ",[51,245,246],{},"pendingIncidentId",".",[133,249,251],{"className":135,"code":250,"filename":137,"language":138,"meta":139,"style":139},"AddEventHandler(\"sky_jobs_base:dispatch:unitState\", function(unit)\n    if unit then\n        print(\"Current dispatch unit:\", unit.callsign)\n    else\n        print(\"Released from dispatch unit\")\n    end\nend)\n",[51,252,253,275,286,307,313,329,335],{"__ignoreMap":139},[143,254,255,257,259,261,263,265,267,269,271,273],{"class":145,"line":146},[143,256,150],{"class":149},[143,258,154],{"class":153},[143,260,158],{"class":157},[143,262,67],{"class":161},[143,264,158],{"class":157},[143,266,113],{"class":153},[143,268,169],{"class":168},[143,270,154],{"class":157},[143,272,116],{"class":174},[143,274,178],{"class":157},[143,276,277,280,283],{"class":145,"line":181},[143,278,279],{"class":168},"    if",[143,281,282],{"class":153}," unit ",[143,284,285],{"class":168},"then\n",[143,287,288,291,293,295,298,300,303,305],{"class":145,"line":204},[143,289,290],{"class":149},"        print",[143,292,154],{"class":153},[143,294,158],{"class":157},[143,296,297],{"class":161},"Current dispatch unit:",[143,299,158],{"class":157},[143,301,302],{"class":153},", unit.",[143,304,222],{"class":199},[143,306,178],{"class":153},[143,308,310],{"class":145,"line":309},4,[143,311,312],{"class":168},"    else\n",[143,314,316,318,320,322,325,327],{"class":145,"line":315},5,[143,317,290],{"class":149},[143,319,154],{"class":153},[143,321,158],{"class":157},[143,323,324],{"class":161},"Released from dispatch unit",[143,326,158],{"class":157},[143,328,178],{"class":153},[143,330,332],{"class":145,"line":331},6,[143,333,334],{"class":168},"    end\n",[143,336,338,340],{"class":145,"line":337},7,[143,339,207],{"class":168},[143,341,178],{"class":153},[95,343,345],{"id":344},"unit-alarms","Unit alarms",[15,347,348,349,113,352,113,355,113,358,113,361,113,363,120,366,243,369,247],{},"An alarm payload contains ",[51,350,351],{},"id",[51,353,354],{},"number",[51,356,357],{},"title",[51,359,360],{},"message",[51,362,222],{},[51,364,365],{},"coords",[51,367,368],{},"mapTargetType",[51,370,371],{},"mapTargetId",[133,373,375],{"className":135,"code":374,"filename":137,"language":138,"meta":139,"style":139},"AddEventHandler(\"sky_jobs_base:dispatch:alarm\", function(alarm)\n    print((\"%s: %s\"):format(alarm.callsign, alarm.message))\nend)\n",[51,376,377,400,433],{"__ignoreMap":139},[143,378,379,381,383,385,387,389,391,393,395,398],{"class":145,"line":146},[143,380,150],{"class":149},[143,382,154],{"class":153},[143,384,158],{"class":157},[143,386,86],{"class":161},[143,388,158],{"class":157},[143,390,113],{"class":153},[143,392,169],{"class":168},[143,394,154],{"class":157},[143,396,397],{"class":174},"alarm",[143,399,178],{"class":157},[143,401,402,404,407,409,412,414,417,420,423,425,428,430],{"class":145,"line":181},[143,403,184],{"class":149},[143,405,406],{"class":153},"((",[143,408,158],{"class":157},[143,410,411],{"class":161},"%s: %s",[143,413,158],{"class":157},[143,415,416],{"class":153},"):",[143,418,419],{"class":149},"format",[143,421,422],{"class":153},"(alarm.",[143,424,222],{"class":199},[143,426,427],{"class":153},", alarm.",[143,429,360],{"class":199},[143,431,432],{"class":153},"))\n",[143,434,435,437],{"class":145,"line":204},[143,436,207],{"class":168},[143,438,178],{"class":153},[19,440,442],{"id":441},"event-triggered-by-the-client","Event triggered by the client",[95,444,446],{"id":445},"sky_jobs_basedispatchresolveown",[51,447,448],{},"sky_jobs_base:dispatch:resolveOwn",[15,450,451],{},"Removes all dispatches created by the calling player. Linked Dispatch App incidents are closed at\nthe same time. A common use case is resolving a distress call after the player has been treated.",[133,453,455],{"className":135,"code":454,"filename":137,"language":138,"meta":139,"style":139},"TriggerServerEvent(\"sky_jobs_base:dispatch:resolveOwn\")\n",[51,456,457],{"__ignoreMap":139},[143,458,459,462,464,466,468,470],{"class":145,"line":146},[143,460,461],{"class":149},"TriggerServerEvent",[143,463,154],{"class":153},[143,465,158],{"class":157},[143,467,448],{"class":161},[143,469,158],{"class":157},[143,471,178],{"class":153},[473,474,477],"callout",{"color":475,"icon":476},"warning","i-lucide-shield-alert",[15,478,479],{},"Incident assignment and mutation events used by the built-in Dispatch App are internal APIs. Do not\ntrigger them from integrations; use the documented exports and lifecycle events above.",[481,482,483],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--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":139,"searchDepth":146,"depth":181,"links":485},[486],{"id":12,"depth":181,"text":13,"children":487},[488,489],{"id":21,"depth":204,"text":22},{"id":441,"depth":204,"text":442},"Public client events for reacting to Emergency Dispatch state and resolving caller incidents.","md",null,{},{"icon":495},"i-lucide-siren","/docs/base/jobs-base/client-events/emergency-dispatch",{"title":5,"description":490},{"loc":496},"1.docs/base/2.jobs-base/5.client-events/1.emergency-dispatch","FaDjUXTXp0DRs-tL0nOF4wbRz0pa33lak1k1R5krRqA",[502,508],{"title":503,"path":504,"stem":505,"children":-1,"description":506,"icon":507},"Client Events","/docs/base/jobs-base/client-events","1.docs/base/2.jobs-base/5.client-events","Client-side events provided by sky_jobs_base that other resources can listen to.","i-lucide-radio",{"title":509,"path":510,"stem":511,"description":512,"icon":513,"children":-1},"Media Providers","/docs/base/jobs-base/media-providers","1.docs/base/2.jobs-base/6.media-providers","Configure FiveManage, Qbox CDN, or register a custom media provider for tablet, gallery, camera, CCTV, speedcam, and bodycam uploads.","i-lucide-cloud-upload",[],1786217465521]