Plumber Job
Config file
config.luaESXEvent = nil -- set to nil to use export or event name
Language = "en"
Config = {}
Config.MoneyItem = "money"
Config.Clothes = {}
-- ragdolls player when running/jumping with pipe
Config.DisableFastMovement = true
Config.DisableControls = {
21,
22,
24,
25,
44,
68,
140,
141,
142,
257,
263,
264,
}
Config.RefillPoint = {
waypointCoords = vector3(1377.188232, -2045.080933, 52.020157),
coords = vector4(1358.68, -2095.84, 52.0, 310),
length = 9.8,
width = 14.0,
minZ = 51.0,
maxZ = 54.2
}
Config.Job = {
name = "plumber",
startPed = {
coords = vector4(1384.631104, -2080.119873, 51.608837, 40.870346),
model = `s_m_m_lathandy_01`
},
label = _L("job_label"),
maxPlayers = 6,
description = _L("job_description"),
changePercent = true, -- allows owner to change player percents
clothes = Config.Clothes,
requireClothes = true, -- require job clothes
requireJob = false,
teamLimit = 26, -- maximum amount of teams
vehicle = { -- or nil
price = 500,
model = `plumpo`,
coords = vector4(1369.480591, -2079.999023, 51.998566, 305.774231),
props = {
livery = 1,
mods = {
[10] = 10,
}
}
},
-- changes difficulty (amount of pipes) depending on players on job
difficulty = {
[1] = "small",
[2] = "small",
[3] = "medium",
[4] = "medium",
[5] = "big",
[6] = "big",
},
-- when players are not close to a owner/action coords during a action it kicks them
playersActivityCheck = {
closeCheck = true,
vehDist = 250.0, -- distance from the vehicle
noActionCheck = true, -- kicks a player when no action was performed during amount of other player actions
noActionTimes = 10, -- amount of difference required between most active player and checked player (pipes placed in this case)
offlineTime = 5 * 60, -- kick player after amount of time offline
},
payout = {
-- bonus system (there's a base payout and for each additional player bonus percentage)
useBonusPercent = false, -- uses basePayout and bonusPercent per player
basePayout = 500,
bonusPercent = 0.25,
-- custom (TOTAL AMOUNT)
playerPayouts = {
[1] = 300,
[2] = 600,
[3] = 900,
[4] = 1200,
[5] = 1500,
[6] = 1800
},
},
blips = {
{
hasJob = true, -- requires job (or display always when requireJob is set to false)
activeJob = false, -- requires being in active job (in team)
label = _L("start_job_blip"),
coords = vector3(1384.631104, -2080.119873, 51.608837),
sprite = 272,
color = 26,
alpha = 255,
},
{
hasJob = true, -- requires job (or display always when requireJob is set to false)
activeJob = true, -- requires being in active job (in team)
label = _L("refill_pipes_blip"),
coords = Config.RefillPoint.coords.xyz,
sprite = 467,
color = 26,
alpha = 255,
},
},
-- amount of pipes vehicle has, when the vehicle runs out of pipes the player is required to refill them
vehPipes = 33
}
-- Used when no target was detected
Config.StandaloneControls = {
["get_pipe"] = {
key = 38, -- its E on keyboard, to change to diffrent key see https://docs.fivem.net/docs/game-references/controls/
disabled = false
},
["place_pipe"] = {
key = 38, -- its E on keyboard, to change to diffrent key see https://docs.fivem.net/docs/game-references/controls/
disabled = false
},
["open_valve"] = {
key = 38, -- its E on keyboard, to change to diffrent key see https://docs.fivem.net/docs/game-references/controls/
disabled = false
},
}
-- Key to place pipe while holding it in hands
Config.DefaultKeys = {
["refill_pipes"] = "E"
}
-- Animation times (in miliseconds), to implement your progress bar etc edit the getPipeAnim and putPipeAnim callbacks in editable_client.lua
Config.AnimTimes = {
["get_pipe"] = 5000,
["put_pipe"] = 5000
}
-- Maximum distance from the pipe to place
Config.PipeDistance = 1.5
-- Distance from which the pipes will spawn
Config.RenderDistance = 150.0
Config.AttachOffset = { model = `pipe2`, offset = { 0.145, 0.04, -0.205, 62, -54.5, -70.5 }, bone = 57005 }
-- Installation site blip settings
Config.BlipSettings = {
radius = 50.0,
radiusColor = 39,
radiusAlpha = 128,
blipSprite = 402,
blipColor = 26,
blipAlpha = 255,
showRoute = true,
routeColor = 26
}
Config.LastPathDistance = 150.0 -- minimal distance between last path and next one
-- none/error/warning/all
Config.Verbose = "warning"
-- required to create new paths
Config.DevMode = false
Config.AfkTime = 60 * 60
Config.Paths = {}
Creating New Paths
If you want to add your custom pipes to our script, enable Config.DevMode and restart the script. Afterward, you can use the command /createtrack (name) to spawn the starting pipe at your coordinates. You can adjust the end offset using the arrow keys. To exit the editor, you need to press either the Enter key or the Escape key. If you confirm your choice, the configuration entry will be created and added to the tracks.txt file in the resource root folder.