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/jobcenter.lua
Config = Config or {}
-- ═════════════════════════════════════════════
-- JOB CENTER (Config.Features.jobCenter)
-- Players pick a job at City Hall, or apply for one. Applications are
-- reviewed by the job's bosses in the Job Center app on the PC.
-- ═════════════════════════════════════════════
-- ─────────────────────────────────────────────
-- Jobs (same format as vms_cityhall's Config.JobsList)
-- name framework job name (must exist in your jobs)
-- grade grade given when the player joins / is accepted
-- label, type shown in the list; type groups the jobs
-- icon lucide icon name: Shield, HeartPulse, Wrench, Car,
-- Store, Truck, Briefcase, Leaf, Building2 (default Briefcase)
-- address optional, shown under the job
-- requiredResume true = players apply and a boss decides,
-- false = players join straight away
-- ─────────────────────────────────────────────
Config.JobCenter = {
jobs = {
{ name = 'unemployed', label = 'Unemployed', type = 'General', grade = 0, requiredResume = false, icon = 'Briefcase' },
{ name = 'taxi', label = 'Taxi Driver', type = 'Transport', grade = 0, requiredResume = false, icon = 'Car' },
{ name = 'police', label = 'LSPD', type = 'Law Enforcement', grade = 0, requiredResume = true, icon = 'Shield', address = 'Mission Row' },
{ name = 'ambulance', label = 'EMS', type = 'Medical', grade = 0, requiredResume = true, icon = 'HeartPulse', address = 'Pillbox Hill' },
{ name = 'mechanic', label = 'Mechanic', type = 'Services', grade = 0, requiredResume = true, icon = 'Wrench' },
},
-- Questions on the application form. 'default' is used for every job
-- without its own list. maxLength = characters per answer.
questions = {
default = {
{ label = 'Why do you want this job?', maxLength = 600 },
{ label = 'Relevant experience', maxLength = 600 },
{ label = 'When are you available?', maxLength = 200 },
},
-- police = { { label = 'Do you have a clean record?', maxLength = 300 }, … },
},
-- Who reviews applications: the framework's boss grade, or from this grade
-- up (vms_bossmenu's 'resumesAccess' permission when it runs).
bossGrades = {
-- police = 3,
},
cooldownHours = 24, -- after a rejection, wait this long before applying again
historyDays = 30, -- reviewed applications shown to bosses
}
-- ─────────────────────────────────────────────
-- Paychecks (Config.Features.paychecks)
-- Salaries wait at City Hall until the player collects them in
-- Finances → Paychecks. Needs a small edit in your framework's paycheck
-- code (docs → Paychecks).
-- account where collected salary goes ('bank' | 'cash')
-- ─────────────────────────────────────────────
Config.Paychecks = {
account = 'bank',
}
