HEX
HexscriptsJobscreatorExportsServer Exports

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

ValueMeaning
tableevery 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

ValueMeaning
tablethe job, shape below
nil, reasoninvalid_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

ValueMeaning
tablethe grades
nil, reasoninvalid_job · unknown_job

getJobMemberCount

Online members, counting both job slots.

local count, err = exports['hex_jobscreator']:getJobMemberCount('police')

Prop

Type

Returns

ValueMeaning
numberhow many members are online
nil, reasoninvalid_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

ValueMeaning
tablethe members, shape below
nil, reasoninvalid_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

ValueMeaning
tablethe points, shape below
nil, reasoninvalid_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

ValueMeaning
numberhow many players were notified
0, reasonsee the reasons below

Reasons

CodeMeaning
invalid_jobjob name must be a non-empty string
unknown_jobno job with that name
invalid_messagemessage must be a non-empty string
nobody_onlineno member of that job is online