Installation

Welcome to the Quasar Camera installation guide, here you can learn how to completely install our asset, following each step we will achieve a clean and fluid installation where you will not find any problems, as long as the documentation has been completed in full.

If you do not have programming experience, we recommend that you read each step completely without skipping any lines, since all documentation is important and should not be ignored under any circumstances. If you have a trusted developer, you can install this quickly, easily and safely if you complete this documentation step by step.

If at the end of this documentation you still have any problems, review each step again, after having checked that everything is correct, you can obtain more information about common errors in the Common Problems section within this same documentation to seek help independently.


Asset download

To find the asset, you must have made the purchase using your own keymaster account. Otherwise, you can use the transfer system to move the asset to a different keymaster account.

If you need to make an update you must also do this step again, download the asset and you will get the complete update.

Once the purchase is made on our official website, you will receive your asset directly in your Keymaster, in your own panel you can download the asset and install it following the following documentation.

If you have more problems regarding Fivem Escrow, accounts or asset startup errors you can go here and see if any of them match your case, since Escrow requires some basic things for its operation, such as your keymaster account, your licensekey , etc.

pageFiveM Asset Escrow System

Asset positioning

Correctly position the assets by following this step, if something goes wrong you will probably get errors about exports not found, do not skip this step.

For the correct execution of the asset, we will put the asset and its dependencies inside a folder called [camera], then we will execute it completely using ensure as in the example.

The starting order is not very important in this asset, but just in case we will leave the basics so as not to receive general errors when using it. Always respect the framework and inventory above this asset.

-- First we will start the cores, never below
ensure es_extended or qb-core

-- The inventory should be executed above
ensure [inventory]

-- Run qs-camera here along with its dependencies
ensure [camera]

Compatible Inventories

This system works with a limited series of inventories, as it requires the use of metadata for the items, if your inventory is not here, obtain one of these or ask your developer to make compatibility with your system as long as it meets the requirements.

The list of compatible inventories that you will see below are those that are configured by default, if you use another, you can use the configurable files to make it compatible.


Items

This system includes areas with drug collection, which will give us certain items. Here we will add the items to our inventory to be able to execute this function.

Items for qs-inventory
["camera"] = {
    ["name"] = "camera",
    ["label"] = "Camera",
    ["weight"] = 100,
    ["type"] = "item",
    ["image"] = "camera.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},

["photo"] = {
    ["name"] = "photo",
    ["label"] = "Photo",
    ["weight"] = 1,
    ["type"] = "item",
    ["image"] = "photo.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},

["camera_module"] = {
    ["name"] = "camera_module",
    ["label"] = "Camera module",
    ["weight"] = 20,
    ["type"] = "item",
    ["image"] = "camera_module.png",
    ["unique"] = false,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},
    
["broken_camera"] = {
    ["name"] = "broken_camera",
    ["label"] = "Broken Camera",
    ["weight"] = 100,
    ["type"] = "item",
    ["image"] = "broken_camera.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},
Items for qb-inventory
camera = {
    ["name"] = "camera",
    ["label"] = "Camera",
    ["weight"] = 100,
    ["type"] = "item",
    ["image"] = "camera.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},

photo = {
    ["name"] = "photo",
    ["label"] = "Photo",
    ["weight"] = 1,
    ["type"] = "item",
    ["image"] = "photo.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},

camera_module = {
    ["name"] = "camera_module",
    ["label"] = "Camera module",
    ["weight"] = 20,
    ["type"] = "item",
    ["image"] = "camera_module.png",
    ["unique"] = false,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},

broken_camera = {
    ["name"] = "broken_camera",
    ["label"] = "Broken Camera",
    ["weight"] = 100,
    ["type"] = "item",
    ["image"] = "broken_camera.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "A small and sweet casting."
},
Items for ox_inventory
["photo"] = {
    label = "Photo",
    weight = 1,
    stack = false,
    close = false,
    consume = 0,
    client = {
        export = 'qs-camera.usePhoto',
    },
},

["camera"] = {
    label = "Camera",
    weight = 1,
    stack = false,
    close = true,
    description = nil
},

["broken_camera"] = {
    label = "Broken Camera",
    weight = 1,
    stack = false,
    close = true,
    description = nil
},

["camera_module"] = {
    label = "Camera module",
    weight = 1,
    stack = false,
    close = true,
    description = nil
},

Settings for photos

Do not run the asset or open a ticket without first completing this step.

Due to the new terms of Discord, many servers will no longer be able to use the webhooks that were usually used, so we recommend using fivemanage.com, within the following sliding box, you will find a guide on how to create the token and use it. of the.

Option via fivemanage.com

Thanks to the new collaboration with fivemanage.com, we can now use this private service to upload images, videos or audios. With this system we can do these actions incredibly quickly.

In order to upload the files through fivemanage.com, we will have to register on the website and generate a token, which we will place in the Config.Webhook of our Smartphone or Smartphone PRO.

We have an exclusive video on how to generate a token and integrate it by clicking here.

Option via webhook (Not working at this time)

The main dependency for photographs and videos is the use of webhooks, which is fully explained in the Webhhook System post.

To add the webhooks to this asset, we will have to go to qs-smartphone-pro/server/custom/webhooks, there we will find the configurable ones to add the webhooks.

If you skip this step, you will not be able to take photos or videos on the phone, avoid skipping this step before opening a ticket in the community.


Basic asset configuration

We do not recommend editing frameworks unnecessarily, since almost all assets depend exclusively on your framework and exports on the name of your framework. Otherwise and if you edited your framework, read these steps carefully.

If you still require more open codes for the configuration, you can check within client/custom and server/custom to adapt the asset to your personal taste.

Please expand each part to see information about the configuration of the asset, this way you will understand the general operation of the asset on the framework and editable files side.

Basic framework configuration

The asset will work automatically if your framework is called es_extended or qb-core, it will automatically detect if any of them are started. In case your framework has been renamed, you can modify it in config.lua to edit the name of your framework.

Advanced framework configuration

If your framework is completely modified, both in events and name, you should access client/custom/framework or server/custom/framework to adapt the native events of your framework to the codes you have created. If this step doesn't work, we ask that you ask your framework modifier or trusted developer for help.

More general settings

This asset contains multiple configurations within the config folder. But you can also access more open source and configurations within client/custom or server/custom. We do not recommend using these configurations if you do not have the basics of programming.

Last updated