Browse docs
Players & Members
Reference for Players & Members in sky_jobs_base.
Players & Members
These exports let external resources (admin menus, whitelist systems, other job scripts) manage job members without going through the boss menu.
getPlayerJobInfo(playerId)
- Purpose: Returns the cached job state of an online player in one call.
- Arguments:
playerId(number) — the server ID of the player. Required.
- Returns:
table | nil—{ job, grade, gradeLabel, onDuty }, ornilif the player is not loaded.
local info = exports["sky_jobs_base"]:getPlayerJobInfo(playerId)
if info then
print(("%s — grade %d (%s), on duty: %s"):format(info.job, info.grade, info.gradeLabel, tostring(info.onDuty)))
end
setJobMember(jobName, playerOrIdentifier, grade)
- Purpose: Hires a player into a job or changes the grade of an existing member. Works for online players (server ID) and offline players (identifier). Updates the framework job, the player cache, and notifies open boss menus.
- Arguments:
jobName(string) — the job name. Required.playerOrIdentifier(number | string) — server ID or framework identifier. Required.grade(number?) — target grade. Defaults to the job's lowest grade (hire).
- Returns:
boolean—trueon success.string?— error message on failure (e.g."Invalid grade").
-- Hire an online player at the default grade
local ok, err = exports["sky_jobs_base"]:setJobMember("ambulance", playerId)
-- Promote an offline player to grade 2
local ok, err = exports["sky_jobs_base"]:setJobMember("ambulance", "license:abc123", 2)
removeJobMember(jobName, playerOrIdentifier)
- Purpose: Fires a member from a job. Sets the player to
unemployed, ends their duty, and removes their member stats. Works for online and offline players. - Arguments:
jobName(string) — the job name. Required.playerOrIdentifier(number | string) — server ID or framework identifier. Required.
- Returns:
boolean—trueon success.string?— error message on failure.
local ok, err = exports["sky_jobs_base"]:removeJobMember("ambulance", "license:abc123")
getJobMembers(jobName)
- Purpose: Returns all members of a job (online and offline) with their boss-menu stats.
- Arguments:
jobName(string) — the job name. Required.
- Returns:
table[]— array of member entries.
Member Entry Structure
| Field | Type | Description |
|---|---|---|
identifier | string | Framework identifier |
license | string | Stored license identifier |
name | string | Character name |
grade | number | Job grade |
grade_label | string | Grade label |
onduty | boolean | Current duty state |
last_online_timestamp | number | Unix timestamp of last online |
total_work_time_seconds | number | Accumulated on-duty time |
actions_done | number | Job action counter |
image_url | string? | Member image if set |
local members = exports["sky_jobs_base"]:getJobMembers("ambulance")
for _, member in ipairs(members) do
print(member.name, member.grade_label, member.onduty)
end