Exports ======= Exported freecam functions. > Examples assume you are referencing the freecam exports as such: > ```lua > local Freecam = exports['fivem-freecam'] > Freecam:SetActive(true) > ``` ### Getters - [IsActive](#IsActive) - [IsFrozen](#IsFrozen) - [GetFov](#GetFov) - [GetPosition](#GetPosition) - [GetRotation](#GetRotation) - [GetMatrix](#GetMatrix) - [GetTarget](#GetTarget) - [GetPitch](#GetPitch) - [GetRoll](#GetRoll) - [GetYaw](#GetYaw) - [GetCameraSetting](#GetCameraSetting) - [GetKeyboardSetting](#GetKeyboardSetting) - [GetGamepadSetting](#GetGamepadSetting) - [GetKeyboardControl](#GetKeyboardControl) ### Setters - [SetActive](#SetActive) - [SetFrozen](#SetFrozen) - [SetFov](#SetFov) - [SetPosition](#SetPosition) - [SetRotation](#SetRotation) - [SetCameraSetting](#SetCameraSetting) - [SetKeyboardSetting](#SetKeyboardSetting) - [SetGamepadSetting](#SetGamepadSetting) - [SetKeyboardControl](#SetKeyboardControl) - [SetGamepadControl](#SetGamepadControl) --- `IsActive` ---------- Returns wether the freecam is currently active or not. ```c# bool isActive = Freecam:IsActive() ``` `SetActive` ----------- Enters or exits the freecam. ```c# void Freecam:SetActive(bool active) ``` `IsFrozen` ---------- Returns wether the freecam position is currently frozen. ```c# bool isFrozen = Freecam:IsFrozen() ``` `SetFrozen` ----------- Sets the freecam frozen. When frozen, controls do not update the position or rotation anymore but [SetPosition](#setposition)/[SetRotation](#setrotation) will. ```c# void Freecam:SetFrozen(bool frozen) ``` `GetFov` -------- Returns the field of view of the freecam. ```c# float fov = Freecam:GetFov() ``` `SetFov` -------- Sets the current field of view of the freecam. This does NOT update the default FOV for the freecam. Use [SetCameraSetting](#setcamerasetting) for that. ```c# void Freecam:SetFov(float fov) ``` `GetPosition` ------------- Returns the current position of the freecam. ```c# vector3 position = Freecam:GetPosition() ``` `SetPosition` ------------- Sets a new position for the freecam. ```c# void Freecam:SetPosition(float posX, float posY, float posZ) ``` `GetRotation` ------------- Returns the current rotation of the freecam. ```c# vector3 rotation = Freecam:GetRotation() ``` `SetRotation` ------------- Sets a new position for the freecam. ```c# void Freecam:SetRotation(float rotX, float rotY, float rotZ) ``` `GetMatrix` ----------- Returns the current view matrix of the freecam. ```c# vector3 vecX, vector3 vecY, vector3 vecZ, vector3 pos = Freecam:GetMatrix() ``` `GetTarget` ----------- Returns the position the freecam is looking at from the given distance. ```c# vector3 target = Freecam:GetTarget(float distance) ``` `GetPitch` ---------- Returns the current pitch (rotX) of the freecam. ```c# float pitch = Freecam:GetPitch() ``` `GetRoll` --------- Returns the current roll (rotY) of the freecam. ```c# float roll = Freecam:GetRoll() ``` `GetYaw` -------- Returns the current yaw (rotZ) of the freecam. ```c# float yaw = Freecam:GetYaw() ``` `GetCameraSetting` ------------------ Returns the value of a camera setting. See [CONFIGURING](CONFIGURING.md#camera-settings) for details. ```c# mixed value = Freecam:GetCameraSetting(string key) ``` `SetCameraSetting` ------------------ Sets the value of a camera setting. See [CONFIGURING](CONFIGURING.md#camera-settings) for details. ```c# void Freecam:SetCameraSetting(string key, mixed value) ``` `GetKeyboardSetting` -------------------- Returns the value of a keyboard setting. See [CONFIGURING](CONFIGURING.md#control-settings) for details. ```c# mixed value = Freecam:GetKeyboardSetting(string key) ``` `SetKeyboardSetting` -------------------- Sets the value of a keyboard setting. See [CONFIGURING](CONFIGURING.md#control-settings) for details. ```c# void Freecam:SetKeyboardSetting(string key, mixed value) ``` `GetGamepadSetting` ------------------- Returns the value of a gamepad setting. See [CONFIGURING](CONFIGURING.md#control-settings) for details. ```c# mixed value = Freecam:GetGamepadSetting(string key) ``` `SetGamepadSetting` ------------------- Sets the value of a gamepad setting. See [CONFIGURING](CONFIGURING.md#control-settings) for details. ```c# void Freecam:SetGamepadSetting(string key, mixed value) ``` `GetKeyboardControl` -------------------- Returns the value of a keyboard control. See [CONFIGURING](CONFIGURING.md#control-mapping) for details. ```c# mixed value = Freecam:GetKeyboardControl(string key) ``` `SetKeyboardControl` -------------------- Sets the value of a keyboard control. See [CONFIGURING](CONFIGURING.md#control-mapping) for details. ```c# void Freecam:SetKeyboardControl(string key, int value) void Freecam:SetKeyboardControl(string key, table value) ``` `GetGamepadControl` ------------------- Returns the value of a gamepad control. See [CONFIGURING](CONFIGURING.md#control-mapping) for details. ```c# mixed value = Freecam:GetGamepadControl(string key) ``` `SetGamepadControl` ------------------- Sets the value of a gamepad control. See [CONFIGURING](CONFIGURING.md#control-mapping) for details. ```c# void Freecam:SetGamepadControl(string key, int value) void Freecam:SetGamepadControl(string key, table value) ```