[{"data":1,"prerenderedAt":489},["ShallowReactive",2],{"/docs/jobs/ambulancejob/api/client-exports/ai-medic":3,"/docs/jobs/ambulancejob/api/client-exports/ai-medic-surround":477,"/docs/jobs/ambulancejob/api/client-exports/ai-medic-implemented-suggestions":488},{"id":4,"title":5,"body":6,"description":468,"extension":469,"head":470,"implementedSuggestions":470,"meta":471,"navigation":175,"path":472,"schemaOrg":470,"seo":473,"sitemap":474,"stem":475,"__hash__":476},"docs/1.docs/0.jobs/0.ambulancejob/5.api/3.client-exports/6.ai-medic.md","AI Medic",{"type":7,"value":8,"toc":461},"minimark",[9,17,21,29,115,255,261,284,317,323,337,366,385,454,457],[10,11,12],"p",{},[13,14,16],"a",{"href":15},"/docs/jobs/ambulancejob/api/client-exports","All client exports",[18,19,5],"h2",{"id":20},"ai-medic",[22,23,25],"h3",{"id":24},"setaimedicstatestate-reason",[26,27,28],"code",{},"setAiMedicState(state, reason?)",[30,31,32,44],"ul",{},[33,34,35,39,40,43],"li",{},[36,37,38],"strong",{},"Purpose",": Updates the AI medic status shown on the death screen UI. Use this when you override the built-in AI medic via ",[26,41,42],{},"Config.Functions.onAiMedicRequest"," and need to update the UI from your own system.",[33,45,46,49,50],{},[36,47,48],{},"Arguments",":\n",[30,51,52,91],{},[33,53,54,57,58,61,62,65,66,65,69,65,72,65,75,65,78,65,81,65,84,65,87,90],{},[26,55,56],{},"state"," (",[26,59,60],{},"string","): One of ",[26,63,64],{},"\"idle\"",", ",[26,67,68],{},"\"requesting\"",[26,70,71],{},"\"dispatched\"",[26,73,74],{},"\"driving\"",[26,76,77],{},"\"arrived\"",[26,79,80],{},"\"reviving\"",[26,82,83],{},"\"finished\"",[26,85,86],{},"\"failed\"",[26,88,89],{},"\"cooldown\"",".",[33,92,93,57,96,99,100,102,103,65,106,65,109,65,112,90],{},[26,94,95],{},"reason",[26,97,98],{},"string?","): Optional failure reason when state is ",[26,101,86],{}," — ",[26,104,105],{},"\"not_enough_money\"",[26,107,108],{},"\"medics_online\"",[26,110,111],{},"\"spawn_failed\"",[26,113,114],{},"\"disabled\"",[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","-- Show \"AI medic on the way\"\nexports[\"sky_ambulancejob\"]:setAiMedicState(\"driving\")\n\n-- Show failure\nexports[\"sky_ambulancejob\"]:setAiMedicState(\"failed\", \"spawn_failed\")\n\n-- Reset to idle\nexports[\"sky_ambulancejob\"]:setAiMedicState(\"idle\")\n","lua","",[26,123,124,133,170,177,183,218,223,229],{"__ignoreMap":121},[125,126,129],"span",{"class":127,"line":128},"line",1,[125,130,132],{"class":131},"sHwdD","-- Show \"AI medic on the way\"\n",[125,134,136,140,144,148,150,153,157,160,162,165,167],{"class":127,"line":135},2,[125,137,139],{"class":138},"sTEyZ","exports[",[125,141,143],{"class":142},"sMK4o","\"",[125,145,147],{"class":146},"sfazB","sky_ambulancejob",[125,149,143],{"class":142},[125,151,152],{"class":138},"]:",[125,154,156],{"class":155},"s2Zo4","setAiMedicState",[125,158,159],{"class":138},"(",[125,161,143],{"class":142},[125,163,164],{"class":146},"driving",[125,166,143],{"class":142},[125,168,169],{"class":138},")\n",[125,171,173],{"class":127,"line":172},3,[125,174,176],{"emptyLinePlaceholder":175},true,"\n",[125,178,180],{"class":127,"line":179},4,[125,181,182],{"class":131},"-- Show failure\n",[125,184,186,188,190,192,194,196,198,200,202,205,207,209,211,214,216],{"class":127,"line":185},5,[125,187,139],{"class":138},[125,189,143],{"class":142},[125,191,147],{"class":146},[125,193,143],{"class":142},[125,195,152],{"class":138},[125,197,156],{"class":155},[125,199,159],{"class":138},[125,201,143],{"class":142},[125,203,204],{"class":146},"failed",[125,206,143],{"class":142},[125,208,65],{"class":138},[125,210,143],{"class":142},[125,212,213],{"class":146},"spawn_failed",[125,215,143],{"class":142},[125,217,169],{"class":138},[125,219,221],{"class":127,"line":220},6,[125,222,176],{"emptyLinePlaceholder":175},[125,224,226],{"class":127,"line":225},7,[125,227,228],{"class":131},"-- Reset to idle\n",[125,230,232,234,236,238,240,242,244,246,248,251,253],{"class":127,"line":231},8,[125,233,139],{"class":138},[125,235,143],{"class":142},[125,237,147],{"class":146},[125,239,143],{"class":142},[125,241,152],{"class":138},[125,243,156],{"class":155},[125,245,159],{"class":138},[125,247,143],{"class":142},[125,249,250],{"class":146},"idle",[125,252,143],{"class":142},[125,254,169],{"class":138},[22,256,258],{"id":257},"getaimedicstate",[26,259,260],{},"getAiMedicState()",[30,262,263,268],{},[33,264,265,267],{},[36,266,38],{},": Returns the current AI medic state.",[33,269,270,273,274,276,277,65,279,65,281,283],{},[36,271,272],{},"Returns",": ",[26,275,60],{}," — the current state (e.g. ",[26,278,64],{},[26,280,74],{},[26,282,80],{},").",[116,285,287],{"className":118,"code":286,"language":120,"meta":121,"style":121},"local state = exports[\"sky_ambulancejob\"]:getAiMedicState()\n",[26,288,289],{"__ignoreMap":121},[125,290,291,294,297,300,303,305,307,309,311,314],{"class":127,"line":128},[125,292,293],{"class":142},"local",[125,295,296],{"class":138}," state ",[125,298,299],{"class":142},"=",[125,301,302],{"class":138}," exports[",[125,304,143],{"class":142},[125,306,147],{"class":146},[125,308,143],{"class":142},[125,310,152],{"class":138},[125,312,313],{"class":155},"getAiMedicState",[125,315,316],{"class":138},"()\n",[22,318,320],{"id":319},"isaimedicactive",[26,321,322],{},"isAiMedicActive()",[30,324,325,330],{},[33,326,327,329],{},[36,328,38],{},": Checks if the AI medic is currently active or pending.",[33,331,332,273,334],{},[36,333,272],{},[26,335,336],{},"boolean",[116,338,340],{"className":118,"code":339,"language":120,"meta":121,"style":121},"local active = exports[\"sky_ambulancejob\"]:isAiMedicActive()\n",[26,341,342],{"__ignoreMap":121},[125,343,344,346,349,351,353,355,357,359,361,364],{"class":127,"line":128},[125,345,293],{"class":142},[125,347,348],{"class":138}," active ",[125,350,299],{"class":142},[125,352,302],{"class":138},[125,354,143],{"class":142},[125,356,147],{"class":146},[125,358,143],{"class":142},[125,360,152],{"class":138},[125,362,363],{"class":155},"isAiMedicActive",[125,365,316],{"class":138},[367,368,371],"callout",{"color":369,"icon":370},"info","i-lucide-info",[10,372,373,374,376,377,380,381,384],{},"To override the built-in AI medic with your own system, use the ",[26,375,42],{}," hook in ",[26,378,379],{},"config/functions.lua",". Return ",[26,382,383],{},"false"," to prevent the default AI medic from dispatching, then use the exports above to update the death screen UI.",[116,386,388],{"className":118,"code":387,"language":120,"meta":121,"style":121},"-- config/functions.lua\nConfig.Functions.onAiMedicRequest = function()\n    exports['my-medic-resource']:sendHelp()\n    return false -- prevent built-in AI medic\nend\n",[26,389,390,395,418,438,449],{"__ignoreMap":121},[125,391,392],{"class":127,"line":128},[125,393,394],{"class":131},"-- config/functions.lua\n",[125,396,397,400,404,406,409,412,416],{"class":127,"line":135},[125,398,399],{"class":138},"Config.",[125,401,403],{"class":402},"sBMFI","Functions",[125,405,90],{"class":138},[125,407,408],{"class":155},"onAiMedicRequest",[125,410,411],{"class":142}," =",[125,413,415],{"class":414},"s7zQu"," function",[125,417,316],{"class":142},[125,419,420,423,426,429,431,433,436],{"class":127,"line":172},[125,421,422],{"class":138},"    exports[",[125,424,425],{"class":142},"'",[125,427,428],{"class":146},"my-medic-resource",[125,430,425],{"class":142},[125,432,152],{"class":138},[125,434,435],{"class":155},"sendHelp",[125,437,316],{"class":138},[125,439,440,443,446],{"class":127,"line":179},[125,441,442],{"class":414},"    return",[125,444,445],{"class":142}," false",[125,447,448],{"class":131}," -- prevent built-in AI medic\n",[125,450,451],{"class":127,"line":185},[125,452,453],{"class":414},"end\n",[455,456],"br",{},[458,459,460],"style",{},"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}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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":121,"searchDepth":128,"depth":135,"links":462},[463],{"id":20,"depth":135,"text":5,"children":464},[465,466,467],{"id":24,"depth":172,"text":28},{"id":257,"depth":172,"text":260},{"id":319,"depth":172,"text":322},"Reference for AI Medic in ambulancejob.","md",null,{},"/docs/jobs/ambulancejob/api/client-exports/ai-medic",{"title":5,"description":468},{"loc":472},"1.docs/0.jobs/0.ambulancejob/5.api/3.client-exports/6.ai-medic","zrjZizQ99ZOlDNmyivqwI9bTdUwCMtTRg7dA-317SKc",[478,483],{"title":479,"path":480,"stem":481,"description":482,"children":-1},"Death Screen","/docs/jobs/ambulancejob/api/client-exports/death-screen","1.docs/0.jobs/0.ambulancejob/5.api/3.client-exports/5.death-screen","Reference for Death Screen in ambulancejob.",{"title":484,"path":485,"stem":486,"description":487,"children":-1},"Death Timeout","/docs/jobs/ambulancejob/api/client-exports/death-timeout","1.docs/0.jobs/0.ambulancejob/5.api/3.client-exports/7.death-timeout","Reference for Death Timeout in ambulancejob.",[],1791814178677]