Configuration Files
1. Adjust config.lua to your server core
Adjusting the script to your server core
Config.Core = "ESX"
Config.CoreExport = function()
return exports['es_extended']:getSharedObject()
end
Adjusting the PlayerLoaded trigger from server core to the script
Config.PlayerLoaded = "esx:playerLoaded"
Adjusting the PlayerLogoutServer trigger from server core to the script
Config.PlayerLogoutServer = "esx:playerDropped"
Adjusting the PlayerSetJob trigger from server core to the script
Config.PlayerSetJob = "esx:setJob"
Adjust the Menu to your menu script
Config.Menu = 'esx_context' -- 'esx_menu_default' / 'esx_context' / 'ox_lib'
Config.ESXMenuDefault_Align = 'right'
2. Adjust config.lua to server preferences
Several options are available for interacting with the point
Config.UseMarkers = true
Config.UseText3D = true
Config.UseHelpNotify = true
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
Config.LoadPricesFromDatabase = false
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.
Config.LiveriesUseCustomNames = true
RemoveGunsTuningMods: Do you want tuning parts that add weapons to the vehicle to be automatically detected and removed from the purchase option
Config.RemoveGunsTuningMods = true
DefaultVehiclePrice: Default price if the vehicle is not defined in Config.Vehicles (config.vehicles.lua)
Config.DefaultVehiclePrice = 50000
UseDiscountCodes: Do you want it to be possible to use the discount code for tuning
Config.UseDiscountCodes = true
DiscountCodeLength: from how many characters the code will be generated
Config.DiscountCodeLength = 12
EnableDiscountsForWorkshops: This allows in the boss-menu to create discount codes for the heads of tuning workshops
Config.EnableDiscountsForWorkshops = true
DiscountCodesPercentages: Percentages available to generate codes in boss menu for player
Config.DiscountCodesPercentages = {5, 10, 15, 20}
DiscountCodesUsablesCount: Number of coupons available to generate codes in player's boss menu
Config.DiscountCodesUsablesCount = {1, 2, 3, 4, 5, 10, 15, 20}
AdminDiscountCodesCommand: Commands for administrators to generate and delete discount codes
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"}
}
}
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
Config.UseBuildInCompanyBalance = true
BillMoneyToSocietyPercent: Do you want the company to receive a % from paid billing of tuning a vehicle?
Config.BillMoneyToSocietyPercent = 80
BillMoneyToTunerPercent: Do you want the tuner to receive a % from paid billing of tuning a vehicle?
Config.BillMoneyToTunerPercent = 20
AddSocietyMoneyForTuningPercent: Do you want the company to receive a % from price of tuning a vehicle?
Config.AddSocietyMoneyForTuningPercent = 10 -- number or false
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
Config.UseTuningPoints = true -- true / false
Prepare tuning points accordingly
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'}
},
}
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
Config.UseHelpUI = true
DisableAbilityToRunWithParts: Is the player to be blocked from running with parts in hand?
Config.DisableAbilityToRunWithParts = true
UseManualPartInstallation: Do you want the player to have to manually install each part separately to give the tuning process realism
Config.UseManualPartInstallation = true
UseTargetForPartInstallation: Do you want to use target system for part installation
Config.UseTargetForPartInstallation = false
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
Config.TeleportToVehicleAfterInstallForMS = true
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
Config.TeleportToVehicleAfterFullInstallation = true
InstallationPartsPoints: Points for workshops to find purchased parts for the installation
Use advanced installation
-- @UseAdvancedEngineInstallation: Advanced engine installation with engine on stand
Config.UseAdvancedEngineInstallation = true
-- @UseAdvancedBrakesInstallation: Advanced brakes installation with jacks
Config.UseAdvancedBrakesInstallation = true
-- @UseAdvancedTransmissionInstallation: Advanced transmission installation with jacks
Config.UseAdvancedTransmissionInstallation = true
-- @UseAdvancedSuspensionInstallation: Advanced suspension installation with jacks
Config.UseAdvancedSuspensionInstallation = true
-- @UseAdvancedEngineSwapInstallation: Advanced engine swap installation with engine on stand
Config.UseAdvancedEngineSwapInstallation = true
-- @UseAdvancedWheelsInstallation: Advanced installation of each wheel separately
Config.UseAdvancedWheelsInstallation = true
Last updated
Was this helpful?