Zyke ResourcesDocumentation

Config

Explanations for all config values.

General Information

Additional Settings
If there is a feature within the script that you can't find in the script's config, there is a chance that the configuration lies within zyke-lib.

Keymapping
When stated to utilize keymapping, the key can be changed in your GTA / FiveM keybinds.

Keys
All available keys can be found here.

Prop Models
All prop models can be found here.

Ped Models
All ped models can be found here.

Blip Settings
All blip settings can be found here.

#Config.Settings

All basic settings.

#debug

Debugging is a development tool used to track values within the resource. If you are experiencing odd issues, we recommend using the debug functionality to have a transparent view of what happens within the script. Utilizing debug can help you spot weird values and easily address the problem.

Example:

lua
debug = false

#displayGarageCoverage

This is another development tool. By enabling this you can have a rough overview of the garages spread out across the map. This can help locate deadspots where the accessibility to very limited.

Example:

lua
displayGarageCoverage = false

#ensureVehicleExistence

If the vehicle has a parked state of 0, which means that it is not parked, and it does not exist in the world, enabling this setting will ensure that it exists in the default impound. This is to prevent situations where your vehicle has been taken out, removed for any reason and can no longer be used.

Example:

lua
ensureVehicleExistence = true

#vehiclesMenuKey

The default key used to open the vehicle actions menu. It is utilizing FiveM's keymapping, which means each person can adjust this in their game settings.

Example:

lua
vehiclesMenuKey = "U"

#gradeNameSeparator

When handling and tracking profession-based access we separate other types of identifiers from profession grades by adding this separator at the very beginning. If you have any grades with the separator already in their name, it will cause issues. It will format "chief" to "grade:chief".

Example:

lua
gradeNameSeparator = "grade:"

#logsMasterSwitch

Easily enable or disable all logging with a master switch.

Example:

lua
logsMasterSwitch = true

#useDeformation

By enabling this, we utilize a 3rd party script to track the deformation on your vehicle. This is to more accurately track and apply damages to your vehicle.

Example:

lua
useDeformation = true

#reservedBuckets

Routing buckets are what is used to distribute people across "private sessions". We utilize them to only display entities or players in certain private garages or prevent problems when using the garage builder. When entering a private garage it will take the reserved value plus the index of the garage, which is basically in which order you created the garages. So if you have 100 garages, your range would be between 1001-1101 if you have 1000 as your value. It is important that these are unique to not cause any issues with other resources.

Example:

lua
reservedBucket = 1000

#vinLength

Number of characters the vin number will be. Should not touch this. Note that if you change this after vehicles have received a vin, it may break certain functionalities, also important that it has to be larger than entity identifiers, which is ~7

Example:

lua
vinLength = 13

#lockNpcCars

Enabling this will create a loop running in the background to ensure all vehicles that are not owned to be locked. There is built-in functionality for temporary keys to these vehicles, so they are not completely disabled to use.

Example:

lua
lockNpcCars = true

#impound

Various settings for the impounds.

lua
impound = {
    command = "impound",
    defaultPrice = 2500,
    priceStepper = 500,
    useSocietyPayout = true,
    jobs = {
        {name = "mechanic", garage = "mechanic_impound", society = "mechanic", label = "Mechanic", restricted = 6, maxPrice = 20000, allowLicenseRequirement = true},
        {name = "police",  garage = "police_impound", society = "police", label = "Police", maxPrice = 50000, allowLicenseRequirement = true},
        {name = "security",  garage = "security_impound", society = "security", label = "Security", restricted = 3, maxPrice = 5000},
    },
    length = {
        {value = 0, label = "Available Instantly"},
        {value = 3600, label = "1 Hour"},
        {value = 14400, label = "4 Hours"},
        {value = 43200, label = "12 Hours"},
        {value = 86400, label = "1 Day"},
        {value = 172800, label = "2 Days"},
        {value = 345600, label = "4 Days"},
        {value = 604800, label = "7 Days"},
    },
}

#impound.command

Command to prompt the impound menu.

Example:

lua
command = "impound"

#impound.defaultPrice

Default price is applied when you get your vehicle through logsMasterSwitchor the onRestart functionality.

Example:

lua
defaultPrice = 2500

#impound.priceStepper

This is the stepper for the impound price using the ox_lib slider. Every "tick" on the slider is now the stepper instead of 1, this allows for easy and accurate adjustment at higher prices. Recommended to have the defaultPrice and impound max prices divisible by the stepper for a smoother end result.

Example:

lua
impound = {
    priceStepper = 500,
}

#impound.useSocietyPayout

If enabled, all the money paid for impounds will go to the society account of the impounder. If disabled, it will not pay out to anything, just remove the money from the player.

Example:

lua
useSocietyPayout = true,

#impound.jobs

All jobs able to perform impound actions.

Example:

lua
jobs = {
    {name = "mechanic", garage = "mechanic_impound", society = "mechanic", label = "Mechanic", restricted = 6, maxPrice = 20000, allowLicenseRequirement = true, allowVehicleRemoval = true},
    {name = "police",  garage = "police_impound", society = "police", label = "Police", maxPrice = 50000, allowLicenseRequirement = true},
    {name = "security",  garage = "security_impound", society = "security", label = "Security", restricted = 3, maxPrice = 5000},
},

#impound.jobs[x].name

The name of the job.

Example:

lua
name = "mechanic"

#impound.jobs[x].label

Neatly typed label for the menu.

Example:

lua
label = "Mechanic"

#impound.jobs[x].restricted

Utilizing the restricted value, you can restrict the max time a job can impound a vehicle for. The number you set is the index inside of lengths found here: impound.length.

Restricting in this way means that the vehicle can not have it's impound fee paid for and can not be driven at all. This is recommended to only be utilized by law enforcement.

Set the value to 1 to completely disable this feature as it will only allow the impounder to set it to instantly available.

Example:

lua
restricted = 6

#impound.jobs[x].maxPrice

Limit the max price this job can set as your impound fee. Recommended to have it divisble by the price stepper to make the UI cleaner.

Example:

lua
maxPrice = 20000

#impound.jobs[x].allowLicenseRequirement

If enabled, your job can require a drivers license for the owner of the vehicle to pay the impound fee. This is mainly meant for police when they remove someone's license, impounds the vehicle and don't want them to access the vehicle before receiving a new license.

Example:

lua
allowLicenseRequirement = true

#impound.jobs[x].allowVehicleRemoval

If enabled, your job can instantly have vehicles removed by ticking the "remove vehicle" box when impounding.

Example:

lua
allowVehicleRemoval = true

#impound.length

Different lengths impounders can lock a vehicle for. Always keep at least one value in here, otherwise it is free to change however you want.

Example:

lua
length = {
    {value = 0, label = "Available Instantly"},
    {value = 3600, label = "1 Hour"},
    {value = 14400, label = "4 Hours"},
    {value = 43200, label = "12 Hours"},
    {value = 86400, label = "1 Day"},
    {value = 172800, label = "2 Days"},
    {value = 345600, label = "4 Days"},
    {value = 604800, label = "7 Days"},
}

#impound.length[x].value

The length of the restriction in seconds.


Example:

lua
value = 3600

#impound.length[x].label

Neatly typed label for the option.


Example:

lua
label = "1 Hour"

#retrictedProfessions

Adding a profession into here will restrict their profession-locked vehicles.

Parking, accessing and transferring to other garages will be locked. You will only be able to access the profession-locked vehicles inside of garages that are locked to that profession.

Note that you can still transfer your vehicles from another garage into the profession garage in case it has appeared there for some reason, such as switching this setting.

Example:

lua
restrictedProfessions = {
    ["police"] = true,
    ["mechanic"] = true,
    ["lostmc"] = true,
},

#storeVehicle

Various settings for storing vehicles.

Example:

lua
storeVehicle = {
    openKey = "E",
    displayOptions = {
        drawMissionText = false,
        textOnPlayer = false,
        helpNotification = true,
    },
}

#storeVehicle.openKey

Default key to press to store your vehicles. Utilizes keymapping.

Example:

lua
openKey = "E"

#storeVehicle.displayOptions

Various display options to visualize that you are in an area where you can store your vehicle.

Example:

lua
displayOptions = {
    drawMissionText = false,
    textOnPlayer = false,
    helpNotification = true,
}

#blipDetails

Global blip settings for all garages, unless new settings are applied in the garage builder.

Example:

lua
blipDetails = {
    enabled = true,
    icon = 357,
    scale = 0.8,
    color = 3,
    shortRange = true,
    scaleRange = {0.2, 1.0},
}

#blipDetails.enabled

Enable or disable the blip.

Example:

lua
enabled = true

#blipDetails.icon

The icon for the garage blip on the map.

Example:

lua
icon = 357

#blipDetails.scale

The scale / size of the blip. The default is a great middleground, can be smaller if you want to make the map more clean.

Example:

lua
scale = 0.8

#blipDetails.color

Color of the blip, set to -1 to disable.


Example:

lua
color = 3

#blipDetails.shortrange

Enabling shortrange will hide the icon on your minimap unless you are close enough to it where it can be properly shown. Recommended to keep this set as true, otherwise your minimap will get very cluttered.

Example:

lua
shortRange = true

#blipDetails.scaleRange

Minimum and maximum scale allowed for the blip settings in the garage builder. This means that the garage builder can set the blip to any value in here. Recommended to modify to your server's needs, perhaps even setting both the minimum and maximum to the default scale to enforce consitency throughout the map.

Note that anything below 0.2 will be invisible, hence why the minimum is set as that.

Example:

lua
scaleRange = {0.2, 1.0}

#fakePlate

Various settings for the fake plate.

Example:

lua
fakePlate = {
    ensureUniqueFakePlate = false,
}

#fakePlate.ensureUniqueFakePlate

If enabled, you can not set a fake plate to any real for or any other fake plate. This means that all plates will be unique. If you want fake plates to be a part of your server where a criminal can mask their vehicle, keep this false.

Example:

lua
ensureUniqueFakePlate = false

#wipeVehicle

Various settings for the wipe vehicle functionality.

Note that you have to sit in a vehicle to wipe it.

Example:

lua
wipeVehicle = {
    enabled = true,
    command = "wipevehicle",
    permission = "admin",
}

#wipeVehicle.enabled

Enable/disable this functionality enitrely.

Example:

lua
enabled = true

#wipeVehicle.command

The command for wiping a vehicle.

Example:

lua
command = "wipevehicle"

#wipeVehicle.permission

The required permission to perform this action.

Example:

lua
permission = "admin"

#setPlate

Various settings for setting a vehicle plate.

Example:

lua
setPlate = {
    enabled = true,
    command = "setplate",
    permission = "admin",
}

#setPlate.enabled

Enable/disable this functionality entirely.

Example:

lua
enabled = true

#setPlate.command

The command for setting a plate.

Example:

lua
command = "setplate"

#setPlate.permission

The required permission to perform this action.

Example:

lua
permission = "admin"

#saveVehicle

Various settings for saving the vehicle manually.

This functionality is mainly meant to aid jobs that modify your vehicle. Instead of driving it into the garage to save it, running the command will do it. Utilizing our save system will ensure that you have the correct values in the database.

Can also be used for mechanics or other jobs that can repair vehicles.

Note that we also offer an export to do this (LINK EXPORT).

Example:

lua
saveVehicle = {
    command = "savevehicle",
    jobs = {"mechanic", "bennys"}
}

#saveVehicle.command

The command to save the vehicle.

Example:

lua
command = "savevehicle"

#saveVehicle.jobs

The jobs allowed to manually save a vehicle. This is recommended to limit to jobs that can modify or repair vehicles.

Example:

lua
jobs = {"mechanic", "bennys"}

#claimVehicle

Various settings for claiming vehicles.

Example:

lua
claimVehicle = {
    command = "claimvehicle",
    enabledForPersonalVehicles = true,
    enabledForPublicVehicles = true,
    permission = "admin",
}

#claimVehicle.command

Command to claim a vehicle.

Example:

lua
command = "claimvehicle"

#claimVehicle.enabledForPersonalVehicles

Enabling this feature allows admins to claim another person's vehicle and transfer the ownership.

Example:

lua
enabledForPersonalVehicles = true

#claimVehicle.enabledForPublicVehicles

Enabling this feature allows admins to claim "NPC" vehicles and transfer the ownership. This means that any vehicle that is not owned in the database can be claimed.

Example:

lua
enabledForPublicVehicles = true

#claimVehicle.permission

The permission required to perform this action.

Example:

lua
permission = "admin"

#vehicleTypes

All vehicle types that exist. Not recommended to touch, unless you're just changing the label.

Example:

lua
vehicleTypes = {
    {name = "automobile", label = "Car"},
    {name = "bike", label = "Bike"},
    {name = "trailer", label = "Trailer"},
    {name = "boat", label = "Boat"},
    {name = "submarine", label = "Submarine"},
    {name = "heli", label = "Helicopter"},
    {name = "plane", label = "Plane"},
    {name = "train", label = "Train"},
}

#vehicleTypes[x].name

The name for the vehicle type. Do not touch as all types are already added and properly named.

#vehicleTypes[x].label

Neatly typed label for the menu.

Example:

lua
label = "Car"

#lockpicking

Various settings for lockpicking vehicles.

All of these settings are part of the unlocked lockpicking file, so if not used, all of it can be removed.

Example:

lua
lockpicking = {
    enabled = true,
    restrictedVehicles = {
        temp = false,
        personal = false,
        profession = true,
    },
    timeToLockpick = 10000,
    items = {
        ["lockpick"] = {timeMultiplier = 1.2},
        ["advancedlockpick"] = {timeMultiplier = 0.5}
    },
    dict = "anim@gangops@facility@servers@",
    anim = "hotwire",
}

#lockpicking.enabled

Enable or disable lockpicking with a simple switch

Example:

lua
enabled = true

#lockpicking.restrictedVehicles

Enable or disable the ability to lock certain vehicles. Enabling a category here will restrict that category from being able to be lockpicked.

Example:

lua
restrictedVehicles = {
    temp = false,
    personal = false,
    profession = true,
}

#lockpicking.restrictedVehicles.temp

Temporary vehicles are vehicles that are not owned by anyone. If you have lockNpcCars set to true, this setting allows you to pick the locks of those vehicles.

Note that vehicles with given temp keys, such as rented vehicles, also fall under this category.

Example:

lua
temp = false

#lockpicking.restrictedVehicles.personal

Personal vehicles are simply vehicles owned by players.

Example:

lua
personal = false

#lockpicking.restrictedVehicles.profession

Profession vehicles are vehicles owned by jobs or gangs.

Example:

lua
profession = true

#lockpicking.timeToLockpick

The time it takes to lockpick a vehicle, in seconds.

Example:

lua
timeToLockpick = 10

#lockpicking.items

The available lockpicking items that you can use and their settings.

Example:

lua
items = {
    ["lockpick"] = {timeMultiplier = 1.2},
    ["advancedlockpick"] = {timeMultiplier = 0.5}
}

#lockpicking.items[x].timeMultiplier

This setting allows you to use different tiers of lockpicks to speed up or slow down the time it takes. It is a multiplier for the original value. 1.2 will make it take 20% longer.

Example:

lua
timeMultiplier = 1.2

#lockpicking.dict

The animation dictionary that will be used when lockpicking.

Example:

lua
dict = "anim@gangops@facility@servers@"

#lockpicking.anim

The animation "clip" that will be used when lockpicking. This is the specific animation inside of the dictionary.

Example:

lua
anim = "hotwire"

#garageTransfers

Various settings for garage transfers.

Example:

lua
garageTransfers = {
    enabled = true,
    automaticTransfer = false,
    price = 1250,
}

#garageTransfers.enabled

Enable or disable transferring vehicles between different garagers.

Example:

lua
enabled = true

#garageTranfers.automaticTransfers

Enabling this will remove the transfer button and let you take our vehicles out without any extra steps. The price, if it does cost to take vehicles out, will be displayed and paid when you take the vehicle out. This functionality exists for those that want to open the garage and drive away swiftly.

Example:

lua
automaticTransfer = false

#gargeTransfers.price

This is the price you pay when transferring your vehicles. Set to 0 to disable.

Example:

lua
price = 1250

#initializeVehicles

Various settings for initializing vehicles, this is for migrating vehicles from an old garage system to ours.

Example:

lua
initializeVehicles = {
    permission = "admin",
    command = "ginitvehicles",
}

#initializeVehicles.permission

The permission required to run the command.

Example:

lua
permission = "admin"

#initializeVehicles.command

Command to initialize vehicles.

Example:

lua
command = "ginitvehicles"

#initializeDisabledVehicles

Various settings for initializing disabled vehicles. This is used to initialize vehicles that have been set as disabled for various reasons.

Example:

lua
initializeDisabledVehicles = {
    permission = "admin",
    command = "ginitdisabled",
}

#initializeDisabledVehicles.permission

The permission required to run the command.

Example:

lua
permission = "admin"

#initializeDisabledVehicles.command

Command to initialize the disabled vehicles.

Example:

lua
command = "ginitdisabled"

#purgeDisabledVehicles.command

Command to purge disabled vehicles from the database. This has to be ran from the server console.

Example:

lua
command = "gpurgedisabled"

#garageBuild

Various settings for the garage builder.

Example:

lua
garageBuild = {
    command = "gbuild",
    jobs = {"realestate"},
    permission = "admin",
}

#garageBuild.command

The command to open the garage builder.

Example:

lua
command = "gbuild"

#garagebuild.jobs

Jobs allowed to open the garage builder. This is recommended to only allow individuals that create properties to use. With this ability they can create and modify garages.

Note that you can only modify garages made by your current job, unless you are an admin. Admins can change the creator job to lock it or allow a new job to manage it.

Example:

lua
jobs = {"realestate"}

#garageBuild.permission

Permission required to open the menu without having the proper job. Having the correct permission also allows you to manage any garage and change the creator value, meaning you can lock modifications to garages.

Example:

lua
permission = "admin"

#spawnMenu

Various settings and display functions for the spawn menu.

Example:

lua
spawnMenu = {
    openKey = "E",
    displayers = {
        marker = {
            enabled = true,
            func = function()
                -- Function can be found in the config file
            end,
        },
        text3d = {
            enabled = true,
            func = function()
                -- Function can be found in the config file
            end,
        }
    }
}

#spawnMenu.openKey

The key to open the garage menu when inside of a spawn menu zone. This is only relevant if you are not using a target system.

Example:

lua
openKey = "E"

#spawnMenu.displayers

Various displayers to show where the spawn menu is at. Set enabled to true to utilize them. You can edit the functions as you wish to display it differently. By default they are fading in using size and opacity.

Example:

lua
displayers = {
    marker = {
        enabled = true,
        func = function()
            -- Function can be found in the config file
        end,
    },
    text3d = {
        enabled = true,
        func = function()
            -- Function can be found in the config file
        end,
    }
}

#deleteGarage

Various settings for deleting garages

If you want to completely disable deleting garages, set allowedForCreator to false and permission to nil.

You can still delete garages that are still being created, as cancelling the creation completely deletes the progress.

Example:

lua
deleteGarage = {
    allowedForCreator = true,
    permission = "admin",
}

#deleteGarage.allowedForCreator

Allow the creator of the garage to delete it. Note that it checks for the job, so anyone with the real estate job can delete garages created by another real estate agent.

Example:

lua
allowedForCreator = true

#deleteGarage

If you want your admins to be able to delete garages despite not having the correct job, you can set this to true. Set the permission to nil or remove it completely to remove this feature.

Example:

lua
permission = "admin"

#garageInterior

Various settings and locations for the garage interiors.

Example:

lua
Config.Settings = {
    exitGarage = "E",
    interiors = {
        {
            label = "Small (2 Slots)",
            name = "small_car",
            allowedTypes = {"automobile", "bike"},
            teleport = vec4(178.96, -1000.28, -98.99, 179.49),
            computer = {
                target = vec3(172.93, -999.41, -98.97),
                position = vec3(172.96463012695, -1000.1442260742, -98.999992370605),
            },
            vehiclePositions = {
                vec4(174.9736328125, -1004.135925293, -99.98, 180.0),
                vec4(171.43930053711, -1004.1841430664, -99.98, 180.0),
            }
        },
        -- 6 vehicles, 10 vehicles and hangar are also mapped in the config
    }
}

#garageInterior.existGarage

Key to exit the garage when you are in the correct location.

Example:

lua
exitGarage = "E"

#garageInterior.interiors

A list of available interiors that you can use.

Example:

lua
interiors = {
    {
        label = "Small (2 Slots)",
        name = "small_car",
        allowedTypes = {"automobile", "bike"},
        teleport = vec4(178.96, -1000.28, -98.99, 179.49),
        computer = {
            target = vec3(172.93, -999.41, -98.97),
            position = vec3(172.96463012695, -1000.1442260742, -98.999992370605),
        },
        vehiclePositions = {
            vec4(174.9736328125, -1004.135925293, -99.98, 180.0),
            vec4(171.43930053711, -1004.1841430664, -99.98, 180.0),
        }
    },
    -- 6 vehicles, 10 vehicles and hangar are also mapped in the config
}

#garageInterior.interiors[x].label

Neatly typed label for the menu.

Example:

lua
label = "Small (2 Slots)"

#garageInterior.interiors[x].name

A unique identifier for the garage. Can be anything, as long as it's unique, but recommended to be somewhat descriptive of what interior it is.

Example:

lua
name = "small_car"

#garageInterior.interiors[x].allowedTypes

The allowed vehicle types for the garage. This will mostly be limited to automobile and bike as they are the only ones to fit.

Example:

lua
allowedTypes = {"automobile", "bike"}

#garageInterior.interiors[x].teleport

This is the location you will be teleported to when entering the interior, or teleport from to the outside. Make sure to provide x, y, z and the heading.

Example:

lua
teleport = vec4(178.96, -1000.28, -98.99, 179.49)

#garageInterior.interiors[x].computer

The location for the computer, so that you can transfer vehicles, inside of the garage. Make sure to configure based on your settings, if you are using a target system or not.

Example:

lua
computer = {
    target = vec3(235.8563, -975.5742, -98.9819),
    position = vec3(235.1254, -976.1618, -98.9999)
}

#garageInterior.interiors[x].vehiclePositions

The locations for the vehicles inside of the interior. This can be modified to fit more or less vehicles, or just rearrange them if wanted. Make sure to provide x, y, z and the heading.

Example:

lua
vehiclePositions = {
    vec4(174.9736328125, -1004.135925293, -99.98, 180.0),
    vec4(171.43930053711, -1004.1841430664, -99.98, 180.0),
}

#vehicleActions

Various settings for vehicle actions.

Example:

lua
vehicleActions = {
    maxDistance = -1,
}

#vehicleActions.maxDistance

The max distance to perform vehicle actions. Configuring this to -1 will allow you to perform any vehicle actions despite the distance between you and the vehicle.

If set to any number, that will be the max distance between you and the vehicle to perform any actions to it.

Example:

lua
maxDistance = -1

#availableProfessions

Do not touch.

#garageSettings

Various settings for garage settings.

Example:

lua
garageSettings = {
    command = "garage_settings",
    kvp = "garage_personal_settings",
    settings = {
        {
            name = "displayLockedGarages",
            default = false,
            enabledIcon = "fa-solid fa-eye",
            disabledIcon = "fa-solid fa-eye-slash",
            onSelect = function(name)
                ToggleGarageSettings(name)

                RefreshGarageBlips()
            end
        }
    }
},

#garageSettings.command

The command to open the menu.


Example:

lua
command = "garage_settings"

#garageSettings.kvp

This identifier decides where the information is stored. We utilize the client's kvp storage to store the settings. This means that the settings are completely client-sided.

Should not need to change this key, but you can if you wish. Just remember to keep it as unique key.

Example:

lua
kvp = "garage_personal_settings"

#garageSettings.settings

A list of settings. Should not touch this unless you are changing icons or the default option.

Example:

lua
settings = {
    {
        name = "displayLockedGarages",
        default = false,
        enabledIcon = "fa-solid fa-eye",
        disabledIcon = "fa-solid fa-eye-slash",
        onSelect = function(name)
            ToggleGarageSettings(name)

            RefreshGarageBlips()
        end
    }
}

#garageSettings.name

A unique name for the setting. Can be changed, but not recommended to touch.

Example:

lua
name = "displayLockedGarages"

#garageSettings.default

The default value for this setting.

Example:

lua
default = false

#garageSettings.enabledIcon

Icon in the menu when the setting is enabled.

Example:

lua
enabledIcon = "fa-solid fa-eye"

#garageSettings.disabledIcon

Icon in the menu when the setting is disabled.

Example:

lua
disabledIcon = "fa-solid fa-eye-slash"

#garageSettings.onSelect

The function that runs when you press the option in the menu. Probably shouldn't touch.

Example:

lua
onSelect = function(name)
    ToggleGarageSettings(name)

    RefreshGarageBlips()
end

#keys

Various settings for keys.

Example:

lua
keys = {
    enabled = false,
    item = "vehicle_keys",
    newKeyPrice = 500,
},

#keys.enabled

Enabling this will completely switch over to our item-based access system. Ownership works like usual, but the access to a vehicle is completely determined by the keys in your inventory.

Example

lua
enabled = false

#keys.item

The name of the item for the vehicle keys.

Example:

lua
item = "vehicle_keys"

#keys.newKeyPrice

The price to pay to get a new key. Set to 0 to get them for free.

Example:

lua
newKeyPrice = 500

#persistentVehicles

Various settings for persistent vehicles.

Note that all of the cleanup settings for these vehicles can be found in the garage builder menu.

Example:

lua
persistentVehicles = {
    kvpString = "persistent_vehicles",
    distances = {
        registerInteraction = 50,
        registerInProximity = 200,
    },
    cleanup = {
        permission = "admin",
    }
}

#persistentVehicles.kvpString

Don't touch this unless you know what you are doing. Should not need to be changed.

#persitentVehicles.distances

Various settings for registering distances. Should not change these values, hence why they're not part of the cleanup settings ui.

Example:

lua
distances = {
    registerInteraction = 50,
    registerInProximity = 200,
},

#persistentVehicles.distances.registerInteraction

The units between you and the vehicle to register that you are within the interaction range.

Example:

lua
registerInteraction = 50

#persistentVehicles.distances.registerInProximity

The units between you and the vehicle to register that you are in the proximity of it.

Example:

lua
registerInProximity = 200

#persistentVehicles.cleanup

Various settings for cleanup.

Example:

lua
cleanup = {
    permission = "admin",
}

#persistentVehicles.cleanup.permission

The permission required to change the cleanup settings.

Example:

lua
permission = "admin"

#Config.Database

This is where we have translated previous database values into our own. This is to make the script framework-independent and allow you to migrate from other garages to ours by changing values.

With this approach you can easily switch over to our script without any database hassle.

Example:

lua
Config.Database = {
    ["QBCore"] = {
        ["player_vehicles"] = "player_vehicles",

        -- Previously exsting
        ["id"] = "id",
        ["license"] = "license",
        ["owner"] = "citizenid",
        ["vehicle"] = "vehicle",
        ["mods"] = "mods",
        ["plate"] = "plate",
        ["fakePlate"] = "fakeplate",
        ["garage"] = "garage",
        ["parked"] = "state",
        ["fuel"] = "fuel",
        ["engine"] = "engine",
        ["body"] = "body",
        ["distancedriven"] = "drivingdistance",
        ["balance"] = "balance",
        ["paymentamount"] = "paymentamount",
        ["paymentsleft"] = "paymentsleft",
        ["financetime"] = "financetime",

        -- Additions
        ["vin"] = "vin",
        ["access"] = "access",
        ["type"] = "type",
        ["impound"] = "impound",
        ["deformation"] = "deformation",
        ["temp"] = "temp",
        ["nickname"] = "nickname",
    },
    ["ESX"] = {
        ["player_vehicles"] = "owned_vehicles",

        -- Previously existing
        ["owner"] = "owner",
        ["mods"] = "vehicle",
        ["plate"] = "plate",
        ["garage"] = "parking",
        ["impound"] = "pound",
        ["parked"] = "stored",
        ["type"] = "type",
        ["vehicle"] = "model",

        -- Additions
        ["id"] = "id",
        ["license"] = "license",
        ["vin"] = "vin",
        ["access"] = "access",
        ["fakePlate"] = "fakeplate",
        ["fuel"] = "fuel",
        ["engine"] = "engine",
        ["body"] = "body",
        ["distancedriven"] = "distancedriven",
        ["balance"] = "balance",
        ["paymentamount"] = "paymentamount",
        ["paymentsleft"] = "paymentsleft",
        ["financetime"] = "financetime",
        ["deformation"] = "deformation",
        ["temp"] = "temp",
        ["nickname"] = "nickname",
    },
}