# Config

### Config File

{% code fullWidth="false" %}
```lua
Config, Locales = {}, {}

Config.Locale = "en"

Config.DiscordWebhook = "" -- Discord webhook for logging

Config.TestDriveTimeInSeconds = 60

Config.Dealerships = {
	{
		id = "turauto", -- Every dealership should have a unique identifier
		label = "TurAuto", -- Dealership Label
		coords = vec4(-33.15, -1103.7, 26.42, 66.7),
		vehicleShowcaseCoords = vec4(-43.73, -1095.44, 26.42, 152.44), -- Coords where showcase vehicle spawns
		testDriveCoords = vec4(-20.47, -1084.35, 26.64, 253.56), -- Coords to spawn test drive vehicle
		spawnBoughtVehicleCoords = vec4(-38.64, -1078.24, 26.64, 71.38), -- Coords to spawn vehicle when the vehicle is bought
		blip = { -- Config of dealership blip
			id = 225, -- Sprite id
			color = 15, -- Blip color
			scale = 0.7, -- Blip scale
		},
		categories = {
			{
				label = "Normal", -- Category label
				vehicles = {
					{
						label = "Elegy", -- Label of vehicle
						model = "elegy", -- vehicle model
						price = 15000, -- Vehicle price
						currency = "money", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = "€", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50425, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
				},
			},
			{
				label = "Super", -- Category label
				vehicles = {
					{
						label = "T20", -- Label of vehicle
						model = "t20", -- vehicle model
						price = 50000, -- Vehicle price
						currency = "money", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = "€", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50000, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
					{
						label = "Osiris", -- Label of vehicle
						model = "osiris", -- vehicle model
						price = 100000, -- Vehicle price
						currency = "money", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = "€", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50000, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
				},
			},
		},
	},
	{ -- VEHICLE SHOP WITH COINS EXAMPLE
		id = "otherVehicleShop", -- Every dealership should have a unique identifier
		label = "Other Vehicle Shop", -- Dealership Label
		coords = vec4(139.62, -896.91, 30.36, 169.61),
		vehicleShowcaseCoords = vec4(146.66, -904.79, 30.3, 203.8), -- Coords where showcase vehicle spawns
		testDriveCoords = vec4(142.0, -917.84, 30.13, 169.28), -- Coords to spawn test drive vehicle
		spawnBoughtVehicleCoords = vec4(142.0, -917.84, 30.13, 169.28), -- Coords to spawn vehicle when the vehicle is bought
		blip = { -- Config of dealership blip
			id = 225, -- Sprite id
			color = 15, -- Blip color
			scale = 0.7, -- Blip scale
		},
		categories = {
			{
				label = "Normal", -- Category label
				vehicles = {
					{
						label = "Elegy", -- Label of vehicle
						model = "elegy", -- vehicle model
						price = 15, -- Vehicle price
						currency = "coins", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = " Coins", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50425, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
				},
			},
			{
				label = "Super", -- Category label
				vehicles = {
					{
						label = "T20", -- Label of vehicle
						model = "t20", -- vehicle model
						price = 65, -- Vehicle price
						currency = "coins", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = " Coins", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50000, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
					{
						label = "Osiris", -- Label of vehicle
						model = "osiris", -- vehicle model
						price = 50, -- Vehicle price
						currency = "coins", -- Currency used to buy vehicle | money = cash and bank
						currencyLabel = " Coins", -- Label that appears to the currency
						sizes = { -- Size in Grams of the glovebox and trunk
							glovebox = 50000, -- Size in Grams of the glovebox or false if dont have
							trunk = 100000, -- Size in Grams of the trunk or false if dont have
						},
					},
				},
			},
		},
	},
}

---@param duration number # Duration of notification
---@param title string # Notification title can be empty string for qb
---@param desc string # Noticiation description
---@param type 'error'|'info'|'success'|'warning' # Notification type
function Notify(duration, title, desc, type)
	lib.notify({
		title = title,
		description = desc,
		type = type,
		duration = duration,
	})
end

--  _____ ____      _    __  __ _______        _____  ____  _  __
-- |  ___|  _ \    / \  |  \/  | ____\ \      / / _ \|  _ \| |/ /
-- | |_  | |_) |  / _ \ | |\/| |  _|  \ \ /\ / / | | | |_) | ' /
-- |  _| |  _ <  / ___ \| |  | | |___  \ V  V /| |_| |  _ <| . \
-- |_|   |_| \_\/_/   \_\_|  |_|_____|  \_/\_/  \___/|_| \_\_|\_\

-- Change here the name of your framework resource if is custom or dont touch
Config.FrameworkESXResourceName = "es_extended"
Config.FrameworkQBResourceName = "qb-core"
Config.FrameworkQBXResourceName = "qbx_core"

-- Dont touch below, it will auto detect what framework you use
if GetResourceState(Config.FrameworkESXResourceName) == "started" then
	Config.Framework = "esx"
elseif GetResourceState(Config.FrameworkQBXResourceName) == "started" then
	Config.Framework = "qbx"
elseif GetResourceState(Config.FrameworkQBResourceName) == "started" then
	Config.Framework = "qb"
end

```
{% endcode %}

### client/client-customize-me.lua

```lua
-- HERE YOU NEED TO CHECK WICH VEHICLE KEYS YOU USE AND PUT HERE THE EVENT TO GIVE KEYS

---Function to add the vehicle keys of vehicle to a player
---@param vehiclePlate string
---@param vehicle integer
function GiveVehicleKeys(vehiclePlate, vehicle)
	TriggerEvent("vehiclekeys:client:SetOwner", vehiclePlate) -- QB
end
```
