Configuration
Every live option in lation jobs with its default, edited in game under /jobadmin > Config, since the resource has no config file.
lation jobs has no config file. Every option lives in the database (the lation_jobs_config table) and is edited in game under /jobadmin > Config, where a change applies to the server and every player the moment it saves. The admin panel itself is covered on the admin page.
On the very first start, each section is seeded from shared/defaults.lua (and the Logging section from server/utils/logging.lua). After that, editing those files changes nothing on your server except what Reset to default restores.
Options marked restart apply after the resource restarts. The key column is the option's path inside its section, as exports.lation_jobs:GetConfig(section) returns it.
General
| Option | Key | Default | Notes |
|---|---|---|---|
| Interaction system | interact | auto | auto picks lation_interact, ox_target or qb-target, in that order. custom uses client/utils/interact.lua. |
| Notification system | notify | auto | auto uses lation_ui when it runs, ox_lib otherwise. Also ox_lib, esx, qb, okok, wasabi_notify, or custom in client/utils/notify.lua. |
/jobadmin command | commands.jobadmin | On | |
/boss command | commands.boss | On | |
/duty command | commands.duty | On | |
/work command | commands.jobs | On | Also turns the Work key on and off |
| Nearby distance | nearby | 10 m | 2 to 50. How far hiring the person in front of you reaches |
| Boss menu icon | icons.boss | briefcase | A FontAwesome name, for the office prompt and notifications |
| Duty icon | icons.duty | clock | |
| Job center icon | icons.jobcenter | id-card | |
| Profile pictures | avatars | On | Players' pictures on the panels |
| Bank | bank | auto | auto picks the first bank running, in the order on the overview. Name one to pin it, or none to run without. |
| Version check | version | On | restart. Prints to the console when an update is out |
| Debug output | debug | Off |
The chat suggests each command that is on, and drops a command's suggestion when it is turned off. The General card on the Config page names what auto comes to on your server: the interaction system, the notifications and the bank in use.
Jobs
| Option | Key | Default | Notes |
|---|---|---|---|
| Gangs | gangs | On | Gangs may be created as well as jobs. Qbox and QBCore only. |
| Most grades | maxGrades | 8 | 2 to 20 |
| Most places per type | maxPlacesPerType | 10 | 1 to 50 |
| Salary cap | salaryMax | 1000 | The most a grade may earn per hour on duty. 0 is no cap. |
| Bosses edit grades | boss.editGrades | On | The boss grade renames grades from the boss menu |
| Bosses place places | boss.placePlaces | On | Grades with manage_places add and remove places |
| Bosses edit salaries | boss.editSalaries | On | Grades with manage_salaries set salaries, under the cap |
| Permissions | permissions | All 15 | Reorder only: the order the boss menu lists permissions in |
Duty
| Option | Key | Default | Notes |
|---|---|---|---|
| Who clocks people on and off | mode | Any script (any_script) | Any script: a duty toggle in any job script clocks the player on and off here too (the framework's duty flag on Qbox and QBCore; on ESX its duty flag where your ESX has one, and a switch to the off<job> twin job). Jobs only (modern_jobs) keeps shifts to lation jobs alone: a duty point, /duty or the Work panel. Either way, a shift sets the framework's duty flag, so other scripts see it (on ESX, where it has one). |
| Idle clock-off | autoClockOffMinutes | 30 min | 0 to 480. 0 never clocks an idle player off. |
| Clock off on disconnect | clockOffOnDisconnect | On | Off, a shift stays open when the player leaves and is picked up again when they load. On, a restart also closes every shift left open. |
Work
| Option | Key | Default | Notes |
|---|---|---|---|
| Jobs per player | maxJobs | 3 | 1 to 10. A gang is separate. |
| Players may quit | allowQuit | On | Leave this job, from the Work panel |
| Work panel key | key | F6 | restart. Players rebind it under Settings > Key Bindings > FiveM. |
Hiring
| Option | Key | Default | Notes |
|---|---|---|---|
| New hires | mode | On the spot (direct) | By offer (offer) sends an offer the person answers. A job can say otherwise in its Setup. |
| Offers last | offerHours | 24 h | 1 to 720 |
Payroll
| Option | Key | Default | Notes |
|---|---|---|---|
| Payroll | enabled | On | |
| Interval | intervalMinutes | 30 min | 1 to 240. A job can set its own. |
| Shortest paid shift | minMinutes | 5 min | 0 to 120. A closed shift shorter than this earns nothing. |
| Replace the framework paycheck | replaceFrameworkPaycheck | On | restart. Registers managed jobs with no framework pay, so nobody is paid twice |
| When the society is short | shortfall | Carry over (skip) | Pay what it holds (partial) pays whoever the account covers, lowest grades first |
| Tell the bosses | notifyBossOnShortfall | On | |
| Paid by | defaultSource | Society account (society) | The server (server) pays each employee into their own bank account. A job can set its own. |
Applications
| Option | Key | Default | Notes |
|---|---|---|---|
| Applications | enabled | On | |
| Open applications per player | maxOpenPerPlayer | 3 | 1 to 20, across every job |
| Expiry | expiryDays | 7 days | 1 to 60 |
| Cooldown after a decline | cooldownDays | 1 day | 0 to 60 |
| Questions per form | maxQuestions | 8 | 0 to 20. 0 turns custom application forms off: an application is a line to the boss. |
| Applicant background | history | Jobs (jobs) | Off (off), Jobs, or Full (full): the jobs held plus what other jobs wrote about them for all to read |
Forms
| Option | Key | Default | Notes |
|---|---|---|---|
| Forms | enabled | On | |
| Forms per job | maxForms | 10 | 1 to 50 |
| Questions per form | maxQuestions | 12 | 1 to 30 |
Notices
| Option | Key | Default | Notes |
|---|---|---|---|
| Notices | enabled | On | |
| Longest notice | maxLength | 2000 | 50 to 2000 characters |
| Notices per job | maxPerJob | 50 | 1 to 200 |
Leave
| Option | Key | Default | Notes |
|---|---|---|---|
| Leave requests | enabled | On | |
| Longest request | maxDays | 30 days | 1 to 365 |
| No duty while away | blockDuty | Off | Someone on approved leave cannot clock on until it ends |
Job center
| Option | Key | Default | Notes |
|---|---|---|---|
| Job center | enabled | On | The points in the world. /work works either way. |
| Points | locations | One point | A ped s_m_m_lifeinvad_01 doing WORLD_HUMAN_CLIPBOARD at vec4(-265.08, -963.76, 30.32, 205.85), labeled Job Center. Each point is a prompt in the air, a ped or an object. |
| Blip | blip.enabled | On | |
| Blip sprite | blip.sprite | 407 | |
| Blip color | blip.color | 3 | |
| Blip scale | blip.scale | 0.8 | |
| Blip label | blip.label | Job Center | |
| Show salaries | showSalaries | On | The job board shows what each job pays from |
Places
| Option | Key | Default | Notes |
|---|---|---|---|
| Stash slots | stash.slots | 50 | What a new stash starts with |
| Stash weight | stash.weight | 100 kg | |
| Garage return radius | garage.returnRadius | 10 m | 2 to 100 |
| Plate prefix | garage.plate | JOB | Up to 4 characters; the plate is filled to 8 at random |
| Lockers show saved outfits | locker.playerOutfits | On | |
| Teleports fade | teleport.fade | On | |
| NPC scenario | npc.scenario | WORLD_HUMAN_CLIPBOARD | What a new NPC stands doing |
Activity
| Option | Key | Default | Notes |
|---|---|---|---|
| Keep activity for | retentionDays | 90 days | 0 to 3650. 0 keeps rows forever. Older rows are deleted once an hour. |
Logging
Never sent to clients, and not returned by GetConfig.
| Option | Key | Default | Notes |
|---|---|---|---|
| Logging service | service | None | Discord, or fivemanage (needs fmsdk running) |
| Screenshots | screenshots | Off | fivemanage only |
| Discord name | discord.name | Jobs | The webhook's display name |
| Discord webhook | discord.link | Empty | Write-only: never shown again once set |
| Discord image | discord.image | https://i.imgur.com/ILTkWBh.png | The webhook's avatar |
| Discord footer image | discord.footer | https://i.imgur.com/ILTkWBh.png | The image under every embed |
Which events are logged:
| Event | Key | Default |
|---|---|---|
| Job created | events.businessCreated | On |
| Job deleted | events.businessDeleted | On |
| Hired | events.hired | On |
| Fired | events.fired | On |
| Promoted or demoted | events.promoted | On |
| Payroll | events.payroll | Off |
| Bonus | events.bonus | On |
| Place added | events.placeAdded | On |
| Place removed | events.placeRemoved | On |
| Settings edited | events.configEdited | On |
A job can also have a Discord webhook of its own, set in its editor under Setup. It gets that job's lines even when the service is None. With Discord as the service, the server's webhook gets them too only when the job's Also send to the server webhook is on. fivemanage always gets them.
Language
English and Spanish ship in locales/. Pick one with a replicated convar, so clients read it too:
setr lation:locale "es"A key a translation lacks reads in English. The locale files ship open, so you can edit the text or add a language.
Theme
While lation ui runs, the panels follow its theme live; without it they use the default look. Themes are made and previewed in lation ui.
Open files
These ship unescrowed, so you can change them:
| File | What it is |
|---|---|
bridge/client.lua, bridge/server.lua | The framework, inventory, appearance and keys calls |
client/utils/interact.lua | The interaction system, with a Custom slot |
client/utils/notify.lua | Notifications, with a Custom slot |
client/utils/peds.lua | How NPCs and objects are spawned |
client/compat.lua, server/compat/*.lua | The boss menu open events it answers, and on ESX the rest of esx_society |
server/utils/perms.lua | Who is an admin |
server/utils/hooks.lua | Server hooks; see hooks |
server/utils/logging.lua | Logging and its first-start defaults |
server/bank/providers.lua | One entry per bank |
server/database/schema.sql, queries.lua, migrations.lua | The tables and every query |
locales/*.json | Every string |
Still stuck? Ask in our Discord: the people who write the scripts answer.
Last updated
Players
How players use lation jobs: the Work panel, clocking on and off, holding several jobs, the job board and applying, offers, leave, notices and forms.
Developers
The lation jobs server and client exports, the events it fires, its server hooks, Script places and custom place types, with signatures and Lua examples.