GUIDES
Guides & Tutorials

How to Set a Player Job in QBCore: A Complete Guide

March 2, 2026 · 4 min read

Setting player jobs in QBCore is a fundamental aspect of managing a successful FiveM server. Customizing player roles can enhance gameplay dynamics, making your roleplay environment more immersive and engaging. In this guide, we'll cover the practical steps needed to set a player job and ensure everything runs smoothly in your QBCore server.

Understanding QBCore Player Jobs

Before we dive into the configuration, it's essential to understand what player jobs are and how they function within QBCore. Player jobs define the roles that players can assume in the game, affecting their abilities, permissions, and access to resources. Common jobs include police officers, paramedics, and various civilian roles.

Default Job Configurations

When you first install QBCore, several default jobs may already be configured. These can be found in the qb-core resource folder:
[qb-core]/shared/jobs.lua. In this file, you will see job definitions that look something like this:

['police'] = { 
    label = 'Police', 
    salary = 500, 
},
['ambulance'] = { 
    label = 'Ambulance', 
    salary = 450, 
},

Steps to Set a Player Job in QBCore

Here's a step-by-step process on how to set a player job in QBCore:

Step 1: Access Your Server Files

Ensure you have access to your server files through an FTP client or your server's control panel. Locate your QBCore resource folder, typically found in the resources directory.

Step 2: Navigate to Jobs Configuration

Open the shared/jobs.lua file in a code editor. This file contains the definitions for all jobs on your server.

Step 3: Adding a New Job

To create a new job, add a new entry in the jobs.lua file. For example:

['mechanic'] = { 
    label = 'Mechanic', 
    salary = 350, 
    isOnline = true, 
},

Here, you define a job named 'mechanic' with a label displayed in menus and a specified salary.

Step 4: Setting Player Jobs via the Command

Once your job is defined, you can set a player’s job using a simple command in-game. Use the following syntax:

.setjob [playerID] [jobName] [grade]

  • [playerID]: The ID of the player you want to assign the job to (can be obtained via F8 console).
  • [jobName]: The name of the job you defined in jobs.lua.
  • [grade]: Typically 0 for basic jobs, but you can customize based on your job grades.

For instance, if you want to set playerID 5 to a mechanic job, the command would look like this:

.setjob 5 mechanic 0

Step 5: Test the Job Functionality

After setting the job, have the player reconnect or refresh their jobs. Test it by seeing if they can access job-specific functions, such as job vehicles or duty systems.

Troubleshooting Common Issues

If you experience issues when setting a player job, consider the following:

  1. Check server logs: Errors may be logged in your console or log files in the logs/ directory, helping you identify syntax issues or other conflicts.
  2. Permissions errors: Ensure your player has the correct permissions to use the job command. Verify roles in your permissions config.
  3. Resource Restart: Always restart your QBCore resource after making changes to the jobs.lua file to apply the updates.

Customizing Job Grades

If you want to set job grades that provide players with varying levels of authority or pay, you can expand your job definitions. Here’s how:

Step 1: Define Job Grades

You can create a table for job grades under your job configuration:

['mechanic'] = { 
    label = 'Mechanic', 
    grades = { 
        [0] = { label = 'Novice Mechanic', salary = 350 },  
        [1] = { label = 'Experienced Mechanic', salary = 500 },  
        [2] = { label = 'Master Mechanic', salary = 700 },  
    },  
},

Step 2: Assign a Grade When Setting a Job

When using the .setjob command, you can specify the grade just like before:

.setjob 5 mechanic 1

This command assigns the player to the Experienced Mechanic role.

Frequently Asked Questions

What if my job isn’t showing up in the game?

If the newly added job doesn't appear, ensure that you have restarted your server and checked the jobs.lua for typos.

How can I create a job with unique functionalities?

You may need to create custom scripts or modify existing ones. Check the qb-jobs resource to implement specific functions.

Are there any other resources to help with setting jobs?

Yes! Explore the scripts category on Fivemania for various job scripts that can enhance job functionalities.

Can I remove a job after adding it?

Yes, simply delete the job entry from jobs.lua, restart your server, and ensure no players are actively using that job.

How do I manage job permissions?

Permissions are usually handled in the server.cfg. You can configure what roles can set or change jobs for players. Check your permissions effectively.

#qbcore#fivem#roleplay#server management#player jobs

Keep reading