Modules
Jobmanager
Server

Server

Manages jobs and player employment, allowing job creation, assignment, and modification.

core.jobmanager.listJobs

Returns the list of registered jobs.

core.jobmanager.listJobs()
-- or
core.jobmanager.jobs
  • Returns: table<string, Job>

core.jobmanager.setPlayerJob

Sets a player's job and grade. Set grade to 0 to remove job.

core.jobmanager.setPlayerJob(playerId, jobName, grade)
  • playerId: integer
  • jobName: string
  • grade: integer
  • Returns: boolean (success)

core.jobmanager.getPlayerJobs

Returns a list of a player's jobs.

core.jobmanager.getPlayerJobs(playerId)
  • playerId: integer
  • Returns: PlayerJobs[]

core.jobmanager.getPlayersInJob

Returns a list of players in a specific job.

core.jobmanager.getPlayersInJob(jobName)
  • jobName: string
  • Returns: Player[] | nil

core.jobmanager.isPlayerInJob

Checks if a player is in a specific job.

core.jobmanager.isPlayerInJob(playerId, jobName)
  • playerId: integer
  • jobName: string
  • Returns: boolean

core.jobmanager.createJob

Creates a job and adds it to the job list.

core.jobmanager.createJob(jobName, label)
  • jobName: string
  • label: string

core.jobmanager.addGrade

Adds a new grade to a job.

core.jobmanager.addGrade(jobName, label, position)
  • jobName: string
  • label: string
  • position: number

core.jobmanager.removeGrade

Removes a grade from a job.

core.jobmanager.removeGrade(jobName, position)
  • jobName: string
  • position: number

core.jobmanager.renameGrade

Renames a grade for a job.

core.jobmanager.renameGrade(jobName, index, newName)
  • jobName: string
  • index: number
  • newName: string

core.jobmanager.addGradePermission

Adds a permission to a grade.

core.jobmanager.addGradePermission(jobName, index, permission)
  • jobName: string
  • index: number
  • permission: GradePermissions | GradePermissions[]

core.jobmanager.removeGradePermission

Removes a permission from a grade.

core.jobmanager.removeGradePermission(jobName, index, permission)
  • jobName: string
  • index: number
  • permission: GradePermissions | GradePermissions[]

core.jobmanager.setDuty

Sets a player's duty status.

core.jobmanager.setDuty(playerId, jobName, onDuty)
  • playerId: integer
  • jobName: string
  • onDuty?: boolean (If left nil, it will toggle the duty status.)

Events

playerJobUpdated

Triggered when a player's job is updated.

RegisterNetEvent('osrp-core:server:playerJobUpdated', function(playerId, jobName, grade) end)
RegisterNetEvent('osrp-core:client:playerJobUpdated', function(playerId, jobName, grade) end)
  • playerId: integer
  • jobName: string
  • grade: integer

playerDutyUpdated

Triggered when a player's duty status is updated.

RegisterNetEvent('osrp-core:server:playerDutyUpdated', function(playerId, jobName, onDuty) end)
RegisterNetEvent('osrp-core:client:playerDutyUpdated', function(playerId, jobName, onDuty) end)
  • playerId: integer
  • jobName: string
  • onDuty: boolean

setDuty

Trigger to set a players duty status

TriggerServerEvent('osrp-core:server:setDuty', jobName, onDuty)
  • jobName: string
  • onDuty: boolean