Config
Config = {}
-- Enabling this will add additional prints and debug visuals
Config.debug = false
--
Config.locale = 'en'
-- Name of the job
-- Can be set to `nil` to ignore job checks. Allowing anyone to access the contracts
Config.jobName = 'powerwashing'
-- Quality of the network sync of the wash areas
-- Recommended to keep it at or below `medium` for large (100+ player) servers
-- 'very_low'
-- 'low'
-- 'medium'
-- 'high'
-- 'ultra'
Config.networkQuality = 'medium'
-- Sync method for wash area data
-- 'latent_event' = Uses Latent Client Events
-- 'statebag' = Uses StateBags
Config.syncMethod = 'latent_event'
-- Quality of the textures displayed for the players
-- 'very_low'
-- 'low'
-- 'medium'
-- 'high'
-- 'ultra'
Config.clientQuality = 'high'
--
-- Whether the contract base payment should be split between all team member
-- When set to `true`. I highly recommend enabling the 'teamWorkBonuses', to balance working in teams better
Config.splitProfitsBetweenTeam = true
--
-- The XP Gain multiplier
Config.xpGainMultiplier = 1.0
-- Max reach of the power washer gun
Config.maxWashDistance = 6.5
-- Cleaning rate of the power washing
Config.cleaningRate = 400.0
Config.dirtHighlight = {
enabled = true, -- Whether to allow the dirt highlight option
cooldown = 8000, -- Cooldown time in milliseconds
-- The keybind is the native weapon "Reload" keybind. It will be hinted when a first wash area reaches 75% of cleaning.
}
-- Work vehicles available for selection
Config.jobVehicles = {
['kqcaracara'] = {
label = 'Caracara',
model = 'kqcaracara',
waterTankOffset = vec3(0.0, -2.8, 0.36),
playerOffset = vec3(0.0, -3.95, 0.3),
bedDoorIndex = 5,
backpackRotationOffset = 205,
unlockRequired = 'vehicle_kqcaracara', -- The upgrade key defined in Config.levelUpgrades
defaultMods = {
[48] = 0 -- Livery
}
},
['kqbison'] = {
label = 'Bison',
model = 'kqbison',
waterTankOffset = vec3(0.0, -2.35, 0.5),
playerOffset = vec3(0.0, -3.3, 0.5),
bedDoorIndex = 5,
backpackRotationOffset = 205,
},
}
Config.defaultVehicle = 'kqbison'
-- Radius that will be checked to verify whether a vehicle can be spawned at a set spawn point.
-- If occupied, the next spawn point will be used
Config.spawnCheckRadius = 3.0
-- Water Tank Configuration
Config.waterTank = {
drainRate = 1.12, -- Water units drained per second while spraying (by default approx 90 seconds of non-stop water per tank)
refillTime = 5, -- Seconds to refill tank
}
-- Whether to use metric units for "go_to" task distance display
-- true = meters/kilometers
-- false = yards/miles
Config.useMetricUnits = true
-- Contract Pool
Config.maxAvailableContracts = 8 -- Max contracts visible on the contract board at once
Config.contractReplenishDelay = 30 -- Seconds before a new random contract appears after one is taken
Config.bonuses = {
-- Bonus percentage when mission is finished in perfect time (5 stars)
perfectTime = 15,
-- Bonus percentage when mission is finished at a good time (4 stars)
goodTime = 5,
-- Bonus percentage received when the vehicle is at perfect health
vehicleCare = 5,
-- Bonus given to the player who has washed the most (Only given when there's more than 1 person in the contract)
topWasher = 5,
-- Maximum vehicle damage penalty amount ($)
maxVehicleDamagePenalty = 1250,
-- Penalty amount applied when the vehicle is missing ($)
missingVehiclePenalty = 1500,
-- Bonuses applied when completing contracts in teams
teamWorkBonuses = {
enabled = true,
memberCounts = {
[1] = 0, -- 0% extra bonus
[2] = 35, -- 35% extra bonus
[3] = 75, -- 75% extra bonus
[4] = 100 -- 100% extra bonus
}
}
}
-- Upgrades unlocked after levelling up in the job career.
-- You can freely modify, remove, and add more
Config.levelUpgrades = {
['outfit_worker'] = {
level = 4,
label = 'Outfit style (Worker)'
},
['vehicle_brakes'] = {
level = 6,
label = 'Work truck brakes upgrade'
},
['vehicle_engine'] = {
level = 8,
label = 'Work truck engine upgrade'
},
['salary_bonus_5'] = {
level = 10,
label = 'Permanent salary increase',
bonusPercentage = 5,
},
['vehicle_tint'] = {
level = 13,
label = 'Work truck window tint'
},
['salary_bonus_10'] = {
level = 15,
label = 'Permanent salary increase II',
bonusPercentage = 10, -- This does not stack with the lower salary increase. Only the highest gets paid out as bonus
},
['vehicle_kqcaracara'] = {
level = 20,
label = 'New work truck (Caracara)'
},
['outfit_experienced'] = {
level = 20,
label = 'Outfit style (Experienced)'
},
['salary_bonus_15'] = {
level = 20,
label = 'Permanent salary increase III',
bonusPercentage = 15, -- This does not stack with the lower salary increase. Only the highest gets paid out as bonus
},
['vehicle_turbo'] = {
level = 25,
label = 'Work truck turbo upgrade'
},
['salary_bonus_25'] = {
level = 40,
label = 'Permanent salary increase IV',
bonusPercentage = 25, -- This does not stack with the lower salary increase. Only the highest gets paid out as bonus
},
}
-- Headquarters Configuration
Config.headquarters = {
-- Coords of the headquarter
coords = vec3(1010.37, -2287.85, 29.51),
-- Blip configuration
blip = {
sprite = 498,
color = 12,
scale = 1.1,
name = 'Dirty Hose Headquarters',
},
-- Supervisor NPC
npc = {
model = 'ig_drfriedlander',
coords = vec4(1002.49, -2286.07, 30.00, 285.0),
scenario = 'PROP_HUMAN_SEAT_CHAIR_FOOD',
},
-- Interaction to open the contract board
jobBoard = {
coords = vec3(1006.41, -2282.35, 31.14),
scale = vec3(0.5, 4.0, 2.5),
interactDist = 4.0,
},
-- Interaction for changing the outfits
outfitZone = {
coords = vec3(1015.5, -2281.42, 30.5),
scale = vec3(3.5, 2.7, 2.5),
interactDist = 3.5,
},
-- Available work outfits
outfits = {
-- When using custom peds, that are not defined as an outfit.
-- The players will be able to access the job board without an outfit.
['mp_m_freemode_01'] = { -- Default Male
['trainee'] = {
label = 'Work Outfit (Trainee)',
components = {
[3] = {drawable = 4, texture = 0}, -- hands/torso
[4] = {drawable = 39, texture = 3}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 27, texture = 0}, -- shoes
[8] = {drawable = 15, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 66, texture = 3}, -- jacket
},
props = {
[1] = {drawable = -1, texture = 0}, -- glasses
},
},
['worker'] = {
label = 'Work Outfit (Worker)',
unlockRequired = 'outfit_worker', -- The upgrade key defined in Config.levelUpgrades
components = {
[3] = {drawable = 4, texture = 0}, -- hands/torso
[4] = {drawable = 191, texture = 0}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 27, texture = 0}, -- shoes
[8] = {drawable = 15, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 519, texture = 0}, -- jacket
},
props = {
[1] = {drawable = -1, texture = 0}, -- glasses
},
},
['experienced'] = {
label = 'Work Outfit (Experienced)',
unlockRequired = 'outfit_experienced', -- The upgrade key defined in Config.levelUpgrades
components = {
[3] = {drawable = 4, texture = 0}, -- hands/torso
[4] = {drawable = 191, texture = 0}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 111, texture = 0}, -- shoes
[8] = {drawable = 155, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 519, texture = 0}, -- jacket
},
props = {
[1] = {drawable = 15, texture = 4}, -- glasses
},
},
},
['mp_f_freemode_01'] = { -- Default Female
['trainee'] = {
label = 'Work Outfit (Trainee)',
components = {
[3] = {drawable = 9, texture = 0}, -- hands/torso
[4] = {drawable = 39, texture = 1}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 26, texture = 0}, -- shoes
[8] = {drawable = 14, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 60, texture = 1}, -- jacket
},
props = {
[1] = {drawable = -1, texture = 0}, -- glasses
},
},
['worker'] = {
label = 'Work Outfit (Worker)',
unlockRequired = 'outfit_worker', -- The upgrade key defined in Config.levelUpgrades
components = {
[3] = {drawable = 9, texture = 0}, -- hands/torso
[4] = {drawable = 205, texture = 0}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 26, texture = 0}, -- shoes
[8] = {drawable = 14, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 558, texture = 0}, -- jacket
},
props = {
[1] = {drawable = -1, texture = 0}, -- glasses
},
},
['experienced'] = {
label = 'Work Outfit (Experienced)',
unlockRequired = 'outfit_experienced', -- The upgrade key defined in Config.levelUpgrades
components = {
[3] = {drawable = 9, texture = 0}, -- hands/torso
[4] = {drawable = 205, texture = 0}, -- legs
[5] = {drawable = 0, texture = 0}, -- bags
[6] = {drawable = 115, texture = 0}, -- shoes
[8] = {drawable = 191, texture = 0}, -- shirt
[9] = {drawable = 0, texture = 0}, -- body armor
[11] = {drawable = 558, texture = 0}, -- jacket
},
props = {
[1] = {drawable = 9, texture = 2}, -- glasses
},
},
},
},
}
-- Global spawn locations for work vehicles
Config.vehicleSpawnLocations = {
vec4(1004.80, -2299.3, 30.50, 266.0),
vec4(1004.80, -2302.7, 30.50, 266.0),
vec4(1004.80, -2306.4, 30.50, 266.0),
vec4(1004.80, -2310.5, 30.50, 266.0),
vec4(1004.80, -2314.1, 30.50, 266.0),
vec4(1004.80, -2317.4, 30.50, 266.0),
vec4(1004.80, -2320.9, 30.50, 266.0),
vec4(1004.80, -2324.3, 30.50, 266.0),
vec4(1027.22, -2308.14, 30.51, 80.0),
vec4(1027.22, -2312.14, 30.51, 80.0),
vec4(1027.22, -2316.14, 30.51, 80.0),
vec4(1027.22, -2320.14, 30.51, 80.0),
vec4(1027.22, -2324.14, 30.51, 80.0),
vec4(1027.22, -2328.14, 30.51, 80.0),
vec4(1027.22, -2332.14, 30.51, 80.0),
vec4(1027.22, -2336.14, 30.51, 80.0),
vec4(1027.22, -2340.14, 30.51, 80.0),
vec4(1051.06, -2318.67, 30.59, 352.0),
vec4(1052.36, -2305.46, 30.59, 352.0),
}
-- Temporary suspension from starting new contracts after leaving an active contract
Config.cancellationBan = {
enabled = true,
duration = 10, -- Minutes banned from starting a new contract, after leaving an active contract
}
Config.misc = {
-- Whether the powerwashing gun should push objects
allowObjectPushing = true,
-- Whether the powerwashing gun should push npc's
allowNpcPushing = true,
-- Whether the powerwashing gun should clean cars
allowCarCleaning = true,
}
-- Power washer weapon
Config.powerWasherWeapon = 'WEAPON_KQPOWERWASHER'
Last updated