Camera uses eleven items in two families — the digital camera and the instant camera. Add every one of them to your inventory: an item that does not exist cannot be given, used or shown. Then copy the icons into your inventory's image folder.
Item | Label | What it does |
|---|---|---|
| Camera | The digital camera. Using it opens its panel; from there, take photos. |
| Broken Camera | A camera that gave out. A camera module brings it back. |
| Camera Module | Repairs a broken or worn camera. Used up by the repair. |
| Roll of Film | Loads 24 exposures into the camera you carry. |
| Photo | A digital photo with its grade, place, date and photographer. Show it or store it in an album. |
| Photo Album | 120 pockets for digital photos. |
| Instant Camera | Prints a card with every shot. |
| Instant Paper | One sheet per card. Not usable on its own — the instant camera takes it. |
| Card | A printed card: hold it, turn it over, show it, give it, hang it. |
| Card Album | Pages for the cards you want to keep. |
| Cork Board | Hangs on a wall; cards are pinned to it. |
Icons#
The icons for the instant items — instant_camera.png, instant_film.png, instant_photo.png, instant_album.png and cork_board.png — are in the [images]/ folder of the download. For the digital items, use any icons you like named after the item: camera.png, broken_camera.png, camera_module.png, camera_film.png, photo.png and photo_album.png.
Inventory | Image folder |
|---|---|
|
|
|
|
|
|
On ox_inventory and qs-inventory a printed card shows its own photo as its icon: every card writes
imageurlinto its metadata, so a card in the inventory looks like the picture it holds.
Item Definitions#
Pick your inventory and paste the whole block into its items file. Weights and descriptions are suggestions — change them freely; keep the item names.
In ox_inventory/data/items.lua. The server = { export = 'qs-camera.useItem' } line is what makes an item usable on ox_inventory — keep it. Qbox servers use ox_inventory, so this is their tab too.
['camera'] = {
label = 'Camera',
weight = 800,
stack = false,
close = true,
description = 'A digital camera. Every shot becomes a photo.',
server = { export = 'qs-camera.useItem' },
},
['broken_camera'] = {
label = 'Broken Camera',
weight = 800,
stack = false,
close = true,
description = 'It gave out. A camera module brings it back.',
server = { export = 'qs-camera.useItem' },
},
['camera_module'] = {
label = 'Camera Module',
weight = 100,
stack = true,
close = true,
description = 'Spare parts that repair a camera.',
server = { export = 'qs-camera.useItem' },
},
['camera_film'] = {
label = 'Roll of Film',
weight = 60,
stack = true,
close = true,
description = 'Twenty-four exposures.',
server = { export = 'qs-camera.useItem' },
},
['photo'] = {
label = 'Photo',
weight = 10,
stack = false,
close = true,
description = 'A photo, with where and when it was taken.',
server = { export = 'qs-camera.useItem' },
},
['photo_album'] = {
label = 'Photo Album',
weight = 400,
stack = false,
close = true,
description = 'Keeps your photos in one piece.',
server = { export = 'qs-camera.useItem' },
},
['instant_camera'] = {
label = 'Instant Camera',
weight = 900,
stack = false,
close = true,
description = 'Prints a card the moment you press the shutter. Needs instant paper.',
server = { export = 'qs-camera.useItem' },
},
['instant_film'] = {
label = 'Instant Paper',
weight = 10,
stack = true,
close = false,
description = 'One sheet per card.',
},
['instant_photo'] = {
label = 'Card',
weight = 10,
stack = false,
close = true,
description = 'A moment, printed.',
server = { export = 'qs-camera.useItem' },
},
['instant_album'] = {
label = 'Card Album',
weight = 400,
stack = false,
close = true,
description = 'Pages for the cards you want to keep.',
server = { export = 'qs-camera.useItem' },
},
['cork_board'] = {
label = 'Cork Board',
weight = 2000,
stack = false,
close = true,
description = 'Hangs on a wall. Pin cards to it.',
server = { export = 'qs-camera.useItem' },
},In qs-inventory/shared/items.lua. Recent versions of qs-inventory may already list the digital items — keep yours and add only the ones that are missing.
['camera'] = { name = 'camera', label = 'Camera', weight = 800, type = 'item', image = 'camera.png', unique = true, useable = true, shouldClose = true, description = 'A digital camera. Every shot becomes a photo.' },
['broken_camera'] = { name = 'broken_camera', label = 'Broken Camera', weight = 800, type = 'item', image = 'broken_camera.png', unique = true, useable = true, shouldClose = true, description = 'It gave out. A camera module brings it back.' },
['camera_module'] = { name = 'camera_module', label = 'Camera Module', weight = 100, type = 'item', image = 'camera_module.png', unique = false, useable = true, shouldClose = true, description = 'Spare parts that repair a camera.' },
['camera_film'] = { name = 'camera_film', label = 'Roll of Film', weight = 60, type = 'item', image = 'camera_film.png', unique = false, useable = true, shouldClose = true, description = 'Twenty-four exposures.' },
['photo'] = { name = 'photo', label = 'Photo', weight = 10, type = 'item', image = 'photo.png', unique = true, useable = true, shouldClose = true, description = 'A photo, with where and when it was taken.' },
['photo_album'] = { name = 'photo_album', label = 'Photo Album', weight = 400, type = 'item', image = 'photo_album.png', unique = true, useable = true, shouldClose = true, description = 'Keeps your photos in one piece.' },
['instant_camera'] = { name = 'instant_camera', label = 'Instant Camera', weight = 900, type = 'item', image = 'instant_camera.png', unique = true, useable = true, shouldClose = true, description = 'Prints a card the moment you press the shutter. Needs instant paper.' },
['instant_film'] = { name = 'instant_film', label = 'Instant Paper', weight = 10, type = 'item', image = 'instant_film.png', unique = false, useable = false, shouldClose = false, description = 'One sheet per card.' },
['instant_photo'] = { name = 'instant_photo', label = 'Card', weight = 10, type = 'item', image = 'instant_photo.png', unique = true, useable = true, shouldClose = true, description = 'A moment, printed.' },
['instant_album'] = { name = 'instant_album', label = 'Card Album', weight = 400, type = 'item', image = 'instant_album.png', unique = true, useable = true, shouldClose = true, description = 'Pages for the cards you want to keep.' },
['cork_board'] = { name = 'cork_board', label = 'Cork Board', weight = 2000, type = 'item', image = 'cork_board.png', unique = true, useable = true, shouldClose = true, description = 'Hangs on a wall. Pin cards to it.' },In qb-core/shared/items.lua. The same block works for ps-inventory and lj-inventory.
['camera'] = { name = 'camera', label = 'Camera', weight = 800, type = 'item', image = 'camera.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'A digital camera. Every shot becomes a photo.' },
['broken_camera'] = { name = 'broken_camera', label = 'Broken Camera', weight = 800, type = 'item', image = 'broken_camera.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'It gave out. A camera module brings it back.' },
['camera_module'] = { name = 'camera_module', label = 'Camera Module', weight = 100, type = 'item', image = 'camera_module.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Spare parts that repair a camera.' },
['camera_film'] = { name = 'camera_film', label = 'Roll of Film', weight = 60, type = 'item', image = 'camera_film.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Twenty-four exposures.' },
['photo'] = { name = 'photo', label = 'Photo', weight = 10, type = 'item', image = 'photo.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'A photo, with where and when it was taken.' },
['photo_album'] = { name = 'photo_album', label = 'Photo Album', weight = 400, type = 'item', image = 'photo_album.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Keeps your photos in one piece.' },
['instant_camera'] = { name = 'instant_camera', label = 'Instant Camera', weight = 900, type = 'item', image = 'instant_camera.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Prints a card the moment you press the shutter. Needs instant paper.' },
['instant_film'] = { name = 'instant_film', label = 'Instant Paper', weight = 10, type = 'item', image = 'instant_film.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'One sheet per card.' },
['instant_photo'] = { name = 'instant_photo', label = 'Card', weight = 10, type = 'item', image = 'instant_photo.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'A moment, printed.' },
['instant_album'] = { name = 'instant_album', label = 'Card Album', weight = 400, type = 'item', image = 'instant_album.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Pages for the cards you want to keep.' },
['cork_board'] = { name = 'cork_board', label = 'Cork Board', weight = 2000, type = 'item', image = 'cork_board.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Hangs on a wall. Pin cards to it.' },Keep the item names exactly as above. They are the names listed under Items in
/cameraconfig, and the script registers what each item does under those names when it starts.
What Each Item Remembers#
Everything is stored on the item itself, so it travels with the item — trade a camera and its condition goes with it; give away an album and its photos go too.
Item | Carries |
|---|---|
| A serial such as |
| The picture's address, a title, the zone and street, the date and game time, the weather, the photographer, the quality, the grade, the filter and the zoom. |
| The printed front, the title, the note on the back, the paper stock, who took it, the place and the date. |
| An id. The contents are kept in the database under that id and follow the item wherever it goes. |



