[{"data":1,"prerenderedAt":717},["ShallowReactive",2],{"/docs/jobs/ambulancejob/setup/installation":3,"/docs/jobs/ambulancejob/setup/installation-surround":706,"/docs/jobs/ambulancejob/setup/installation-implemented-suggestions":716},{"id":4,"title":5,"body":6,"description":696,"extension":697,"head":698,"implementedSuggestions":698,"meta":699,"navigation":700,"path":701,"schemaOrg":698,"seo":702,"sitemap":703,"stem":704,"__hash__":705},"docs/1.docs/0.jobs/0.ambulancejob/2.setup/1.installation.md","Installation",{"type":7,"value":8,"toc":688},"minimark",[9,14,18,33,36,40,52,81,102,105,109,594,598,623,642,646,668,672,675,684],[10,11,13],"h2",{"id":12},"requirements","Requirements",[15,16,17],"p",{},"Before installing Sky Ambulance Job, update both required resources from the same CFX Portal account:",[19,20,21,28],"ul",{},[22,23,24],"li",{},[25,26,27],"code",{},"sky_base",[22,29,30],{},[25,31,32],{},"sky_jobs_base",[15,34,35],{},"Keep both dependencies up to date when updating the ambulance resource. Start your framework, inventory and targeting resources before the Sky resources.",[10,37,39],{"id":38},"remove-conflicting-resources","Remove conflicting resources",[15,41,42,43,47,48,51],{},"Before installing, ",[44,45,46],"strong",{},"stop and remove"," any other medical/ambulance resources from your ",[25,49,50],{},"server.cfg",". These will conflict with Sky Ambulance Job and cause crashes or unexpected behavior:",[19,53,54,63,71,76],{},[22,55,56,59,60],{},[25,57,58],{},"qbx-medical"," / ",[25,61,62],{},"qbx_medical",[22,64,65,59,68],{},[25,66,67],{},"qbx-ambulancejob",[25,69,70],{},"qbx_ambulancejob",[22,72,73],{},[25,74,75],{},"esx_ambulancejob",[22,77,78],{},[25,79,80],{},"qb-ambulancejob",[82,83,84],"warning",{},[15,85,86,89,90,93,94,93,96,93,99,101],{},[44,87,88],{},"QBox users:"," You must remove ",[44,91,92],{},"both"," ",[25,95,67],{},[44,97,98],{},"and",[25,100,58],{},". Removing only one is not enough — both resources interfere with the death, injury, and respawn systems.",[15,103,104],{},"The script prints a red warning in your server console if it detects any of these resources still running.",[10,106,108],{"id":107},"install-the-resource","Install the resource",[110,111,112,117,124,128,134,169,173,183,194,198,209,230,319,324,327,331,343,346,421,452,456,459,497,501,512,522,526,538,542,552,562,566,582,586],"steps",{},[113,114,116],"h3",{"id":115},"deploy-the-files","Deploy the files",[15,118,119,120,123],{},"Place the ",[25,121,122],{},"sky_ambulancejob"," resource in your server resources directory. Do not rename its resource folder.",[113,125,127],{"id":126},"configure-the-start-order","Configure the start order",[15,129,130,131,133],{},"Add the resource to ",[25,132,50],{}," after its dependencies:",[135,136,141],"pre",{"className":137,"code":138,"filename":50,"language":139,"meta":140,"style":140},"language-cfg shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Framework, SQL, inventory, target and configured integrations first\nensure sky_base\nensure sky_jobs_base\nensure sky_ambulancejob\n","cfg","",[25,142,143,151,157,163],{"__ignoreMap":140},[144,145,148],"span",{"class":146,"line":147},"line",1,[144,149,150],{},"# Framework, SQL, inventory, target and configured integrations first\n",[144,152,154],{"class":146,"line":153},2,[144,155,156],{},"ensure sky_base\n",[144,158,160],{"class":146,"line":159},3,[144,161,162],{},"ensure sky_jobs_base\n",[144,164,166],{"class":146,"line":165},4,[144,167,168],{},"ensure sky_ambulancejob\n",[113,170,172],{"id":171},"prepare-the-database","Prepare the database",[15,174,175,178,179,182],{},[25,176,177],{},"Config.AutoExecuteQuery"," is enabled by default in ",[25,180,181],{},"config/config.lua",". With this option enabled, the resource creates and updates its database tables automatically.",[15,184,185,186,189,190,193],{},"Import the included ",[25,187,188],{},"import.sql"," manually ",[44,191,192],{},"only"," if you disable automatic queries.",[113,195,197],{"id":196},"set-up-media-uploads","Set up media uploads",[15,199,200,201,208],{},"Images & videos in the tablet are uploaded to ",[202,203,207],"a",{"href":204,"rel":205},"https://fivemanage.com",[206],"nofollow","FiveManage",". The capture runs directly in the tablet UI — no extra server resource is required.",[210,211,212,223],"ol",{},[22,213,214,215,218,219,222],{},"Create an account at ",[202,216,207],{"href":204,"rel":217},[206]," and generate a ",[44,220,221],{},"Media API Key"," from your dashboard.",[22,224,225,226,229],{},"Enter your Media API Key in ",[25,227,228],{},"sky_jobs_base/config/webhooks.lua",":",[135,231,235],{"className":232,"code":233,"filename":228,"language":234,"meta":140,"style":140},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Webhooks = {\n    fivemanage = {\n        apiKey = \"your_media_api_key_here\",\n        baseUrl = \"https://api.fivemanage.com/api/v3/file\",\n        timeoutMs = 10000\n    }\n}\n","lua",[25,236,237,250,259,279,295,307,313],{"__ignoreMap":140},[144,238,239,243,247],{"class":146,"line":147},[144,240,242],{"class":241},"sTEyZ","Webhooks ",[144,244,246],{"class":245},"sMK4o","=",[144,248,249],{"class":241}," {\n",[144,251,252,255,257],{"class":146,"line":153},[144,253,254],{"class":241},"    fivemanage ",[144,256,246],{"class":245},[144,258,249],{"class":241},[144,260,261,264,266,269,273,276],{"class":146,"line":159},[144,262,263],{"class":241},"        apiKey ",[144,265,246],{"class":245},[144,267,268],{"class":245}," \"",[144,270,272],{"class":271},"sfazB","your_media_api_key_here",[144,274,275],{"class":245},"\"",[144,277,278],{"class":241},",\n",[144,280,281,284,286,288,291,293],{"class":146,"line":165},[144,282,283],{"class":241},"        baseUrl ",[144,285,246],{"class":245},[144,287,268],{"class":245},[144,289,290],{"class":271},"https://api.fivemanage.com/api/v3/file",[144,292,275],{"class":245},[144,294,278],{"class":241},[144,296,298,301,303],{"class":146,"line":297},5,[144,299,300],{"class":241},"        timeoutMs ",[144,302,246],{"class":245},[144,304,306],{"class":305},"sbssI"," 10000\n",[144,308,310],{"class":146,"line":309},6,[144,311,312],{"class":241},"    }\n",[144,314,316],{"class":146,"line":315},7,[144,317,318],{"class":241},"}\n",[82,320,321],{},[15,322,323],{},"Saving images & videos will break if you restart the script while your server runs. Make sure you test after doing a full server restart.",[325,326],"br",{},[113,328,330],{"id":329},"add-medical-items","Add medical items",[15,332,333,334,337,338,342],{},"Add every item used by the systems you keep enabled. Use the preview images inside ",[25,335,336],{},"sky_ambulancejob/config/inventory"," so they match the UI. For ready-to-copy definitions and the required/optional split, see the ",[202,339,341],{"href":340},"../reference/inventories","Inventory Items"," page.",[15,344,345],{},"The default treatment and job-shop configuration references:",[19,347,348,388,409],{},[22,349,350,351,354,355,354,358,354,361,354,364,354,367,354,370,354,373,354,376,354,379,354,382,354,385],{},"Wound care and medication: ",[25,352,353],{},"gauze",", ",[25,356,357],{},"pressure_bandage",[25,359,360],{},"quickclot",[25,362,363],{},"tourniquet",[25,365,366],{},"blood_infusion",[25,368,369],{},"saline_infusion",[25,371,372],{},"bp_medication",[25,374,375],{},"epinephrine",[25,377,378],{},"glucose",[25,380,381],{},"ibuprofen",[25,383,384],{},"oxycodon",[25,386,387],{},"morphine",[22,389,390,391,354,394,354,397,354,400,354,403,354,406],{},"Diagnostic and rescue equipment: ",[25,392,393],{},"blood_pressure",[25,395,396],{},"pulse_measurement",[25,398,399],{},"pulse_oximeter",[25,401,402],{},"glucose_meter",[25,404,405],{},"rescue_shears",[25,407,408],{},"bag_valve_mask",[22,410,411,412,354,415,354,418],{},"Mobility and public treatment: ",[25,413,414],{},"crutch",[25,416,417],{},"wheelchair",[25,419,420],{},"rescue_backpack",[15,422,423,424,354,427,430,431,434,435,438,439,354,442,354,445,430,448,451],{},"The open configuration also registers the framework-style healing items ",[25,425,426],{},"bandage",[25,428,429],{},"firstaid",", and ",[25,432,433],{},"medkit",". If you keep the example entries in ",[25,436,437],{},"config/custom_medications.lua",", also register ",[25,440,441],{},"vomex",[25,443,444],{},"kuehlpack",[25,446,447],{},"fentanyl",[25,449,450],{},"defibrillator"," with suitable icons.",[113,453,455],{"id":454},"install-the-wheelchair-model","Install the wheelchair model",[15,457,458],{},"Make sure the wheelchair that medics can use in-game exists on your server:",[19,460,461,479],{},[22,462,463,466,467,472,473,478],{},[44,464,465],{},"Pick a source:"," Download the add-on from ",[202,468,471],{"href":469,"rel":470},"https://www.gta5-mods.com/vehicles/wheelchair-add-on-sp-fivem",[206],"gta5-mods.com"," or grab the files from ",[202,474,477],{"href":475,"rel":476},"https://github.com/AndreIakko/wheelchair/tree/main",[206],"AndreIakko/wheelchair",".",[22,480,481,484,485,488,489,492,493,496],{},[44,482,483],{},"Add it as a resource:"," Place the files inside a new resource folder (for example, ",[25,486,487],{},"resources/[vehicles]/wheelchair",") with the supplied ",[25,490,491],{},"fxmanifest.lua"," and ",[25,494,495],{},"stream"," contents.",[113,498,500],{"id":499},"disable-duplicate-salaries","Disable duplicate salaries",[15,502,503,504,507,508,511],{},"Sky Jobs Base pays salaries for configured jobs. Set the framework salary values for every ambulance grade to ",[25,505,506],{},"0"," (for example in the ",[25,509,510],{},"job_grades"," table) — leaving both salary systems active produces duplicate payments.",[15,513,514,515,518,519,478],{},"If you prefer to keep your framework or an external payroll system instead, disable the built-in payroll by setting ",[25,516,517],{},"Config.Salary.enabled = false"," in ",[25,520,521],{},"sky_jobs_base/config/config.lua",[113,523,525],{"id":524},"configure-administrator-access","Configure administrator access",[15,527,528,529,533,534,342],{},"Install the global ",[202,530,532],{"href":531},"/docs/installation#permissions-bootstrap","permissions bootstrap",", assign your administrator group, and review the ",[202,535,537],{"href":536},"./permissions","Permissions",[113,539,541],{"id":540},"grant-boss-permissions","Grant boss permissions",[15,543,544,545,548,549,478],{},"Run ",[25,546,547],{},"/setboss"," once for the highest ambulance grade after a fresh installation or after clearing ",[25,550,551],{},"sky_job_permissions",[15,553,554,555,558,559,478],{},"For example, an ambulance job whose highest grade is ",[25,556,557],{},"4"," should be configured with ",[25,560,561],{},"/setboss ambulance 4",[113,563,565],{"id":564},"configure-the-job","Configure the job",[15,567,568,569,572,573,576,577,581],{},"Restart the server, run ",[25,570,571],{},"/jobconfig",", and select ",[44,574,575],{},"Ambulance Jobs",". Configure jobs and enabled systems before placing hospital points. See the ",[202,578,580],{"href":579},"./configuration","Configuration"," page for the full workflow.",[113,583,585],{"id":584},"build-the-hospital","Build the hospital",[15,587,588,589,593],{},"Hospitals and hospital beds are placed through the Job Configurator. Follow the ",[202,590,592],{"href":591},"./hospital-setup","Hospital Setup"," page to place the hospital position, duty terminal, and treatment points.",[10,595,597],{"id":596},"first-start-checklist","First-start checklist",[19,599,600,603,608,611,614,617,620],{},[22,601,602],{},"The server console shows no missing dependency, conflict, or database errors.",[22,604,605,607],{},[25,606,571],{}," lists Ambulance Jobs.",[22,609,610],{},"The ambulance job and its highest grade exist in the framework.",[22,612,613],{},"Required items exist in the selected inventory.",[22,615,616],{},"The wheelchair model loads in-game.",[22,618,619],{},"The EMS tablet shows the expected applications.",[22,621,622],{},"A test player can die, be revived, and respawn correctly.",[624,625,628],"callout",{"color":626,"icon":627},"info","i-lucide-info",[15,629,630,631,633,634,637,638,641],{},"Most day-to-day settings are managed through ",[25,632,571],{}," when ",[25,635,636],{},"Config.UseJobConfigurator"," is enabled. Static and advanced settings remain in the open ",[25,639,640],{},"config"," directory.",[10,643,645],{"id":644},"next-steps","Next steps",[19,647,648,652,656,662],{},[22,649,650],{},[202,651,580],{"href":579},[22,653,654],{},[202,655,592],{"href":591},[22,657,658],{},[202,659,661],{"href":660},"../features/vitals","Vitals and Treatment",[22,663,664],{},[202,665,667],{"href":666},"../reference/faq","FAQ",[10,669,671],{"id":670},"support","Support",[15,673,674],{},"Need help? Our support team is always ready to assist.",[676,677],"u-button",{"color":678,"icon":679,"label":680,"target":681,"to":682,"variant":683},"neutral","i-simple-icons-discord","Join Discord","_blank","https://discord.gg/sky-systems","subtle",[685,686,687],"style",{},"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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":140,"searchDepth":147,"depth":153,"links":689},[690,691,692,693,694,695],{"id":12,"depth":153,"text":13},{"id":38,"depth":153,"text":39},{"id":107,"depth":153,"text":108},{"id":596,"depth":153,"text":597},{"id":644,"depth":153,"text":645},{"id":670,"depth":153,"text":671},"Install Sky Ambulance Job, prepare its dependencies and database, and complete the first server setup.","md",null,{},true,"/docs/jobs/ambulancejob/setup/installation",{"title":5,"description":696},{"loc":701},"1.docs/0.jobs/0.ambulancejob/2.setup/1.installation","-80hp6oykdLjJcal--9pRcCAwUPCHplfwTsAA2mBALU",[707,712],{"title":708,"path":709,"stem":710,"description":711,"children":-1},"Overview","/docs/jobs/ambulancejob/overview","1.docs/0.jobs/0.ambulancejob/1.overview","Start here for an overview of Sky Ambulance Job, its main systems, setup path, and documentation sections.",{"title":580,"path":713,"stem":714,"description":715,"children":-1},"/docs/jobs/ambulancejob/setup/configuration","1.docs/0.jobs/0.ambulancejob/2.setup/2.configuration","Understand the Job Configurator, how to create an ambulance job, feature toggles, and the safe configuration workflow.",[],1784983884495]