config
t1ger_chopshop/shared/config.lua
All configurable options
Config = {}
Config.Debug = true
Config.Currency = "$" -- Currency used for pricing
Config.ServerSideProps = true -- Create objects/props on server or client?
Config.Items = require("shared/items") -- Loads items and data from shared/items.lua
Config.PoliceJobs = {"police", "lspd"} -- Define your police jobs in here
Config.PoliceAlert = { -- Police Alert
Enable = true, -- enable/disable our built in police alert?
Blip = { -- blip settings for police blip?
enable = true, -- enable blip?
duration = 20,
radius = 50,
alpha = 250,
color = 3
}
}
Config.FixerNPC = { -- The Fixer NPC
Model = "s_m_m_autoshop_02", -- model of the fixer the npc
Coords = vec4(-68.26, 191.96, 87.39, 170.07), -- coords for the npc
Scenario = "WORLD_HUMAN_STAND_MOBILE", -- scenario to play
Blip = {enable = true, name = "The Fixer", sprite = 792, display = 4, color = 81, scale = 0.8}, -- blip settings
TargetIcon = "fa-solid fa-comment", -- icon shown when targetting the npc
}
Config.ChopZones = require("shared/chopzones") -- Loads chop zones from the shared/chopzones.lua file.
--- Chop List
Config.ChopList = {
Enable = true, -- Set to false to disable chop list feature thus allowing to chop any vehicles in the chop zones
Commands = { -- Command to view chop list vehicles
view = {
name = "choplist:view", -- Command name
restrict = true, -- Set to false to be able to use command anywhere and not only in chop zones
},
refresh = {
name = "choplist:refresh", -- Command name
allowAdmins = true, -- Set to false to only allow refresh from server-console
}
},
FixerMenu = {
show = true, -- Show view chop list option in fixer menu?
icon = "fa-list", -- Icon to show for chop list option in fixer menu
},
ShowExpiryTime = true, -- Show minutes left for current car list in menu?
ExpiryMenuIcon = "clock", -- Menu icon for expiry timer
RefreshInterval = 60, -- Minutes between list refresh
MaxVehicles = 10, -- Number of vehicles in each list refresh
ModelMenuIcon = "car", -- Icon for each vehicle model in the chop list menu
ModelQuota = {
enable = true, -- Enable per-model chop limits during each list cycle
min = 2, -- Minimum number of times each selected model can be chopped
max = 5 -- Maximum number of times each selected model can be chopped
},
ModelPool = { -- List vehicle models in here to scramble in the chop list
"sultan", "exemplar", "felon", "f620", "panto", "baller2", "baller", "buffalo", "manana", "emperor", "minivan", "fugitive", "intruder", "premier", "washington",
"asterope", "fusilade", "penumbra", "prairie", "futo", "ingot", "stanier", "dilettante", "regina", "rhapsody", "granger", "rocoto", "landstalker", "seminole",
"zion", "oracle", "tailgater", "glendale", "asea", "sentinel", "jackal", "cavalcade", "issi2"
},
}
--- Chopping settings
Config.Chopping = {
OwnedVehicles = false, -- Enable/disable chopping owned vehicles?
DeleteOwnedVehicles = false, -- delete owned vehicle from database if frame scrapped? Only works if `Config.Chopping.OwnedVehicles` is enabled
ChopListOnly = true, -- Only allow chopping vehicles from chop list? Or allow all vehicles?
Blacklist = { -- Blacklist certain vehicles from being chopped?
models = {"police3", "police4"}, -- Cannot chop these models. Add/remove models as you like
plateMatch = {"JOB", "COP"}, -- Cannot chop vehicles with plate prefix starting with these
},
CancelCommand = {enable = true, name = "chop:cancel"}, -- Command to clear the tool prop and cancel anim
TargetIcon = { -- Icons for target options
start = "fa-solid fa-recycle", -- When u start the chopping session
chop = "fa-solid fa-hammer", -- When u want to chop a given part
scrap = "fa-solid fa-trash-can", -- When u want to scrap the vehicle frame
salvage = "fa-solid fa-gears", -- When u want to salvage engine components
},
PointRewards = {
door = 1, -- amount of points to add when door is chopped
hood = 1, -- amount of points to add when hood is chopped
trunk = 1, -- amount of points to add when trunk is chopped
wheel = 1, -- amount of points to add when wheel is chopped
engine_components = 1, -- amount of points to add when engine components are salvaged
scrap = 5, -- amount of points to add when vehicle frame is scrapped
},
Tools = { -- tools used for chopping vehicles. Specify duration and enable/disable skillcheck and set difficulty
socket_wrench = {
requiredPoints = 0, -- required points to use item?
duration = 6000, -- duration in MS for animation
progressbar = true, -- enable / disable progress bar?
skillcheck = {enable = true, difficulty = {"easy", "easy", "easy", "easy"}, inputs = {"w", "a", "s", "d"}}
},
impact_wrench = {
requiredPoints = 500, -- required points to use item?
duration = 3000, -- duration in MS for animation
progressbar = true, -- enable / disable progress bar?
skillcheck = {enable = true, difficulty = {"easy", "easy"},inputs = {"w", "a", "s", "d"}}
},
cutting_torch = {
requiredPoints = 0, -- required points to use item?
duration = 6000, -- duration in MS for animation
progressbar = true, -- enable / disable progress bar?
skillcheck = {enable = true, difficulty = {"easy", "easy", "easy", "easy"}, inputs = {"w", "a", "s", "d"}}
},
angle_grinder = {
requiredPoints = 1500, -- required points to use item?
duration = 3000, -- duration in MS for animation
progressbar = true, -- enable / disable progress bar?
skillcheck = {enable = true, difficulty = {"easy", "easy"}, inputs = {"w", "a", "s", "d"}}
},
},
EngineBayComponents = {
enable = true, -- allow to salvage engine bay for components?
requiredPoints = 1000, -- required reputation points to salvage engine bay area?
duration = 8000, -- duration in MS for animation
progressbar = true, -- enable / disable progress bar?
skillcheck = {enable = true, difficulty = {"easy", "easy", "easy", "easy"}, inputs = {"w", "a", "s", "d"}},
items = { -- list of items that player has chance of receiving when done with engine salvaging
{name = "t1ger_alternator", chance = 80},
{name = "t1ger_radiator", chance = 100},
{name = "t1ger_fuelinjector", chance = 50},
{name = "t1ger_powersteeringpump", chance = 75},
{name = "t1ger_transmission", chance = 40},
}
},
ScrapFrame = {
duration = 10000, -- duration in MS
progressbar = true, -- enable/disable progressbar?
reward = { -- When scrapping the frame, add items to receive. Use min = 0 to make it random to even receive that type of material
{item = "scrap_metal", amount = {min = 2, max = 6}},
{item = "steel", amount = {min = 1, max = 4}},
{item = "aluminium", amount = {min = 0, max = 3}},
{item = "plastic", amount = {min = 1, max = 2}},
{item = "glass", amount = {min = 1, max = 2}},
{item = "rubber", amount = {min = 0, max = 2}},
{item = "electric_scrap", amount = {min = 0, max = 2}}, -- random chance
{item = "copper", amount = {min = 0, max = 2}},
-- add or remove lines/items
}
}
}
--- Vehicle Radar Tool
Config.VehicleRadar = {
Enable = true, -- enable vehicle radar usage?
Blip = { -- blip settings
color = 76, -- blip color
alpha = 120, -- blip alpha
radius = 100.0, -- blip radius
duration = 20, -- duration in seconds
},
}
--- Vehicle Lockpicking
Config.VehicleLockpick = {
Enable = true, -- enable our built-in lockpicking?
Skillcheck = {difficulty = {"easy", "easy", "easy", "easy", "easy"}, inputs = {"w", "a", "s", "d"}}, -- skillcheck settings (use custom minigame inside client/customize.lua)
RemoveItem = true, -- remove lockpick item on usage?
Alarm = {
enable = true, -- enable vehicle alarm sound & effects upon lockpicking
chance = 50, -- chance between 1-100
duration = 10000, -- alarm sound duration in MS
},
}
--- Repuration system
Config.Reputation = {
Enable = true, -- set to false to disable reputation system entirely
MenuIcon = "fa-star", -- icon in the Fixer NPC menu
AutosaveInterval = 5, -- auto save all reputation data for players every x minutes
Commands = { -- commands to set, add and remove reputation points
set = {enable = true, name = "reputation:set"}, -- enable for admins? False only useable by server-console
add = {enable = true, name = "reputation:add"}, -- enable for admins? False only useable by server-console
remove = {enable = true, name = "reputation:remove"}, -- enable for admins? False only useable by server-console
},
CommandSuggestion = "Usage: /%s <playerId> <amount>", -- command suggestion/helper. %s is automatically calling `set`, `add` or `remove`
Levels = { -- the script ONLY checks for reputation points. All the rank/titles are fictional
[0] = "Street Scav",
[250] = "Tool Runner",
[500] = "Parts Hustler",
[800] = "Grease Monkey",
[1200] = "Chop Apprentice",
[1500] = "Engine Surgeon",
[2000] = "Frame Butcher",
[2500] = "Auto Dissector",
[3000] = "Ghost Mechanic",
[4000] = "Industrial Ripper",
[5500] = "Machine Surgeon",
[7000] = "Vehicle Anarchist",
[9000] = "Urban Legend",
[12000] = "Master Reclaimer",
-- add or remove ranks as you like
},
ProgressColors = { -- Set up colors for progression in reputation menu option
{ threshold = 0, color = "#dc2626" }, -- Red
{ threshold = 20, color = "#f97316" }, -- Orange
{ threshold = 40, color = "#facc15" }, -- Yellow
{ threshold = 60, color = "#84cc16" }, -- Lime
{ threshold = 80, color = "#22c55e" }, -- Bright Green
{ threshold = 100, color = "#16a34a" }, -- Deep Green
}
}
--- Settings for statistics at the Fixer NPC
Config.Statistics = {
Enable = true,
MenuIcon = "fa-chart-simple",
Options = {
title = {enable = true, icon = "id-card"}, -- enable/disable option and set icon
points = {enable = true, icon = "chart-line"}, -- enable/disable option and set icon
parts = {enable = true, icon = "hammer"}, -- enable/disable option and set icon
scraps = {enable = true, icon = "car-burst"}, -- enable/disable option and set icon
contracts = {enable = true, icon = "file-contract"}, -- enable/disable option and set icon
bounties = {enable = true, icon = "bullseye"}, -- enable/disable option and set icon
leaderboards = {enable = true, icon = "ranking-star"} -- enable/disable option and set icon
},
Leaderboards = {
topCount = 10, -- by default shows top 10. You can lower or raise to show more/less.
options = {
points = {enable = true, icon = "chart-line"}, -- enable/disable option and set icon
parts = {enable = true, icon = "hammer"}, -- enable/disable option and set icon
scraps = {enable = true, icon = "car-burst"}, -- enable/disable option and set icon
contracts = {enable = true, icon = "file-contract"}, -- enable/disable option and set icon
bounties = {enable = true, icon = "bullseye"} -- enable/disable option and set icon
}
}
}
--- Settings for the tool shop provided by the Fixer NPC
Config.ToolShop = {
Enable = true, -- set to false to disable tools acquisiton in the fixer menu
MenuIcon = "fa-tools", -- icon in the Fixer NPC menu
MaxPurchaseQty = 20, -- max amount of an item to purchase at once
BankPay = false, -- set to true to use bank money, otherwise uses cash/money in inventory/purse
Items = require("shared/toolshop"), -- loads items in shop from shared/toolshop.lua
}
--- The fixer's black-market to sell salvaged parts or exchange them for materials
Config.BlackMarket = {
Enable = true, -- set to false to disable black market (sell or exchange salvaged parts)
MenuIcon = "fa-exchange-alt", -- icon in the Fixer NPC menu
Sell = {
enable = true, -- enable/disable sell system?
menuIcon = "fa-coins", -- menu icon
options = require("shared/bm_sell"), -- loads sell options from the shared/bm_sell.lua file.
},
Exchange = {
enable = true, -- enable/disable exchange system?
menuIcon = "fa-recycle", -- menu icon
options = require("shared/bm_exchange") -- loads exchange options from the shared/bm_exchange.lua file.
}
}
-- Structured missions provided by the Fixer NPC to source specific types of vehicles for higher rewards
Config.Contracts = {
Enable = true, -- set to false to disable vehicle contracts
MenuIcon = "file-contract", -- menu icon
Cooldown = {enable = true, duration = 5}, -- enable/disable cooldown and set duration in minutes
Dropoff = { -- vehicle dropoff location and settings
coords = vector3(-71.81, 185.67, 87.42),
blip = {sprite = 162, scale = 0.7, color = 2, route = true, text = "Vehicle Dropoff"},
marker = {type = 20, scale = {0.35, 0.35, 0.35}, rgba = {32, 173, 63, 100}},
keybind = 38, -- keybind to dropoff vehicle
},
Boosting = { -- vehicle boosting contract
enable = true, -- enable this contract?
title = locale("menu_title.contracts_boosting"), -- menu title
icon = "fa-car-side", -- menu icon
description = locale("menu_description.contracts_boosting"), -- menu description
requiredPoints = 0, -- required points to start contract
data = require("shared/boosting") --
},
Repossession = { -- vehicle repossession contract
enable = true, -- enable this contract?
title = locale("menu_title.contracts_repossession"), -- menu title
icon = "fa-handcuffs", -- menu icon
description = locale("menu_description.contracts_repossession"), -- menu description
requiredPoints = 2000, -- required points to start contract
data = require("shared/repossession") --
},
}
-- Place or claim bounties on specific vehicles by model or plate; deliver them to the fixer for rewards
Config.Bounty = {
Enable = true, -- set to false to disable vehicle contracts
MenuIcon = "fa-bullseye", -- menu icon
Commission = 15, -- % fee deducted when bounty is completed or removed (if partial refund is enabled)
AllowRemoval = true, -- Can players remove bounties after placing them?
RefundOnRemoval = "partial", -- Options: "none" (gets nothing back), "full" (gets everything back), "partial" (gets bounty - commission back)
Reward = {
min = 2000, -- minimum reward
max = 25000 -- maximum reward
},
ReputationReward = 50, -- add reputation points on delivery? Set to 0 to disable.
Warehouse = { -- bounty vehicle delivery and retrieval
coords = vector4(1087.68, -2289.63, 30.17, 266.45), -- coords
blip = {enable = true, name = "Fixer Warehouse", sprite = 524, display = 4, color = 81, scale = 0.8}, -- blip settings
marker = {type = 20, scale = {0.35, 0.35, 0.35}, rgba = {245, 175, 39, 100}}, -- marker settings
keybind = 38, -- Default keybind [E]
}
}
--- Define materials
Config.Materials = { -- index is item name and value is item label.
scrap_metal = "Scrap Metal",
steel = "Steel",
aluminium = "Aluminium",
plastic = "Plastic",
rubber = "Rubber",
electric_scrap = "Electric Scrap",
glass = "Glass",
copper = "Copper",
carbon_fiber = "Carbon Fiber",
brass = "Brass",
synthetic_oil = "Synthetic Oil",
acid = "Acid"
}
Last updated