Custom Car Stickers
All main settings are located in rs_car_stickers/config.lua. The examples below use existing defaults. Modify the corresponding fields in your full configuration instead of replacing entire tables with shortened examples.
General Settings
Section titled โGeneral SettingsโConfig.Locale = 'en'Config.Framework = 'auto' -- auto | qbox | qbcore | esx | standaloneConfig.Debug = falseConfig.Production.enabled = true| Option | Description |
|---|---|
Config.Locale | Select a language from locales/*.json |
Config.Framework | Automatically detect the framework, or select a specific adapter |
Config.Debug | Additional diagnostic output; normally false on production servers |
Config.Production.enabled | Enable physical printing and the production workshop; false switches to the legacy editor workflow |
Provider Detection
Section titled โProvider DetectionโConfig.Providers = {inventory = 'auto',target = 'auto',menu = 'auto',input = 'auto',progress = 'auto',}Supported defaults: ox_inventory or qb-inventory for inventory; ox_target or qb-target for targeting; ox_lib or qb alternatives for menu/input; ox_lib, progressbar, or the built-in progress UI for progress. Leave auto wherever possible.
Workshop Commands and Interactions
Section titled โWorkshop Commands and InteractionsโConfig.Production.command = 'stickers'Config.Production.useCommand = 'usesticker'Config.Production.removeCommand = 'removesticker'Config.Production.mechanicCommand = 'stickerwork'Config.Production.stationInteraction = 'target' -- target | prompt | bothWith no working target provider, the kiosk falls back to the Press E prompt. prompt always uses that interaction; both offers target and prompt together.
Publishing and Printing Prices
Section titled โPublishing and Printing PricesโConfig.Production.designing = {price = 500,updatePrice = 100,}
Config.Production.printing = {price = 250,moneyAccount = 'cash',material = '',materialCount = 1,}| Setting | Default | What it controls |
|---|---|---|
designing.price | 500 | First publication of a new design; saving drafts is free |
designing.updatePrice | 100 | Publishing an updated version of an existing design |
printing.price | 250 | Price per printed copy |
printing.moneyAccount | 'cash' | Framework money account used for charges |
printing.material | '' | Optional material item, such as 'vinyl_sheet' |
printing.materialCount | 1 | Material consumed per printed copy when material is configured |
Access and Creator Permissions
Section titled โAccess and Creator PermissionsโConfig.Production.creation = {authors = 'anyone', -- anyone | jobsjobs = { mechanic = 0 },requireDuty = true,applyRequires = 'possession', -- possession | provenanceenforceExisting = false,stockAllowed = true,}authors = 'jobs' restricts creation and printing to configured jobs. applyRequires = 'provenance' requires an authorized job to have published or applied the printed sticker. The admin panel can override selected creation rules at runtime.
Vehicle Ownership and Persistence
Section titled โVehicle Ownership and PersistenceโConfig.Persistence.enabled = trueConfig.Persistence.requireDriver = trueConfig.Persistence.onFootEditDistance = 6.0Config.Persistence.autoHydrate = trueConfig.Persistence.nearbyHydrate = trueDirect vehicle ownership is checked server-side. The configured on-foot distance allows the directly verified owner to work near their vehicle when using a printed sticker. Garage hydration can restore saved artwork without modifying the frameworkโs owned-vehicle tables.
Kiosks and Screen Calibration
Section titled โKiosks and Screen CalibrationโConfig.Production.kiosk.enabled = trueConfig.Production.kiosk.model = 'rs_vehicle_sticker_kiosk'Config.Production.kiosk.placement.command = 'decalkioskplace'Config.Production.kiosk.calibration.command = 'decalkioskcalibrate'Config.Production.stations = {}An empty stations table is normal: administrators place persistent kiosks in-game. You can also define static stations with unique IDs. Screen calibration is saved separately for each workstation.
Sticker Size and Rendering Limits
Section titled โSticker Size and Rendering LimitsโConfig.Stickers.maxActive = 24Config.Canvas.maxWidth = 2048Config.Canvas.maxHeight = 2048Config.Canvas.maxPixels = 2 * 1024 * 1024Config.Observer.maxTrackedVehicles = 20Config.Observer.renderDistance = 110.0These limits balance canvas size, visible sticker count, nearby vehicles, and performance. Increasing them can add significant client rendering and memory costs.
Allowed Image Hosts
Section titled โAllowed Image HostsโConfig.Images = {allowedImageHosts = { 'i.ibb.co', 'cdn.yourserver.example' },}By default, image restrictions inherit from Config.Observer, whose HTTPS host allowlist includes i.ibb.co. Add your own trusted CDN host for remotely loaded artwork. Unsupported or blocked URLs may fail during publication or rendering.
Mechanic Shops
Section titled โMechanic ShopsโConfig.Production.shops = {{ id = 'bennys', coords = { x = -211.0, y = -1324.0, z = 30.9 }, radius = 12.0, jobs = { mechanic = 0 }, requireDuty = true, price = 0,},}No mechanic shops are enabled by default (shops = {}). Authorized mechanics can provide services at a configured shop; working on a customerโs car requires the ownerโs temporary approval.
Gang and Job Stickers
Section titled โGang and Job StickersโConfig.Production.gangs.enabled = trueConfig.Production.gangs.maxDesigns = 10Config.Production.gangs.leaderGrade = false
Config.Production.jobStickers.enabled = trueConfig.Production.jobStickers.requireDuty = trueConfig.Production.jobStickers.maxDesigns = 6Config.Production.jobStickers.authors = 'leaders'- Gangs: Gang leaders publish artwork; members print and apply it under server-side membership rules. Qbox and QBCore gangs are supported; ESX/other gang systems use
bridge/gang_server.lua. - Jobs: Templates are available for configured jobs (including police, ambulance, and taxi). Placeholders include
{rank},{lastname},{callsign}, and{phone}. External call sign and phone sources needbridge/job_server.lua.
Job-specific vehicle models, grades, emblems, duty settings, and fees are all configurable in Config.Production.jobStickers.
Live Screen and Vehicle Preview
Section titled โLive Screen and Vehicle PreviewโConfig.LiveView.enabled = trueConfig.LiveView.kiosk.enabled = trueConfig.LiveView.kiosk.library = 'full' -- full | names | hiddenConfig.LiveView.kiosk.inventory = 'hidden'Config.LiveView.vehicle.enabled = trueConfig.LiveView.vehicle.enterDistance = 40.0Config.LiveView.vehicle.leaveDistance = 55.0Nearby spectators can see a read-only mirror of kiosk activity and vehicle sticker placement. Use names or hidden for Config.LiveView.kiosk.library when player artwork should not be visible to bystanders.
Optional Discord Notifications
Section titled โOptional Discord Notificationsโset rs_vehicle_decal_webhook "YOUR_DISCORD_WEBHOOK_URL"With Config.Production.discord.enabled = 'auto', a valid webhook convar enables notification delivery. Keep the webhook server-side and avoid setr.