Configuring Fire Supply Line

Our easy config allows you to make adjustments to Fire Supply Line to suit your server.

Make sure your resource folder is named "Supply-Line" to allow integration with our Smart Hose resource. Do not rename the resource folder.

To begin configuring the resource, open the config.lua file within the resource folder. Some configuration values for the Fire Supply Line resource can be found in the Smart Hose config.lua file, given the two resources are heavily integrated and overlap in terms of configuration. Therefore, if you also have Smart Hose, we recommend reading the configuration documentation for that here.

Config Walk Through

Here's a video walking you through the Fire Supply Line configuration file.

Fire Supply Line - Config Walkthrough Video

Keybinds

The first part of the config.lua file allows you to adjust the different keys, such as connecting to the hydrant and the stop/start filling process keybind.

To find out the control number, see the FiveM Controls list here.

SupplyLineKeys = {
        ConnectHydrant = 20, -- Z
        StartStopFilling = 74,  -- H
 },

Try not to duplicate the use of controls, such as having the same keybind for connecting to the hydrant and picking up the hose (which is configured in the Smart Hose config.lua file), as this may lead to issues with the resource.

Translations

All elements of the resource can be translated into another language in the translations section of the config.lua file.

Translations = {
        stopFilling = "Press Z to disconnect line\nPress H to stop filling",
        startFilling = "Press Z to disconnect line\nPress H to fill tank with water",
        connectLine = "Press Z to connect line to truck",
        waterLevel = "Water Level:",
        noPermission = "You do not have access to use the supply line.",
        placeHydrantCommandHelp = "Place or remove a fire hydrant",
        placeHydrantCommandHelpArgument = "place/remove",
        placeHydrantCommandSuccess = "Hydrant placed successfully!",
        placeHydrantCommandCancel = "Placement cancelled!",
        removeHydrantCommandSuccess = "Hydrant removed!",
},

Notifications

By default, Fire Supply Line utilises base game notifications but also provides support for QBCore, ESX, QBX and vRP notifications. If you want us to support another notification resource, get in touch and we'll do our best to integrate this.

Notifications = {
        Enabled = true,
        Framework = {
            QBCore = false,
            QBX = false,
            ESX = false, 
            vRP = false, 
        }
},

Simply enable one of the various frameworks here in order to begin using a different notification system.

Custom Vehicle OffSets

Our article on Configuring Smart Hose explains how to setup custom offSets for where a hose rope connects to a fire truck (which can be different for each model). There is also the possibility to do this for Fire Supply Line, meaning you can set the point at which a rope connects to the truck from the hydrant.

This section is optional and adding vehicle models here means you are able to have custom vehicle offsets. Not setting this up will mean that the centre of the vehicle is used instead.

To begin adding custom vehicle offsets, head to the VehicleOffsets part of the config.lua file:

VehicleSettings = {
            [`firetruk`] = {
                useBone = false,
                bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
                offsets = {
                    { x = -0.90, y = -0.02, z = -0.050 },
                    { x = 0.87, y = -0.1050, z = 0.0140 },
                    {x = -0.57, y = -3.68, z = 0.0},
                },
            },
}

Remember, any vehicle model names you add here must be wrapped in backticks: `` in order to allow the support of runtime hashing for resource efficiency.

This is different to the "" symbol.

By default, we've configured the fire truck to have a custom offSet, which is the point relative to the vehicle where the rope will connect to (directly from the hydrant). You may want to setup a custom offSet if your model has a valve at the side of the vehicle or at the back for example, in which you want the rope to connect to from a hydrant.

This is the x, y and z values relative to the vehicle. Here's how they work:

  • The X value moves left (minus) and right (positive).

  • The Y value moves backwards (minus) and forwards (positive).

  • The Z value moves down (minus) and up (positive).

Therefore, the default fire truck has an X value of 0.87 which will be 0.87 to the right of the vehicle. It has a Y value of 0.155 value meaning it will be forwards 0.155. It has a Z value of 0.014 meaning it will be up 0.014 - all of which is relative to the vehicle.

Multiple offSets can also be used and setup in the table. For more information on finding offSets easily, see our Find Hose Positioning Developer Command below.

Bone Connection Points

Instead of setting a custom offSet, you also have the ability to use bone connection points, such as bones on custom models or identified bones for base game models. A good list of vehicle bones can be found here, however you might find it easier to setup custom offSets.

To setup bones, enable useBone and then add the bone names into the bones table, such as this:

bones = {"engine", "bone2"},

Multiple bones can be setup easily and the resource will find the one you are closet to.

Find Hose Positioning Developer Command

To help assist you with finding the right offSet values for either the hose or supply line connection point, we've added an easy to use developer command

Here's a video explaining how to use the command:

Find Hose Positioning Command - Demonstration Video

How to use the command

To enable the /findhosepositioning command, firstly head to the config.lua file and enable the EnablePositioningCommand value (make sure to turn it off again after).

Once in-game, jump into the driver seat of your desired fire truck and run the command which will begin the process of finding the offSet values.

Next, your vehicle should turn transparent as seen here:

You should then see a football prop inside the vehicle. This can be moved using the following keys:

  • Arrow Up - move the prop forwards

  • Arrow Down - move the prop down

  • Arrow Left - move the prop left

  • Arrow Right - move the prop right

  • Page Up - move the prop up

  • Page Down - move the prop down

Ideally, you want to position this football at the point where you want the rope to connect at, which might be the valve on your fire truck or somewhere else. Once you are finished, press ENTER.

Now you have completed the process, your vehicle will return to normal and the football prop will be deleted, it was simply there to help you find the positioning.

The offSet values have now been printed into your console, you can now copy these into the VehicleOffsets section of the Fire Supply Line config or the Smart Hose config.

Custom Hydrant Offsets

The HydrantOffsets section of the config.lua file allows you to set the offsets at which the rope connects to a hydrant. We've set this up for the three main hydrants by default, however you may want to change this if your hydrant model is different for your server/community.

HydrantOffsets = {
        [`prop_fire_hydrant_4`] = {x = 0.0, y = -0.27, z = 0.58}, 
        [`prop_fire_hydrant_2`] = {x = 0.1, y = 0.0, z = 0.4}, 
        [`prop_fire_hydrant_1`] = {x = 0.05, y = 0.0, z = 0.6},
}

This works in the same way as setting the offset for vehicle rope attachment, but this time it is relative to the hydrant prop.

Permission Checks

The next part of the config.lua file allows you to setup permissions straight out of the box for ace permissions, QBCore, ESX or vRP. If you are using another permission system, make the necessary changes in the sv_utils.lua file.

This is the permissions which determine whether a user can connect a fire truck to a hydrant.

Multiple permissions can be enabled at once, such as ace permissions and a framework job check. By doing this, a user only has to have one of the enabled permissions (not both) in order to connect a fire truck to a hydrant.

Ace Permissions

AcePermissions = {
            Enabled = false,
            Permission = "usehose"
            -- This enables ace permissions on the /salesign command
},

By enabling ace permissions, only users with the "usehose" permission are able to interact with the hose and draw it from a fire truck.

ESX

ESX = {
            Enabled = false,
            CheckJob = {
                Enabled = false, -- Enable this to use ESX job check
                Jobs = {"fireman"} -- A user can have any of the following jobs, allowing you to add multiple
            }
},

Enabling ESX in this section will switch on ESX permissions, requiring a user to have one of the configured jobs in the Jobs table, such as "fireman" which is setup by default.

vRP

vRP = {
            Enabled = false,
            CheckGroup = {
                Enabled = false, -- Enable this to use vRP group check
                Groups = {"fireman"}, -- 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 = {"fireman.usehose"} -- A user can have any of the following permissions, allowing you to add multiple
            },
},

Enabling vRP in this section will switch on vRP permissions, requiring a user to have either a certain group or permission depending on what is enabled.

QBCore

QBCore = {
            Enabled = false,
            CheckJob = {
                Enabled = false, -- Enable this to use QBCore job check
                Jobs = {"fireman"}, -- 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 = {"fireman.usehose"}, -- A user can have any of the following permissions, allowing you to add multiple
            },
},

Enabling QBCore in this section will switch on QBCore permissions, requiring a user to have either a certain group or permission depending on what is enabled.

QBX

QBX = {
            Enabled = false,
            CheckJob = {
                Enabled = false, -- Enable this to use QBX job check
                Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
            }
},

Enabling QBX in this section will switch on QBX permissions, requiring a user to have a certain group from the Jobs table, such as "fireman" which is setup by default.

Custom Framework / Permissions

If you want to setup your own custom framework/permission check, head to the UserHasPermission function in the sv_utils.lua file and make the necessary changes. If you need any help, reach out to our team who will do their best to advise you.

Place Hydrant Command

As explained on the previous page, Fire Supply Line has an included /hydrant [setup/remove] command in order to allow you to place hydrants down in remote areas. To enable and configure the command, head to the PlaceHydrantCommand section of the config.lua file:

PlaceHydrantCommand = {
        Enabled = true,
        CommandName = "hydrant",
        PlaceArgument = "place",
        RemoveArgument = "remove",

This allows you to enable/disable the command and also set the command name, plus arguments.

Place Hydrant Command - Permissions

Within the PlaceHydrantCommand section is the Permissions section, allowing you to setup permissions specifically for the use of the /hydrant [setup/remove] command. However, in order to enable permissions for this, you'll need to turn on EnablePermissions.

Permissions = {
            EnablePermissions = false,

Permissions for the PlaceHydrantCommand work in the same way as permissions for the use of the hydrants, previously explained in this article. The only difference is that ace permissions will use the default syntax of command.commandName, meaning you'll need to give users the command.hydrant permission instead of setting your own ace permission. You are also able to setup support for QBCore, ESX, vRP or QBX permissions in the same way as done for hydrant usage.

Last updated