> For the complete documentation index, see [llms.txt](https://alt0.gitbook.io/alt0-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alt0.gitbook.io/alt0-docs/alt0-camera/configuration.md).

# Configuration

Cameras per job, SD cards, printers, polaroids and boards in ALT0 Camera.

| File                | What's in it                                                                                                               |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `config.lua`        | Which jobs may use which camera, SD cards, printers, the instant camera, holding, hanging and boards, frame colours, staff |
| `config_server.lua` | The FiveManage key. Never sent to players.                                                                                 |

Keep both when you update.

## Who may use which camera

```lua
Config.ProCameras = {
    police_camera = {
        label = 'LSPD Camera',
        jobs = { police = true, sheriff = true, bcso = true, ... },
        jobTypes = { leo = true },
    },
    digital_camera = {
        label = 'Camera',            -- no jobs: anyone may use it
    },
    news_camera = {
        label = 'Weazel News',
        jobs = { reporter = true },
        banner = 'weazel',           -- the Weazel News lower third is printed into every shot
    },
}
```

Leave out `jobs` and `jobTypes` to let anyone use a camera.

## Pro cameras and SD cards

| Setting                                               | What it does                                   |
| ----------------------------------------------------- | ---------------------------------------------- |
| `Config.ProCamera.cardItem`, `photoItem`              | The SD card and printed photo items            |
| `Config.ProCamera.cardCapacity`                       | Photos per SD card (24)                        |
| `Config.ProCamera.focalMin`, `focalMax`, `focalStart` | The zoom range in mm (24 to 200)               |
| `Config.ProCamera.cooldownMs`                         | Time between saved shots                       |
| `Config.ProCamera.anim`, `prop`, `flashPtfx`          | The pose, the camera prop and the flash effect |

## Printers

```lua
Config.Printer = {
    models = { 'prop_printer_01', 'prop_printer_02', 'v_res_printer', 'prop_copier_01', 'v_med_cor_photocopy' },
    locations = {},     -- extra printer spots without a prop, e.g. { coords = vec3(441.1, -978.9, 30.7), radius = 1.0 }
    maxCopies = 5,
    maxPerJob = 20,     -- photos per print job
    price = 0,          -- cash per print, 0 = free
}
```

Any of the `models` props works as a printer. Printers use ox\_target, qb-target or sleepless\_interact.

## Printed photos

`Config.Photo` sets how a printed photo is held, how far **Show nearby** reaches, and the caption length.

## Instant camera and polaroids

| Setting                                   | What it does                                          |
| ----------------------------------------- | ----------------------------------------------------- |
| `Config.Items`                            | The instant camera, paper, polaroid and board items   |
| `Config.Instant.paperPerShot`             | Polaroid paper used per shot                          |
| `Config.Instant.focalMin`, `focalMax`     | The instant camera's short zoom (28 to 70 mm)         |
| `Config.TitleLength`, `Config.NoteLength` | Longest title and note on a polaroid                  |
| `Config.Frames`                           | Frame colours: white, black, orange, blue, green, red |

## Holding a polaroid

`Config.Hold` sets where the card sits in the hand, how long **Show** turns it outward, and how far Show and Give reach.

## Walls and boards

```lua
Config.Placed = {
    maxPerPlayer = 10,   -- framed photos and boards up at once, per character
    placeDistance = 6.0, -- how far the aim reaches when hanging
    frameSize = 0.30,    -- framed photo width on a wall, in metres
    board = { w = 1.2, h = 0.8, minScale = 0.5, maxScale = 2.0, photoW = 0.16, maxPhotos = 12 },
    removeJobs = {},     -- jobs that may take down anyone's photo or board
}
```

`Config.Light` dims hung and held photos at night and indoors so they sit in the scene.

## Staff and updates

| Setting               | What it does                                                    |
| --------------------- | --------------------------------------------------------------- |
| `Config.AdminAce`     | ACE that counts as staff: may take down any hung photo or board |
| `Config.VersionCheck` | Print update notices in the server console                      |
