Browse docs

Inventory Items

Copyable inventory item definitions for Sky Jobs Base.

Merge only missing entries into your inventory's existing item catalogue. The blocks include shared restraints, tests, documents, printer supplies, containers, tablet/GPS equipment and all default prop-placement items. Install optional entries only for the systems you enable.

gps is needed when location tracking requires it; bodycam is needed when Config.Cctv.requireBodycamItem is enabled. Keep reusable items and server-consumed items at consume = 0 in ox_inventory and CodeM V2. Native ESX inventory cannot preserve the individual metadata required by printed documents or portable containers.

Copy supplied icons from sky_jobs_base/config/inventory. The additional GPS, tablet, bodycam and prop-placement examples need images from your inventory pack; their suggested weights can be adjusted. Phone tracking reuses your existing configured phone item. Changing an item key in /jobconfig or the resource configuration requires the same change in the inventory catalogue.

['handcuffs'] = {
    label = 'Handcuffs',
    weight = 250,
    stack = true,
    close = true,
    description = 'Metal handcuffs for restraining suspects'
},
['handcuffs_keys'] = {
    label = 'Handcuff Keys',
    weight = 100,
    stack = true,
    close = true,
    description = 'Keys used to remove metal handcuffs'
},
['zipties'] = {
    label = 'Zipties',
    weight = 100,
    stack = true,
    close = true,
    description = 'Plastic zipties for restraining suspects'
},
['wire_cutter'] = {
    label = 'Wire Cutter',
    weight = 800,
    stack = true,
    close = true,
    description = 'Tool used to cut restraints'
},
['legcuffs'] = {
    label = 'Leg Cuffs',
    weight = 300,
    stack = true,
    close = true,
    description = 'Leg restraints that slow down a restrained suspect'
},
['headbag'] = {
    label = 'Head Bag',
    weight = 250,
    stack = true,
    close = true,
    description = 'Bag used to cover a restrained suspect'
},
['drug_test_kit'] = {
    label = 'Drug Test Kit',
    weight = 100,
    stack = true,
    close = true,
    description = 'A rapid screening test for active drug influence'
},
['advanced_drug_test_kit'] = {
    label = 'Advanced Drug Test Kit',
    weight = 150,
    stack = true,
    close = true,
    description = 'A medical screening test that identifies active substances and dose amounts'
},
['fake_drug_sample_clean'] = {
    label = 'Clean Fake Drug Sample',
    weight = 100,
    stack = true,
    close = true,
    description = "A transferable clean sample that falsifies the carrier's next drug test after use"
},
['printer_paper'] = {
    consume = 0,
    label = 'Printer Paper',
    weight = 100,
    stack = true,
    close = true,
    description = 'Paper used to refill configured job printers'
},
['job_document'] = {
    label = 'Document',
    weight = 10,
    stack = false,
    close = true,
    consume = 0,
    description = 'A printed copy of a job record.',
    client = { image = 'job_document.png' },
},
['printer_ink'] = {
    label = 'Printer Ink',
    weight = 200,
    stack = true,
    close = true,
    consume = 0,
    description = 'A replacement cartridge for job printers.',
    client = { image = 'printer_ink.png' },
},
['sky_briefcase'] = {
    label = 'Briefcase',
    weight = 1500,
    stack = false,
    close = false,
    consume = 0,
    description = 'A lockable case for documents and work materials.',
    client = { image = 'sky_briefcase.png' },
    buttons = require '@sky_jobs_base.config.inventory.ox_briefcase_buttons',
},
['sky_case_folder'] = {
    label = 'Case Folder',
    weight = 450,
    stack = false,
    close = false,
    consume = 0,
    description = 'A folder for case files and loose documents.',
    client = { image = 'sky_case_folder.png' },
},
['gps'] = {
    label = 'GPS',
    weight = 150,
    stack = true,
    close = true,
    consume = 0,
    description = 'Required by enabled employee location tracking',
},
['gps_jammer'] = {
    label = 'GPS Jammer',
    weight = 300,
    stack = true,
    close = true,
    consume = 0,
    description = 'Disables a tracked employee GPS signal',
},
['tablet'] = {
    label = 'Job Tablet',
    weight = 800,
    stack = false,
    close = true,
    consume = 0,
    description = 'Opens the shared job tablet',
},
['bodycam'] = {
    label = 'Bodycam',
    weight = 500,
    stack = true,
    close = true,
    consume = 0,
    description = 'Wearable body camera for officer footage'
},
['job_traffic_cone'] = {
    label = 'Traffic Cone',
    weight = 1000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable job traffic cone',
},
['job_worklight_stand'] = {
    label = 'Worklight Stand',
    weight = 3000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable worklight stand',
},
['job_worklight'] = {
    label = 'Worklight',
    weight = 2000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable portable worklight',
},
['police_barrier'] = {
    label = 'Police Barrier',
    weight = 3000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable police barrier',
},
['police_road_barrier'] = {
    label = 'Police Road Barrier',
    weight = 5000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable road barrier',
},
['police_evidence_marker'] = {
    label = 'Evidence Marker',
    weight = 100,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable police evidence marker',
},
['police_stinger_spikes'] = {
    label = 'Spike Strip',
    weight = 3000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable police spike strip',
},
['police_checkpoint_tent'] = {
    label = 'Checkpoint Tent',
    weight = 5000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable police checkpoint tent',
},
['ambulance_barrier'] = {
    label = 'Medical Barrier',
    weight = 3000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable medical barrier',
},
['ambulance_medical_crate'] = {
    label = 'Medical Crate',
    weight = 3000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Placeable medical equipment crate',
},
['ambulance_defibrillator'] = {
    label = 'Placeable Defibrillator',
    weight = 4000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Medical defibrillator prop for scene placement',
},
['ambulance_medical_bag'] = {
    label = 'Placeable Medical Bag',
    weight = 2000,
    stack = true,
    close = true,
    consume = 0,
    description = 'Medical bag prop for scene placement',
},