[{"data":1,"prerenderedAt":352},["ShallowReactive",2],{"/docs/jobs/mechanicjob/reference/exports/related-shared-exports":3,"/docs/jobs/mechanicjob/reference/exports/related-shared-exports-surround":340,"/docs/jobs/mechanicjob/reference/exports/related-shared-exports-implemented-suggestions":351},{"id":4,"title":5,"body":6,"description":331,"extension":332,"head":333,"implementedSuggestions":333,"meta":334,"navigation":125,"path":335,"schemaOrg":333,"seo":336,"sitemap":337,"stem":338,"__hash__":339},"docs/1.docs/0.jobs/2.mechanicjob/4.reference/3.exports/23.related-shared-exports.md","Related Shared Exports",{"type":7,"value":8,"toc":325},"minimark",[9,17,20,24,32,45,53,63,199,214,308,315,318,321],[10,11,12],"p",{},[13,14,16],"a",{"href":15},"/docs/jobs/mechanicjob/reference/exports","All exports",[10,18,19],{},"This page documents supported public integration calls and usage examples. It does not expose or reproduce the resource's internal implementation.",[21,22,5],"h2",{"id":23},"related-shared-exports",[10,25,26,27,31],{},"The mechanic script also depends heavily on ",[28,29,30],"code",{},"sky_jobs_base"," and inherits its shared systems for creator placement, garages, storage, dispatch, and salary controls.",[33,34,37],"callout",{"color":35,"icon":36},"info","i-lucide-info",[10,38,39,40,44],{},"See the ",[13,41,43],{"href":42},"/docs/base/jobs-base/server-exports","Sky Jobs Base Server Exports"," page for shared integrations like dispatch creation, external garage registration, and salary pause/resume.",[46,47,49,52],"h3",{"id":48},"getjobstoragecoordsjobname-supplier-delivery-destinations",[28,50,51],{},"GetJobStorageCoords(jobName)"," — supplier delivery destinations",[10,54,55,62],{},[56,57,58,59,61],"strong",{},"Server-only · Provided by ",[28,60,30],{},"."," Returns all positioned storage points available to a job, including owned and explicitly shared workshop locations. Use this export in your supplier resource to find destinations for deliveries directly into workshop storage.",[64,65,71],"pre",{"className":66,"code":67,"filename":68,"language":69,"meta":70,"style":70},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","local storages = exports[\"sky_jobs_base\"]:GetJobStorageCoords(\"mechanic\")\n\nfor _, storage in ipairs(storages) do\n    print(storage.stationId, storage.coords.x, storage.coords.y, storage.coords.z)\nend\n","server.lua","lua","",[28,72,73,120,127,149,193],{"__ignoreMap":70},[74,75,78,82,86,89,92,95,98,100,103,107,110,112,115,117],"span",{"class":76,"line":77},"line",1,[74,79,81],{"class":80},"sMK4o","local",[74,83,85],{"class":84},"sTEyZ"," storages ",[74,87,88],{"class":80},"=",[74,90,91],{"class":84}," exports[",[74,93,94],{"class":80},"\"",[74,96,30],{"class":97},"sfazB",[74,99,94],{"class":80},[74,101,102],{"class":84},"]:",[74,104,106],{"class":105},"s2Zo4","GetJobStorageCoords",[74,108,109],{"class":84},"(",[74,111,94],{"class":80},[74,113,114],{"class":97},"mechanic",[74,116,94],{"class":80},[74,118,119],{"class":84},")\n",[74,121,123],{"class":76,"line":122},2,[74,124,126],{"emptyLinePlaceholder":125},true,"\n",[74,128,130,134,137,140,143,146],{"class":76,"line":129},3,[74,131,133],{"class":132},"s7zQu","for",[74,135,136],{"class":84}," _, storage ",[74,138,139],{"class":132},"in",[74,141,142],{"class":105}," ipairs",[74,144,145],{"class":84},"(storages) ",[74,147,148],{"class":132},"do\n",[74,150,152,155,158,162,165,168,170,173,175,177,179,182,184,186,188,191],{"class":76,"line":151},4,[74,153,154],{"class":105},"    print",[74,156,157],{"class":84},"(storage.",[74,159,161],{"class":160},"sBMFI","stationId",[74,163,164],{"class":84},", storage.",[74,166,167],{"class":160},"coords",[74,169,61],{"class":84},[74,171,172],{"class":160},"x",[74,174,164],{"class":84},[74,176,167],{"class":160},[74,178,61],{"class":84},[74,180,181],{"class":160},"y",[74,183,164],{"class":84},[74,185,167],{"class":160},[74,187,61],{"class":84},[74,189,190],{"class":160},"z",[74,192,119],{"class":84},[74,194,196],{"class":76,"line":195},5,[74,197,198],{"class":132},"end\n",[10,200,201,202,205,206,209,210,213],{},"Replace ",[28,203,204],{},"\"mechanic\""," with the destination job name. The result is an array of storage entries, not a ",[28,207,208],{},"success"," / ",[28,211,212],{},"data"," result table:",[215,216,217,230],"table",{},[218,219,220],"thead",{},[221,222,223,227],"tr",{},[224,225,226],"th",{},"Field",[224,228,229],{},"Description",[231,232,233,251,261,271,281,298],"tbody",{},[221,234,235,240],{},[236,237,238],"td",{},[28,239,161],{},[236,241,242,243,246,247,250],{},"Storage ID accepted by the shared ",[28,244,245],{},"AddStorageItem"," and ",[28,248,249],{},"AddStorageItems"," server exports; shared locations return the ID for the requested job",[221,252,253,258],{},[236,254,255],{},[28,256,257],{},"creatorKey",[236,259,260],{},"Creator that owns the location",[221,262,263,268],{},[236,264,265],{},[28,266,267],{},"pointUid",[236,269,270],{},"Identifier of the storage point",[221,272,273,278],{},[236,274,275],{},[28,276,277],{},"label",[236,279,280],{},"Name of the workshop/location",[221,282,283,287],{},[236,284,285],{},[28,286,167],{},[236,288,289,290,292,293,295,296],{},"Plain Lua table containing ",[28,291,172],{},", ",[28,294,181],{},", and ",[28,297,190],{},[221,299,300,305],{},[236,301,302],{},[28,303,304],{},"heading",[236,306,307],{},"Optional point heading",[10,309,310,311,314],{},"Invalid or unknown jobs and jobs without storage return ",[28,312,313],{},"{}",". Off-duty job aliases are resolved to their on-duty job. Results have no guaranteed order.",[10,316,317],{},"Call after the owning job resources have registered and loaded their creators. Query again when choosing a delivery destination: the export reads current creator data, so moved or deleted storage points are reflected in the next result. Stopped or unregistered creator resources are excluded. No direct database query is needed.",[10,319,320],{},"Send the returned points to the supplier client through your delivery script to display markers and an interaction prompt. This export only reads coordinates: it does not create an outside delivery pallet, deposit items, authorize a delivery, or pay the supplier. Your delivery script handles those actions and validates the destination, delivery, and player proximity on the server before adding items or awarding extra payment for an indoor delivery.",[322,323,324],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 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 .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":70,"searchDepth":77,"depth":122,"links":326},[327],{"id":23,"depth":122,"text":5,"children":328},[329],{"id":48,"depth":129,"text":330},"GetJobStorageCoords(jobName) — supplier delivery destinations","Reference for Related Shared Exports in mechanicjob.","md",null,{},"/docs/jobs/mechanicjob/reference/exports/related-shared-exports",{"title":5,"description":331},{"loc":335},"1.docs/0.jobs/2.mechanicjob/4.reference/3.exports/23.related-shared-exports","HcKfKivaynyMbYLkyG8UxNnwR01l7u_m9ZbV1eLSs4o",[341,346],{"title":342,"path":343,"stem":344,"description":345,"children":-1},"Client: ResetFluidLeakProvider()","/docs/jobs/mechanicjob/reference/exports/client-resetfluidleakprovider","1.docs/0.jobs/2.mechanicjob/4.reference/3.exports/22.client-resetfluidleakprovider","Reference for Client: ResetFluidLeakProvider() in mechanicjob.",{"title":347,"path":348,"stem":349,"description":350,"children":-1},"Server: Advanced Pricing exports","/docs/jobs/mechanicjob/reference/exports/server-advanced-pricing-exports","1.docs/0.jobs/2.mechanicjob/4.reference/3.exports/3.server-advanced-pricing-exports","Reference for Server: Advanced Pricing exports in mechanicjob.",[],1791814216860]