Configuration
Configuration for Advanced PubCop.
Configuration
Advanced PubCop is configured through config.lua. Below is the current buyer-ready configuration file.
Config File
config.lua
Config = {}
--[[
Teedle Scripts - Community Officer Resource
Buyer-ready configuration file.
Only edit this file and cl_customize.lua unless support tells you otherwise.
]]
-- Framework mode:
-- 'auto' = Uses QBCore if qb-core is started, otherwise standalone.
-- 'qbcore' = Forces QBCore mode.
-- 'standalone' = Forces standalone/vMenu style mode.
Config.Framework = 'auto'
-- Main command used to toggle Community Officer mode.
Config.CommandName = 'comofficer'
-- Return/delete the issued Community Officer vehicle.
Config.EnableReturnCommand = true
Config.ReturnVehicleCommand = 'returncopcar'
-- Notification system used by the ENTIRE script.
-- Every message in this resource goes through this one setting.
--
-- Options:
-- 'qb' = QBCore default notify. Recommended for QBCore servers.
-- 'ox_lib' = ox_lib lib.notify.
-- 'wasabi' = wasabi_notify export.
-- 'custom' = Uses TeedleCustomNotify() in cl_customize.lua.
-- 'chat' = FiveM chat fallback.
-- 'none' = No notifications.
--
-- If you use another notification script, set this to 'custom'
-- and edit TeedleCustomNotify() inside cl_customize.lua.
Config.NotifySystem = 'ox_lib'
Config.NotifyTitle = 'Community Officer'
Config.NotifyDuration = 5000
-- Vehicle key support.
--
-- Options:
-- 'qb' = standard qb-vehiclekeys. Recommended/default for QBCore.
-- 'custom' = Uses TeedleCustomGiveVehicleKeys() in cl_customize.lua.
-- 'none' = disables automatic key handling.
--
-- If you use another key script, set this to 'custom'
-- and edit TeedleCustomGiveVehicleKeys() inside cl_customize.lua.
Config.VehicleKeys = 'qb'
-- Optional ACE permission.
-- Works in standalone and QBCore mode.
-- Example server.cfg:
-- add_ace group.admin communityofficer.use allow
Config.UseAcePermission = false
Config.AcePermission = 'communityofficer.use'
-- Optional QBCore job restriction.
-- If true, only jobs listed in Config.AllowedQBJobs can use /comofficer.
-- Most servers should leave this false if this is meant for public/community use.
Config.RequireQBJob = false
Config.AllowedQBJobs = {
police = true,
sheriff = true
}
-- QBCore job settings.
-- Make sure OfficerJob exists in qb-core/shared/jobs.lua before using the script.
Config.QBCore = {
OfficerJob = 'pubcop',
OfficerGrade = 0,
OffJob = 'unemployed',
OffGrade = 0
}
Config.Messages = {
onlyFreemode = 'Your current ped must be mp freemode to use Community Officer.',
enabled = 'You are now a Public Officer. Your uniform has been applied.',
disabled = 'You are no longer a Public Officer and no longer have law enforcement authority. If you would like to be a cop again, redo the command.',
noPermission = 'You do not have permission to use this command.',
notAllowedJob = 'Your job is not allowed to use this command.',
noIssuedVehicle = 'You do not have an issued public officer vehicle.',
alreadyIssuedVehicle = 'You already have an issued vehicle. Returning it now...',
invalidVehicle = 'Configured Community Officer vehicle is invalid.',
failedVehicleLoad = 'Vehicle model failed to load in time.',
failedVehicleCreate = 'Failed to create your public officer vehicle.',
missingUniform = 'No matching uniform was found for this ped.',
jobSetFailed = 'Failed to set your job. Make sure the job exists in qb-core/shared/jobs.lua.'
}
-- Component ids:
-- 0 Face, 1 Mask, 2 Hair, 3 Arms, 4 Pants, 5 Bag, 6 Shoes,
-- 7 Accessories, 8 Undershirt, 9 Armor, 10 Decals, 11 Torso/Jacket
--
-- Prop ids:
-- 0 Hat, 1 Glasses, 2 Ears, 6 Watch, 7 Bracelet
--
-- Replace these starter placeholder values with your own uniform numbers.
-- This resource does NOT change the player's ped model. It only changes clothing.
Config.Uniforms = {
qbcore = {
male = {
components = {
[1] = {drawable = 0, texture = 0, palette = 0},
[3] = {drawable = 11, texture = 0, palette = 0},
[4] = {drawable = 35, texture = 0, palette = 0},
[5] = {drawable = 0, texture = 0, palette = 0},
[6] = {drawable = 24, texture = 0, palette = 0},
[7] = {drawable = 0, texture = 0, palette = 0},
[8] = {drawable = 58, texture = 0, palette = 0},
[9] = {drawable = 0, texture = 0, palette = 0},
[10] = {drawable = 0, texture = 0, palette = 0},
[11] = {drawable = 55, texture = 0, palette = 0}
},
props = {
[0] = {drawable = 46, texture = 0},
[1] = {clear = true},
[2] = {clear = true},
[6] = {clear = true},
[7] = {clear = true}
}
},
female = {
components = {
[1] = {drawable = 0, texture = 0, palette = 0},
[3] = {drawable = 14, texture = 0, palette = 0},
[4] = {drawable = 34, texture = 0, palette = 0},
[5] = {drawable = 0, texture = 0, palette = 0},
[6] = {drawable = 24, texture = 0, palette = 0},
[7] = {drawable = 0, texture = 0, palette = 0},
[8] = {drawable = 35, texture = 0, palette = 0},
[9] = {drawable = 0, texture = 0, palette = 0},
[10] = {drawable = 0, texture = 0, palette = 0},
[11] = {drawable = 48, texture = 0, palette = 0}
},
props = {
[0] = {drawable = 45, texture = 0},
[1] = {clear = true},
[2] = {clear = true},
[6] = {clear = true},
[7] = {clear = true}
}
}
},
standalone = {
male = {
components = {
[1] = {drawable = 0, texture = 0, palette = 0},
[3] = {drawable = 11, texture = 0, palette = 0},
[4] = {drawable = 35, texture = 0, palette = 0},
[5] = {drawable = 0, texture = 0, palette = 0},
[6] = {drawable = 24, texture = 0, palette = 0},
[7] = {drawable = 0, texture = 0, palette = 0},
[8] = {drawable = 58, texture = 0, palette = 0},
[9] = {drawable = 0, texture = 0, palette = 0},
[10] = {drawable = 0, texture = 0, palette = 0},
[11] = {drawable = 55, texture = 0, palette = 0}
},
props = {
[0] = {drawable = 46, texture = 0},
[1] = {clear = true},
[2] = {clear = true},
[6] = {clear = true},
[7] = {clear = true}
}
},
female = {
components = {
[1] = {drawable = 0, texture = 0, palette = 0},
[3] = {drawable = 14, texture = 0, palette = 0},
[4] = {drawable = 34, texture = 0, palette = 0},
[5] = {drawable = 0, texture = 0, palette = 0},
[6] = {drawable = 24, texture = 0, palette = 0},
[7] = {drawable = 0, texture = 0, palette = 0},
[8] = {drawable = 35, texture = 0, palette = 0},
[9] = {drawable = 0, texture = 0, palette = 0},
[10] = {drawable = 0, texture = 0, palette = 0},
[11] = {drawable = 48, texture = 0, palette = 0}
},
props = {
[0] = {drawable = 45, texture = 0},
[1] = {clear = true},
[2] = {clear = true},
[6] = {clear = true},
[7] = {clear = true}
}
}
}
}
Config.Vehicle = {
Enabled = true,
Model = 'police',
SpawnRadius = 4.0,
WarpIntoVehicle = true,
Plate = 'PUBCOP',
Fuel = 100.0,
DirtLevel = 0.0,
Livery = nil,
IssueMessage = 'Your public officer vehicle has been issued.',
RemoveMessage = 'Your public officer vehicle has been removed.',
BlockedMessage = 'No clear area was found to issue your public officer vehicle.'
}
Next
Customizations
→
Last updated August 6, 2026