If we don't support your key system out of the box, it's super easy to add your own!
- Go to the
framework
folder, and opencl-functions.lua
- Find the
VehicleGiveKeys
andVehicleRemoveKeys
functions, which should look something like this:
function Framework.Client.VehicleGiveKeys(plate, vehicleEntity)
if not DoesEntityExist(vehicleEntity) then return false end
if Config.VehicleKeys == "qb-vehiclekeys" then
TriggerEvent("vehiclekeys:client:SetOwner", plate)
elseif Config.VehicleKeys == "jaksam-vehicles-keys" then
TriggerServerEvent("vehicles_keys:selfGiveVehicleKeys", plate)
elseif Config.VehicleKeys == "mk_vehiclekeys" then
exports["mk_vehiclekeys"]:AddKey(vehicleEntity)
elseif Config.VehicleKeys == "qs-vehiclekeys" then
local model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
exports['qs-vehiclekeys']:GiveKeys(plate, model)
elseif Config.VehicleKeys == "wasabi_carlock" then
exports.wasabi_carlock:GiveKey(plate)
elseif Config.VehicleKeys == "cd_garage" then
TriggerEvent('cd_garage:AddKeys', plate)
elseif Config.VehicleKeys == "okokGarage" then
TriggerServerEvent("okokGarage:GiveKeys", plate)
elseif Config.VehicleKeys == "t1ger_keys" then
TriggerServerEvent('t1ger_keys:updateOwnedKeys', plate, true)
else
-- Setup custom key system here...
end
end
function Framework.Client.VehicleRemoveKeys(plate, vehicleEntity)
if not DoesEntityExist(vehicleEntity) then return false end
if Config.VehicleKeys == "qs-vehiclekeys" then
local model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
exports['qs-vehiclekeys']:RemoveKeys(plate, model)
elseif Config.VehicleKeys == "wasabi_carlock" then
exports.wasabi_carlock:RemoveKey(plate)
elseif Config.VehicleKeys == "t1ger_keys" then
TriggerServerEvent('t1ger_keys:updateOwnedKeys', plate, false)
else
-- Setup custom key system here...
end
end
-
Inside the
VehicleGiveKeys
function, within theelse
block where it says
return 65 -- Setup custom key system here...
replacing it with your custom give keys export. Also make sure you are providing the correct variables to the export based on the ones available:
plate
- Vehicle plate
vehicleEntity
- Physical vehicle entity
If you need to get the vehicle model/spawn code, you can use:
local model = GetDisplayNameFromVehicleModel(GetEntityModel(vehicleEntity))
\ -
If your key script has the ability to remove keys, you can do the same inside the
VehicleRemoveKeys
function replacing the line that says
-- Setup custom key system here...
with the remove keys export of your key script. Again, ensure you are using variables from the ones available,plate
andvehicleEntity
\ -
Make sure that in the Configurator or
config.lua
you have set the VehicleKeys tonone
.