Licenses Creator 2 (qs-licensescreator) replaces the first version (qs-licenses). It is a new resource with a new interface, but it reads the same tables, so every license your players already hold, every template and every office comes across. What changes is the resource name — and with it the command and the exports your other scripts call.
What Carries Over#
Data | In v2 |
|---|---|
License templates and their designs | Kept. They open in the new Designer as they were. New columns — validity, inventory image, starter flag — are added on first boot. |
License offices, terminals, centers, forgers | Kept, in the Peds tab. The old |
Issued licenses | Kept, with their numbers, expiry, status and photos. A points column is added at zero. |
Authorization requests | Kept. Approved requests now have to be collected at the Authorization center as a document. |
Panel users and settings | Kept. Open Settings once and check Photo upload and the theme colours. |
Upgrading Step by Step#
Back up the database
Nothing below deletes data, but a backup costs a minute. From your database tool, or from a shell:
bash mysqldump -u root -p your_database qs_licenses_categories qs_licenses_templates qs_licenses_interactions qs_licenses_global_interactions qs_licenses_issued_licenses qs_licenses_authorization_requests qs_licenses_users qs_licenses_general_settings > licenses_backup.sqlStop and remove qs-licenses
Delete its
ensure qs-licensesline fromserver.cfgand move the folder out ofresources/. Both versions answer the same license items, so they must never run at the same time.Install qs-licensescreator
Follow Installation from the top, skipping the SQL import. On first boot the console should report the licenses you already had:
bash [INFO] Loaded 4 license template(s). [INFO] Loaded 312 issued license(s). [INFO] qs-licensescreator ready.Point the items at the new resource
Any item definition that referred to
qs-licensesmust now sayqs-licensescreator— on ox_inventory that isserver = { export = 'qs-licensescreator.useLicenseItem' }. The creator's Inventory item setup button prints the exact snippet.Version 2 hands out one item per license by default. If your server used a single license item instead, set
Config.SeparateItemPerLicense = falseandConfig.Itemto that item's name, so the cards already in players' pockets stay usable.Update your other scripts
Search your resources for
exports['qs-licenses']— an MDT, a police job, a driving school — and change the resource name. The export names and their arguments are the same:lua -- before exports['qs-licenses']:RevokeLicense(citizenid, 'driver_license') -- after exports['qs-licensescreator']:RevokeLicense(citizenid, 'driver_license')
What Changed in Your Scripts#
v1 | v2 |
|---|---|
|
|
|
|
Card designs from v1 are kept exactly as they were saved. If you want the new example designs instead, see Common Errors — importing them overwrites the template rows with the same ids.



