Browse docs
Inventory Items
The restraint runtime belongs to sky_jobs_base, so its inventory items must be installed even when
you use the Crime System without the Police Job.
| Item | Used by | Default requirement |
|---|---|---|
handcuffs | Metal handcuffs | Required and consumed on use |
zipties | Plastic restraints | Required and consumed on use |
wire_cutter | Cutting zipties | Required when the cutter action is used |
legcuffs | Leg restraints | Optional while Config.LegRestraints.requireItem = false |
headbag | Head-bag interaction | Required |
The keys and requirement behavior are configured in sky_jobs_base/config/config.lua under
Config.PoliceCuffs, Config.LegRestraints, and Config.HeadBag.
Other item-backed Jobs Base systems
The default Jobs Base configuration also contains these item-backed systems. Register the matching items for every system you keep enabled, or disable/remove the item binding before first start.
| Item or config | Used by | Default behavior |
|---|---|---|
gps_jammer | Config.EmployeeGpsJammer | Enabled, required, and consumed on use |
tablet | Config.Tablet.item | Registers a usable tablet item; radial access does not require it by default |
gps | Config.ColleagueMapBlips.item | Only required when requireItem = true |
Config.PropPlacement.items | Usable Police/Ambulance props | Enabled; each retained entry needs its configured item |
The shipped prop-item keys are:
- Shared:
job_traffic_cone,job_worklight_stand,job_worklight - Police:
police_barrier,police_road_barrier,police_evidence_marker,police_stinger_spikes,police_checkpoint_tent - Ambulance:
ambulance_barrier,ambulance_medical_crate,ambulance_defibrillator,ambulance_medical_bag
Jobs Base does not ship preview images for these additional items. Supply matching images from your
inventory pack, rename the configured keys to existing items, or disable the corresponding system.
Set Config.Tablet.item = "" when the tablet should not register a usable item.
Config.EmployeeGpsJammer, Config.Tablet, Config.ColleagueMapBlips, and
Config.PropPlacement.items.Restraint definitions
Copy the supplied handcuffs.png, zipties.png, wire_cutter.png, legcuffs.png, and
headbag.png files from sky_jobs_base/config/inventory into your inventory image folder.
['handcuffs'] = {
label = 'Handcuffs',
weight = 250,
stack = true,
close = true,
description = 'Metal handcuffs for restraining suspects'
},
['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'
},
['handcuffs'] = {
['name'] = 'handcuffs', ['label'] = 'Handcuffs', ['weight'] = 250,
['type'] = 'item', ['image'] = 'handcuffs.png', ['unique'] = false,
['rare'] = 'common', ['useable'] = true, ['shouldClose'] = true,
['combinable'] = nil, ['description'] = 'Metal handcuffs for restraining suspects'
},
['zipties'] = {
['name'] = 'zipties', ['label'] = 'Zipties', ['weight'] = 100,
['type'] = 'item', ['image'] = 'zipties.png', ['unique'] = false,
['rare'] = 'common', ['useable'] = true, ['shouldClose'] = true,
['combinable'] = nil, ['description'] = 'Plastic zipties for restraining suspects'
},
['wire_cutter'] = {
['name'] = 'wire_cutter', ['label'] = 'Wire Cutter', ['weight'] = 800,
['type'] = 'item', ['image'] = 'wire_cutter.png', ['unique'] = false,
['rare'] = 'common', ['useable'] = true, ['shouldClose'] = true,
['combinable'] = nil, ['description'] = 'Tool used to cut restraints'
},
['legcuffs'] = {
['name'] = 'legcuffs', ['label'] = 'Leg Cuffs', ['weight'] = 300,
['type'] = 'item', ['image'] = 'legcuffs.png', ['unique'] = false,
['rare'] = 'common', ['useable'] = true, ['shouldClose'] = true,
['combinable'] = nil, ['description'] = 'Leg restraints that slow down a restrained suspect'
},
['headbag'] = {
['name'] = 'headbag', ['label'] = 'Head Bag', ['weight'] = 250,
['type'] = 'item', ['image'] = 'headbag.png', ['unique'] = false,
['rare'] = 'common', ['useable'] = true, ['shouldClose'] = true,
['combinable'] = nil, ['description'] = 'Bag used to cover a restrained suspect'
},
handcuffs = {name = 'handcuffs', label = 'Handcuffs', weight = 250, shouldClose = true, description = 'Metal handcuffs for restraining suspects', unique = false, type = 'item', image = 'handcuffs.png', useable = true},
zipties = {name = 'zipties', label = 'Zipties', weight = 100, shouldClose = true, description = 'Plastic zipties for restraining suspects', unique = false, type = 'item', image = 'zipties.png', useable = true},
wire_cutter = {name = 'wire_cutter', label = 'Wire Cutter', weight = 800, shouldClose = true, description = 'Tool used to cut restraints', unique = false, type = 'item', image = 'wire_cutter.png', useable = true},
legcuffs = {name = 'legcuffs', label = 'Leg Cuffs', weight = 300, shouldClose = true, description = 'Leg restraints that slow down a restrained suspect', unique = false, type = 'item', image = 'legcuffs.png', useable = true},
headbag = {name = 'headbag', label = 'Head Bag', weight = 250, shouldClose = true, description = 'Bag used to cover a restrained suspect', unique = false, type = 'item', image = 'headbag.png', useable = true},
handcuffs = {
label = 'Handcuffs', weight = 250, type = 'item', image = 'handcuffs.png',
hasMetadata = false, useable = true, shouldClose = true,
description = 'Metal handcuffs for restraining suspects'
},
zipties = {
label = 'Zipties', weight = 100, type = 'item', image = 'zipties.png',
hasMetadata = false, useable = true, shouldClose = true,
description = 'Plastic zipties for restraining suspects'
},
wire_cutter = {
label = 'Wire Cutter', weight = 800, type = 'item', image = 'wire_cutter.png',
hasMetadata = false, useable = true, shouldClose = true,
description = 'Tool used to cut restraints'
},
legcuffs = {
label = 'Leg Cuffs', weight = 300, type = 'item', image = 'legcuffs.png',
hasMetadata = false, useable = true, shouldClose = true,
description = 'Leg restraints that slow down a restrained suspect'
},
headbag = {
label = 'Head Bag', weight = 250, type = 'item', image = 'headbag.png',
hasMetadata = false, useable = true, shouldClose = true,
description = 'Bag used to cover a restrained suspect'
},
['handcuffs'] = {
label = 'Handcuffs', weight = 0.25, stackable = true, close = true,
maxStack = 100, type = 'item', rarity = 'common', image = 'handcuffs.png',
description = 'Metal handcuffs for restraining suspects'
},
['zipties'] = {
label = 'Zipties', weight = 0.1, stackable = true, close = true,
maxStack = 100, type = 'item', rarity = 'common', image = 'zipties.png',
description = 'Plastic zipties for restraining suspects'
},
['wire_cutter'] = {
label = 'Wire Cutter', weight = 0.8, stackable = true, close = true,
maxStack = 100, type = 'item', rarity = 'common', image = 'wire_cutter.png',
description = 'Tool used to cut restraints'
},
['legcuffs'] = {
label = 'Leg Cuffs', weight = 0.3, stackable = true, close = true,
maxStack = 100, type = 'item', rarity = 'common', image = 'legcuffs.png',
description = 'Leg restraints that slow down a restrained suspect'
},
['headbag'] = {
label = 'Head Bag', weight = 0.25, stackable = true, close = true,
maxStack = 100, type = 'item', rarity = 'common', image = 'headbag.png',
description = 'Bag used to cover a restrained suspect'
},
["handcuffs"] = {
["name"] = "handcuffs", ["label"] = "Handcuffs", ["weight"] = 250,
["type"] = "item", ["image"] = "handcuffs.png", ["unique"] = false,
["usable"] = true, ["shouldClose"] = true,
["description"] = "Metal handcuffs for restraining suspects"
},
["zipties"] = {
["name"] = "zipties", ["label"] = "Zipties", ["weight"] = 100,
["type"] = "item", ["image"] = "zipties.png", ["unique"] = false,
["usable"] = true, ["shouldClose"] = true,
["description"] = "Plastic zipties for restraining suspects"
},
["wire_cutter"] = {
["name"] = "wire_cutter", ["label"] = "Wire Cutter", ["weight"] = 800,
["type"] = "item", ["image"] = "wire_cutter.png", ["unique"] = false,
["usable"] = true, ["shouldClose"] = true,
["description"] = "Tool used to cut restraints"
},
["legcuffs"] = {
["name"] = "legcuffs", ["label"] = "Leg Cuffs", ["weight"] = 300,
["type"] = "item", ["image"] = "legcuffs.png", ["unique"] = false,
["usable"] = true, ["shouldClose"] = true,
["description"] = "Leg restraints that slow down a restrained suspect"
},
["headbag"] = {
["name"] = "headbag", ["label"] = "Head Bag", ["weight"] = 250,
["type"] = "item", ["image"] = "headbag.png", ["unique"] = false,
["usable"] = true, ["shouldClose"] = true,
["description"] = "Bag used to cover a restrained suspect"
},
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('handcuffs', 'Handcuffs', 1, 0, 1),
('zipties', 'Zipties', 1, 0, 1),
('wire_cutter', 'Wire Cutter', 1, 0, 1),
('legcuffs', 'Leg Cuffs', 1, 0, 1),
('headbag', 'Head Bag', 1, 0, 1);
qb-core definitions also cover qb-inventory, ps-inventory, and jpr-inventory because
those inventories read QBShared.Items. For another inventory, transfer the same item names,
labels, weights, and image names into its supported format.