Jobs
Server exports to read jobs, grades, members and interaction points, and to notify a whole job at once.
getJobs
Every job in the creator (public excluded).
local jobs = exports['hex_jobscreator']:getJobs()Returns
| Value | Meaning |
|---|---|
| table | every job, shape below |
{
{ name = 'police', label = 'Police', jobType = 'state', is2Job = false, members = 4 },
...
}getJob
A single job with its grades.
local job, err = exports['hex_jobscreator']:getJob('police')Prop
Type
Returns
| Value | Meaning |
|---|---|
| table | the job, shape below |
nil, reason | invalid_job · unknown_job |
{
name = 'police',
label = 'Police',
jobType = 'state',
is2Job = false,
societyPaycheck = true,
hasMenu = false,
hasWorkerId = true,
members = 4,
grades = { { grade = 0, name = 'recruit', label = 'Recruit', salary = 100 }, ... }
}getJobGrades
The grade list on its own, sorted by grade.
local grades, err = exports['hex_jobscreator']:getJobGrades('police')Prop
Type
Returns
| Value | Meaning |
|---|---|
| table | the grades |
nil, reason | invalid_job · unknown_job |
getJobMemberCount
Online members, counting both job slots.
local count, err = exports['hex_jobscreator']:getJobMemberCount('police')Prop
Type
Returns
| Value | Meaning |
|---|---|
| number | how many members are online |
nil, reason | invalid_job · unknown_job |
getJobMembers
Every online player holding the job in either slot.
Note
A player holding the job in both slots appears twice, once per slot.
local members, err = exports['hex_jobscreator']:getJobMembers('police')Prop
Type
Returns
| Value | Meaning |
|---|---|
| table | the members, shape below |
nil, reason | invalid_job · unknown_job |
{
{ playerId = 5, grade = 3, gradeLabel = 'Sergeant', onDuty = true, is2Job = false },
...
}getJobInteractions
Every interaction point belonging to a job.
local points, err = exports['hex_jobscreator']:getJobInteractions('police')Prop
Type
Returns
| Value | Meaning |
|---|---|
| table | the points, shape below |
nil, reason | invalid_job · unknown_job |
{
{ id = 42, type = 'storage', label = 'Armory', coords = { x = 441.2, y = -981.5, z = 30.7 } },
...
}notifyJobMembers
Sends a notification to every online member of a job, both slots.
exports['hex_jobscreator']:notifyJobMembers('police', 'Dispatch', 'Bank robbery in progress', 'error')Prop
Type
Returns
| Value | Meaning |
|---|---|
| number | how many players were notified |
0, reason | see the reasons below |
Reasons
| Code | Meaning |
|---|---|
invalid_job | job name must be a non-empty string |
unknown_job | no job with that name |
invalid_message | message must be a non-empty string |
nobody_online | no member of that job is online |