Runs on: shared. This file stays editable when the resource is escrow-protected. Restart the resource after editing.
Full View
Preview File Updated: 3.7.0 - 02.11.2026config/config.compat.lua
Config = Config or {}
-- ─────────────────────────────────────────────
-- Framework
-- 'auto' first one that is started: qbx_core → qb-core → es_extended
-- 'esx' | 'qbcore' | 'qbox'
-- Everything framework-specific lives in bridge/ (editable when escrowed),
-- so other frameworks can be added there.
-- ─────────────────────────────────────────────
Config.Framework = 'auto'
-- ─────────────────────────────────────────────
-- Inventory — used for Config.PaymentItem and document items
-- 'auto' ox_inventory → qs-inventory → origen_inventory
-- → tgiann-inventory → core_inventory → framework
-- 'ox_inventory' | 'qs-inventory' | 'origen_inventory'
-- | 'tgiann-inventory' | 'core_inventory' | 'framework'
-- ('framework' = xPlayer / Player.Functions item functions, which also
-- covers qb-inventory, ps-inventory, lj-inventory, esx inventory …)
-- ─────────────────────────────────────────────
Config.Inventory = 'auto'
-- ─────────────────────────────────────────────
-- Society accounts — where paid bills go
-- system 'auto' vms_bossmenu → framework default
-- (ESX: esx_addonaccount, QBCore: qb-banking → qb-management,
-- Qbox: Renewed-Banking → qb-banking)
-- 'esx_addonaccount' | 'qb-banking' | 'qb-management'
-- | 'Renewed-Banking' | 'vms_bossmenu' | 'none'
-- payBills send the society's share of a paid bill to its account
-- defaultPercent share when the bill doesn't set percentageForSociety
--
-- The society comes from the bill's `society` (e.g. 'society_police') or
-- `job` field. On QBCore / Qbox the 'society_' prefix is removed.
-- ─────────────────────────────────────────────
Config.Society = {
system = 'auto',
payBills = true,
defaultPercent = 100,
}
-- ─────────────────────────────────────────────
-- License sync — also grant licenses earned at City Hall in the
-- framework's own license system, so police/shops/scripts see them.
-- system 'auto' ESX → esx_license or Buty-license, QBCore / Qbox → metadata.licences
-- 'esx_license' | 'Buty-license' | 'metadata' | 'none'
-- butyCategories Buty-license category per City Hall license id
-- (licenses not listed use 'driving')
-- map City Hall license id → framework license name
-- (licenses not listed here are not synced)
-- ─────────────────────────────────────────────
Config.LicenseSync = {
system = 'auto',
butyCategories = {
firearms = 'weapon',
},
map = {
esx = {
car = 'drive',
motorcycle = 'drive_bike',
truck = 'drive_truck',
boat = 'boat',
firearms = 'weapon',
-- pilot = 'aircraft', -- add the type to your `licenses` table first
},
qb = {
car = 'driver',
motorcycle = 'driver',
truck = 'driver',
firearms = 'weapon',
},
},
}
-- ─────────────────────────────────────────────
-- Compatibility with other scripts
--
-- vmsCityhall answer exports['vms_cityhall'] calls made by other
-- scripts (MDTs, job scripts, paychecks …) with City Hall:
-- server giveBill, getVehicleInsurance, addVehicleInsurance,
-- getHealthInsurance, addHealthInsurance
-- client openCityHall
-- Ignored while vms_cityhall itself is running.
--
-- esxBilling take over the 'esx_billing:sendBill' event (used by
-- esx_policejob, esx_ambulancejob, esx_mechanicjob …) so
-- job bills land in Bills & Fines. Only when esx_billing
-- is NOT started (remove it from server.cfg first).
-- maxAmount highest bill accepted from that event
-- requireJob the issuer's job must match the society
-- ('society_police' → job 'police')
--
-- healthInsurance document type (config/documents.lua) used by the
-- getHealthInsurance / addHealthInsurance exports
-- ─────────────────────────────────────────────
Config.Compat = {
vmsCityhall = false,
vmsDocuments = false, -- answer exports['vms_documentsv2'] (giveDocument, isAnyDocumentValid,
-- invalidateDocument, getMyDocuments, GenerateSSN) with the built-in
-- documents. Ignored while vms_documentsv2 is installed.
esxBilling = {
enabled = false,
maxAmount = 100000,
requireJob = true,
},
healthInsurance = 'health_insurance',
-- other scripts' license names → City Hall license ids (config/licenses.lua).
-- Used by the license, suspension and points exports and traffic tickets.
licenseAliases = {
drive_a = 'motorcycle', drive_b = 'car', drive_c = 'truck', -- vms_cityhall / vms_driveschoolV2
drive = 'car', drive_bike = 'motorcycle', drive_truck = 'truck', -- esx_dmvschool
driver = 'car', -- QBCore
practical_boat = 'boat', -- vms_boatschoolV2
practical_plane = 'pilot', practical_helicopter = 'pilot', -- vms_flightschoolV2
weapon = 'firearms',
},
}
