Several options are available for interacting with the point
LoadPricesFromDatabase: You can load vehicle prices from the database to automate the configuration process, but make sure that your database match to the function SV.getPricesFromDatabase in config.server.lua
LiveriesUseCustomNames: When using this option, it will search if a name other than NULL exists, if found, it will display the custom name, otherwise, it will set 'Livery ID' as before.
RemoveGunsTuningMods: Do you want tuning parts that add weapons to the vehicle to be automatically detected and removed from the purchase option
DefaultVehiclePrice: Default price if the vehicle is not defined in Config.Vehicles (config.vehicles.lua)
UseDiscountCodes: Do you want it to be possible to use the discount code for tuning
DiscountCodeLength: from how many characters the code will be generated
EnableDiscountsForWorkshops: This allows in the boss-menu to create discount codes for the heads of tuning workshops
DiscountCodesPercentages: Percentages available to generate codes in boss menu for player
DiscountCodesUsablesCount: Number of coupons available to generate codes in player's boss menu
AdminDiscountCodesCommand: Commands for administrators to generate and delete discount codes
UseBuildInCompanyBalance: If you don't want to use the balance built into the Management Menu, set this to false and configure config.server.lua to be compatible with your server, for example a script for banks that may have company accounts
BillMoneyToSocietyPercent: Do you want the company to receive a % from paid billing of tuning a vehicle?
BillMoneyToTunerPercent: Do you want the tuner to receive a % from paid billing of tuning a vehicle?
AddSocietyMoneyForTuningPercent: Do you want the company to receive a % from price of tuning a vehicle?
UseTuningPoints: Do you want to use the points provided by the vms_tuning resource, if you want to use export with another resource set false
Prepare tuning points accordingly
Described options available for Config.TuningPoints
jobGradesToSet - list of possible grades to be given by the boss/manager in the management menu
client_can_select_tuning - With this option activated, it is recommended to use manual installation by a mechanic, because the player will be able to drive to the tuning point, select the parts he is interested in and pay for them himself, then the nearest mechanic is searched for him to install the parts he has selected.
send_bill_to_player - This option when paying for tuning adds a "BILL" button which allows the mechanic to issue a bill to the customer and he will be the one to make the payment of a given amount
pay_from_society- Payment with company money
society_name - Company account name, e.g. 'society_mechanic'
job- Name of the job that will have access to the ability to interact with tuning points.
grades_access- The names of the grades of jobs that have access to the tuning point, you can set them in a table for several, for example {'gradename', 'gradename2'}, as a string for one grade - 'gradename' or set nil as for each player with job.
manager_grades - managers grades so that the script can identify a player as a manager and grant him additional options in the management menu
bossmenu_grades_access- boss grades so that the script can identify a player as a manager and grant him additional options in the management menu
3. Adjust config.installationparts.lua to your server preferences
UseHelpUI: For advanced part installation which can prompt the player what they need to do now
DisableAbilityToRunWithParts: Is the player to be blocked from running with parts in hand?
UseManualPartInstallation: Do you want the player to have to manually install each part separately to give the tuning process realism
UseTargetForPartInstallation: Do you want to use target system for part installation
TeleportToVehicleAfterInstallForMS: Is the player to be teleported to the vehicle for a millisecond, it will not be practically visible and the newly installed part in each player will synchronize
TeleportToVehicleAfterFullInstallation: Is the mechanic to be transported to the vehicle after the installation of all parts is completed so that all Vehicle Properties are loaded
InstallationPartsPoints: Points for workshops to find purchased parts for the installation
Config.AdminDiscountCodesCommand = {
generate = {
enabled = true,
commandName = "generatetuningcode",
argumentsLabels = {
[1] = "Code name or 0 - if you want to be random",
[2] = "Mechanic Point name or all",
[3] = "Percentage of discount",
[4] = "Count to use"
},
helpLabel = "Generate a discount code for tuning.",
groups = "admin", -- example: string: "admin" or table: {"admin", "moderator"}
},
remove = {
enabled = true,
commandName = "removetuningcode",
argumentsLabels = {
[1] = "Code name"
},
helpLabel = "Remove tuning discount code by name.",
groups = "admin", -- example: string: "admin" or table: {"admin", "moderator"}
}
}
Config.UseBuildInCompanyBalance = true
Config.BillMoneyToSocietyPercent = 80
Config.BillMoneyToTunerPercent = 20
Config.AddSocietyMoneyForTuningPercent = 10 -- number or false
Config.UseTuningPoints = true -- true / false
Config.TuningPoints = {
['BennyS'] = {
-- BennyS: Interior Benny'S.
blip = {
enabled = true,
sprite = 72,
display = 4,
scale = 0.85,
color = 83,
coords = vec(-222.41, -1329.52, 29.89),
name = "Tuning",
},
marker = {
enabled = true,
id = 1,
size = vec(2.7, 2.7, 0.25),
color = {r=87, g=60, b=250, a=125},
rotate = false,
distanceToSee = 15.0,
distanceToAccess = 1.9
},
markerBossMenu = {
enabled = true,
id = 29,
coords = vector3(-197.97, -1341.61, 34.7),
size = vec(0.55, 0.55, 0.55),
color = {r=87, g=60, b=250, a=125},
rotate = true,
distanceToSee = 15.0,
distanceToAccess = 1.3,
},
whitelist = {
-- vehicleClasses = {},
-- indexedColors = {},
-- menus = {},
-- parts = {},
-- actions = {},
},
blacklist = {
-- vehicleClasses = {},
-- indexedColors = {},
-- menus = {},
-- parts = {},
-- actions = {},
},
points = {
vector3(-222.41, -1329.52, 29.89),
vector3(-223.26, -1323.21, 29.89),
},
jobGradesToSet = {
{grade = 'recruit', label = 'Recruit'},
{grade = 'employee', label = 'Employee'},
{grade = 'manager', label = 'Manager', needToBeBoss = true}, -- needToBeBoss means that only the boss can give this grade, the manager will not be able to do so
{grade = 'boss', label = 'Boss', needToBeBoss = true}, -- needToBeBoss means that only the boss can give this grade, the manager will not be able to do so
},
vehicleSpawn = vector4(-181.4, -1289.19, 30.3, 175.67),
client_can_select_tuning = false, -- this causes each player to be able to select parts for his vehicle, then when paying, he selects the nearest mechanic who will install all the selected parts for him
send_bill_to_player = true,
pay_from_society_money = false, -- Do you want the payment to be made with money from the society, if so, you need to enter the account name in society_name
society_name = 'society_mechanic', -- Society name will be requiered for pay_from_society_money or for Config.AddSocietyMoneyForTuningPercent or for Config.BillMoneyToSocietyPercent | example: 'society_mechanic',
job = 'mechanic', -- not required if you want to use this public.
grades_access = {'recruit', 'employee', 'manager', 'boss'}, -- nil for every user with job, string: 'name', table: {'name', 'name2'}
manager_grades = 'manager', -- string: 'name', table: {'name', 'name2'}
boss_grades = 'boss', -- string: 'name', table: {'name', 'name2'}
},
}