Configuring the resource

To begin configuring the resource, open the config.lua file and navigate to the config = { section.

We'll walk you through each value in the config to allow you to make changes:

loadDistance = 400,

This is the distance at which the sign and its speed limits will load/unload at, for example if the player is miles away, it would be inefficient to spawn it in. By default we've set this to 400 and this is our recommended value.

developerMode = false,

Developer mode enables debug printing on both the client and the server. By default we've set this to false and we recommend leaving it at this for most of the time. If you open a support ticket regarding a bug identified, you may be asked to enable this to assist us in solving the problem.

closeMenuButton = {1, 177},

This is the key to close the menu after you have finished setting icons on signs around the map. You can find a list of controls on the FiveM documentation here. The first number should be 0 to represent the player input type and the second number should be the index of the selected control from the list.

selectSignCommandName = "selectsign",

This is where you can change the command for selecting signs and opening the map/menu.

Setting up permissions

Straight out of the box we've added support for ESX, vRP and QBCore permissions.

To begin, navigate to the permissions = { section of the config.lua file.

Ace Permissions

acePermissionsEnabled = false,

This value determines if you want to enable ace permissions on the command. This means that the command will be restricted to those that have the ace permission which would be command.selectsign allow, unless you've changed the command name.

For a guide on Ace Permissions, see this one here on the FiveM forum.

An example of how to give out this Ace Permission in the server.cfg is:

add_ace group.admin command.selectsign allow

This would give the admin group the command.selectsign ace, allowing them to use /selectsign.

Many servers often use an Ace Permissions resource that links in with Discord permissions, you should be able to easily set this up with that as well, by giving people the right ace permission in the config of that other resource. We can provide assistance to a degree if you experience problems.

ESX / vRP / QB-Core

We've added support for these frameworks right out of the box, see the following information on configuring these for each command.

ESX = {
            enabled = false,
            checkJob = {
                enabled = true, -- Enable this to use ESX job check
                jobs = {"fire", "firefighter"} -- A user can have any of the following jobs, allowing you to add multiple
            }
        },

This section allows you to enable the ESX integration for this command only. For ESX, we've added a job check and you can enable this by setting enabled to true in the checkJob section.

The jobs = {} table allows you to name jobs where a player can have any of them to use the command. Each job should be separated by a comma and wrapped in speech marks "".

vRP = {
            enabled = false,
            checkGroup = {
                enabled = false, -- Enable this to use vRP group check
                groups = {"fire", "admin"}, -- A user can have any of the following groups, meaning you can add different jobs
            },
            checkPermission = {
                enabled = false, -- Enable this to use vRP permission check
                permissions = {"player.kick"} -- A user can have any of the following permissions, allowing you to add multiple
            },
        },

Similar to the ESX section, you can enable vRP integration for this command only by setting enabled to true.

For vRP however, you can either check for groups, permissions or even both. A user can have any permission specified (if enabled) and also any group specified (if enabled) to use the command.

You can enable groups by setting enabled to true in the checkGroup section and the same for permissions by setting enabled to true in the checkPermission section.

Groups and permissions are both defined in tables and must be separated by a comma, with each permission or group wrapped in speech marks "".

QBCore = {
            enabled = false,
            checkJob = {
                enabled = false, -- Enable this to use QBCore job check
                jobs = {"fire"}, -- A user can have any of the following jobs, meaning you can add different jobs
            },
            checkPermission = {
                enabled = false, -- Enable this to use QBCore permission check
                permissions = {"god"}, -- A user can have any of the following permissions, allowing you to add multiple
            },
        },

To enable QB-Core integration, simply set enabled to true.

You can either check for jobs, permissions or even both. A user can have any permission specified (if enabled) and also any job specified (if enabled) to use the command.

To enable the job check, set enabled to true in the checkJob section and the same for permissions, by setting enabled to true in the checkPermission section.

Jobs and permissions are both defined in tables and must be separated by a comma, with each permission or job wrapped in speech marks "".

Setting blip colours

By default, we've defined for each sign carriage the direction it is facing. Each has an assigned colour for the blips which appear on the map, which you use when selecting which sign to edit.

To change these, navigate to the directionColours = { section of the config.lua file:

directionColours = {
        ["North"] = 17,
        ["South"] = 18,
        ["East"] = 17,
        ["West"] = 18,
    },

These numbers can be changed by referring to the blip colour guide found here on the FiveM documentation (scroll down to the bottom).

Editing further

We don't recommend editing beyond this point in the configuration file and it is mainly values we've setup as developers when creating this resource.

Last updated