[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"/docs/jobs/ambulancejob/setup/installation":3,"/docs/jobs/ambulancejob/setup/installation-surround":645,"/docs/jobs/ambulancejob/setup/installation-implemented-suggestions":655},{"id":4,"title":5,"body":6,"description":635,"extension":636,"head":637,"implementedSuggestions":637,"meta":638,"navigation":639,"path":640,"schemaOrg":637,"seo":641,"sitemap":642,"stem":643,"__hash__":644},"docs/1.docs/0.jobs/0.ambulancejob/2.setup/1.installation.md","Installation",{"type":7,"value":8,"toc":627},"minimark",[9,14,18,33,36,40,52,81,102,105,109,533,537,562,581,585,607,611,614,623],[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,143,147,157,168,172,183,204,301,306,309,313,325,392,396,399,436,440,451,461,465,477,481,491,501,505,521,525],"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,134,136,137,139,140,142],{},"Add the resource to ",[25,132,50],{}," after its dependencies. A typical order is your framework and integrations first, followed by ",[25,135,27],{},", ",[25,138,32],{},", and finally ",[25,141,122],{},".",[113,144,146],{"id":145},"prepare-the-database","Prepare the database",[15,148,149,152,153,156],{},[25,150,151],{},"Config.AutoExecuteQuery"," is enabled by default in ",[25,154,155],{},"config/config.lua",". With this option enabled, the resource creates and updates its database tables automatically.",[15,158,159,160,163,164,167],{},"Import the included ",[25,161,162],{},"import.sql"," manually ",[44,165,166],{},"only"," if you disable automatic queries.",[113,169,171],{"id":170},"set-up-media-uploads","Set up media uploads",[15,173,174,175,182],{},"Images & videos in the tablet are uploaded to ",[176,177,181],"a",{"href":178,"rel":179},"https://fivemanage.com",[180],"nofollow","FiveManage",". The capture runs directly in the tablet UI — no extra server resource is required.",[184,185,186,197],"ol",{},[22,187,188,189,192,193,196],{},"Create an account at ",[176,190,181],{"href":178,"rel":191},[180]," and generate a ",[44,194,195],{},"Media API Key"," from your dashboard.",[22,198,199,200,203],{},"Enter your Media API Key in ",[25,201,202],{},"sky_jobs_base/config/webhooks.lua",":",[205,206,211],"pre",{"className":207,"code":208,"filename":202,"language":209,"meta":210,"style":210},"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,212,213,229,239,260,277,289,295],{"__ignoreMap":210},[214,215,218,222,226],"span",{"class":216,"line":217},"line",1,[214,219,221],{"class":220},"sTEyZ","Webhooks ",[214,223,225],{"class":224},"sMK4o","=",[214,227,228],{"class":220}," {\n",[214,230,232,235,237],{"class":216,"line":231},2,[214,233,234],{"class":220},"    fivemanage ",[214,236,225],{"class":224},[214,238,228],{"class":220},[214,240,242,245,247,250,254,257],{"class":216,"line":241},3,[214,243,244],{"class":220},"        apiKey ",[214,246,225],{"class":224},[214,248,249],{"class":224}," \"",[214,251,253],{"class":252},"sfazB","your_media_api_key_here",[214,255,256],{"class":224},"\"",[214,258,259],{"class":220},",\n",[214,261,263,266,268,270,273,275],{"class":216,"line":262},4,[214,264,265],{"class":220},"        baseUrl ",[214,267,225],{"class":224},[214,269,249],{"class":224},[214,271,272],{"class":252},"https://api.fivemanage.com/api/v3/file",[214,274,256],{"class":224},[214,276,259],{"class":220},[214,278,280,283,285],{"class":216,"line":279},5,[214,281,282],{"class":220},"        timeoutMs ",[214,284,225],{"class":224},[214,286,288],{"class":287},"sbssI"," 10000\n",[214,290,292],{"class":216,"line":291},6,[214,293,294],{"class":220},"    }\n",[214,296,298],{"class":216,"line":297},7,[214,299,300],{"class":220},"}\n",[82,302,303],{},[15,304,305],{},"Saving images & videos will break if you restart the script while your server runs. Make sure you test after doing a full server restart.",[307,308],"br",{},[113,310,312],{"id":311},"add-medical-items","Add medical items",[15,314,315,316,319,320,324],{},"Add the following items to your inventory script. Use the preview images inside ",[25,317,318],{},"sky_ambulancejob/config/inventory"," so they match the UI. For ready-to-copy definitions, see the ",[176,321,323],{"href":322},"../reference/inventories","Inventory Items"," page.",[19,326,327,332,337,342,347,352,357,362,367,372,377,382,387],{},[22,328,329],{},[25,330,331],{},"gauze",[22,333,334],{},[25,335,336],{},"blood_infusion",[22,338,339],{},[25,340,341],{},"crutch",[22,343,344],{},[25,345,346],{},"wheelchair",[22,348,349],{},[25,350,351],{},"glucose",[22,353,354],{},[25,355,356],{},"rescue_backpack",[22,358,359],{},[25,360,361],{},"saline_infusion",[22,363,364],{},[25,365,366],{},"quickclot",[22,368,369],{},[25,370,371],{},"tourniquet",[22,373,374],{},[25,375,376],{},"ibuprofen",[22,378,379],{},[25,380,381],{},"oxycodon",[22,383,384],{},[25,385,386],{},"morphine",[22,388,389],{},[25,390,391],{},"bp_medication",[113,393,395],{"id":394},"install-the-wheelchair-model","Install the wheelchair model",[15,397,398],{},"Make sure the wheelchair that medics can use in-game exists on your server:",[19,400,401,418],{},[22,402,403,406,407,412,413,142],{},[44,404,405],{},"Pick a source:"," Download the add-on from ",[176,408,411],{"href":409,"rel":410},"https://www.gta5-mods.com/vehicles/wheelchair-add-on-sp-fivem",[180],"gta5-mods.com"," or grab the files from ",[176,414,417],{"href":415,"rel":416},"https://github.com/AndreIakko/wheelchair/tree/main",[180],"AndreIakko/wheelchair",[22,419,420,423,424,427,428,431,432,435],{},[44,421,422],{},"Add it as a resource:"," Place the files inside a new resource folder (for example, ",[25,425,426],{},"resources/[vehicles]/wheelchair",") with the supplied ",[25,429,430],{},"fxmanifest.lua"," and ",[25,433,434],{},"stream"," contents.",[113,437,439],{"id":438},"disable-duplicate-salaries","Disable duplicate salaries",[15,441,442,443,446,447,450],{},"Sky Jobs Base pays salaries for configured jobs. Set the framework salary values for every ambulance grade to ",[25,444,445],{},"0"," (for example in the ",[25,448,449],{},"job_grades"," table) — leaving both salary systems active produces duplicate payments.",[15,452,453,454,457,458,142],{},"If you prefer to keep your framework or an external payroll system instead, disable the built-in payroll by setting ",[25,455,456],{},"Config.Salary.enabled = false"," in ",[25,459,460],{},"sky_jobs_base/config/config.lua",[113,462,464],{"id":463},"configure-administrator-access","Configure administrator access",[15,466,467,468,472,473,324],{},"Install the global ",[176,469,471],{"href":470},"/docs/installation#permissions-bootstrap","permissions bootstrap",", assign your administrator group, and review the ",[176,474,476],{"href":475},"./permissions","Permissions",[113,478,480],{"id":479},"grant-boss-permissions","Grant boss permissions",[15,482,483,484,487,488,142],{},"Run ",[25,485,486],{},"/setboss"," once for the highest ambulance grade after a fresh installation or after clearing ",[25,489,490],{},"sky_job_permissions",[15,492,493,494,497,498,142],{},"For example, an ambulance job whose highest grade is ",[25,495,496],{},"4"," should be configured with ",[25,499,500],{},"/setboss ambulance 4",[113,502,504],{"id":503},"configure-the-job","Configure the job",[15,506,507,508,511,512,515,516,520],{},"Restart the server, run ",[25,509,510],{},"/jobconfig",", and select ",[44,513,514],{},"Ambulance Jobs",". Configure jobs and enabled systems before placing hospital points. See the ",[176,517,519],{"href":518},"./configuration","Configuration"," page for the full workflow.",[113,522,524],{"id":523},"build-the-hospital","Build the hospital",[15,526,527,528,532],{},"Hospitals and hospital beds are placed through the Job Configurator. Follow the ",[176,529,531],{"href":530},"./hospital-setup","Hospital Setup"," page to place the hospital position, duty terminal, and treatment points.",[10,534,536],{"id":535},"first-start-checklist","First-start checklist",[19,538,539,542,547,550,553,556,559],{},[22,540,541],{},"The server console shows no missing dependency, conflict, or database errors.",[22,543,544,546],{},[25,545,510],{}," lists Ambulance Jobs.",[22,548,549],{},"The ambulance job and its highest grade exist in the framework.",[22,551,552],{},"Required items exist in the selected inventory.",[22,554,555],{},"The wheelchair model loads in-game.",[22,557,558],{},"The EMS tablet shows the expected applications.",[22,560,561],{},"A test player can die, be revived, and respawn correctly.",[563,564,567],"callout",{"color":565,"icon":566},"info","i-lucide-info",[15,568,569,570,572,573,576,577,580],{},"Most day-to-day settings are managed through ",[25,571,510],{}," when ",[25,574,575],{},"Config.UseJobConfigurator"," is enabled. Static and advanced settings remain in the open ",[25,578,579],{},"config"," directory.",[10,582,584],{"id":583},"next-steps","Next steps",[19,586,587,591,595,601],{},[22,588,589],{},[176,590,519],{"href":518},[22,592,593],{},[176,594,531],{"href":530},[22,596,597],{},[176,598,600],{"href":599},"../features/vitals","Vitals and Treatment",[22,602,603],{},[176,604,606],{"href":605},"../reference/faq","FAQ",[10,608,610],{"id":609},"support","Support",[15,612,613],{},"Need help? Our support team is always ready to assist.",[615,616],"u-button",{"color":617,"icon":618,"label":619,"target":620,"to":621,"variant":622},"neutral","i-simple-icons-discord","Join Discord","_blank","https://discord.gg/sky-systems","subtle",[624,625,626],"style",{},"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}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":210,"searchDepth":217,"depth":231,"links":628},[629,630,631,632,633,634],{"id":12,"depth":231,"text":13},{"id":38,"depth":231,"text":39},{"id":107,"depth":231,"text":108},{"id":535,"depth":231,"text":536},{"id":583,"depth":231,"text":584},{"id":609,"depth":231,"text":610},"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":635},{"loc":640},"1.docs/0.jobs/0.ambulancejob/2.setup/1.installation","4SDyqQwSaE3UFo8LGIl6A1TMm-JpPe-N3IOlUrPCuaI",[646,651],{"title":647,"path":648,"stem":649,"description":650,"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":519,"path":652,"stem":653,"description":654,"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.",[],1783080557666]