# Camera `[Client]`

Camera module is a specialized tool for manipulating the camera in RedM.

## alias

The module has two alias: 

- `jo.cam` for `jo.camera`
- `jo.freecam` for `jo.camera.freeCamera`

## JO Functions

### jo.camera.freeCamera.getCam()

A function to get the freecam camera <br>

#### Syntax

```lua
jo.camera.freeCamera.getCam()
```

#### Return Value

Type : _integer_

> The camera id

---

### jo.camera.freeCamera.getPromptGroup()

A function to get the freecam prompt group <br>

#### Syntax

```lua
jo.camera.freeCamera.getPromptGroup()
```

#### Return Value

Type : _string_

> The prompt group name

---

### jo.camera.freeCamera.isActive()

A function to check if the freecam is active <br>

#### Syntax

```lua
jo.camera.freeCamera.isActive()
```

#### Return Value

Type : _boolean_

> Whether the freecam is active

---

### jo.camera.freeCamera.isLocked()

A function to check if the freecam rotation is locked <br>

#### Syntax

```lua
jo.camera.freeCamera.isLocked()
```

#### Return Value

Type : _boolean_

> Whether the freecam rotation is locked

---

### jo.camera.freeCamera.lockRotate()

A function to lock the freecam rotation <br>

#### Syntax

```lua
jo.camera.freeCamera.lockRotate()
```

---

### jo.camera.freeCamera.start()

A function to start the freecam <br>

#### Syntax

```lua
jo.camera.freeCamera.start(options)
```

#### Parameters

`options` : _table_ `[Optional]`

> The freecam option options
>

> `options.interpolate` : _number_ - The interpolate time - default `0`
> 
> `options.showPrompts` : _boolean_ - Whether to show prompts - default `true`
> 
> `options.range` : _number_ - The range of the freecam - default `10000`
> 

---

### jo.camera.freeCamera.stop()

A function to stop the free camera <br>

#### Syntax

```lua
jo.camera.freeCamera.stop()
```

---

### jo.camera.freeCamera.unlockRotate()

A function to unlock the freecam rotation <br>

#### Syntax

```lua
jo.camera.freeCamera.unlockRotate()
```
